rtctunnel
aiortc
rtctunnel | aiortc | |
---|---|---|
2 | 19 | |
428 | 3,907 | |
0.9% | 1.2% | |
8.5 | 7.3 | |
7 days ago | about 1 month ago | |
Go | Python | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rtctunnel
-
Show HN: Web-P2P-tunnel, WebRTC+ServiceWorker HTTP tunnel to localhost
Hey HN, web-p2p-tunnel is a hobby project I built over the past month.
It enables you to expose a local web server to devices on different networks. Nothing to install on the consuming devices - just a web browser. And no server in the middle. It uses a Service Worker to intercept HTTP requests and WebRTC to tunnel requests/responses directly between consuming devices and the device running the local web server.
To use: install the web-p2p-tunnel CLI program which receives requests, reverse proxies them, and tunnels responses. See the README for details. The website is deployed using Github Pages at https://tunnel.andrewt.io/. Additionally, a signaling server is deployed at https://signal.andrewt.io/.
I've tested on a number of OSs and browsers and with simple static web sites and more complicated apps. A lot of it just works, but there are kinks and edge cases and almost certainly bugs. Let me know :) Currently, there are no TURN servers configured, so connections may fail under certain network conditions.
Motivation: I built some media features using WebRTC at my last job. It's a bit of a pain to use, but it's a powerful technology. On the media side of things, however, P2P quickly turns into more of a client-server situation w/ something like an SFU for common use cases. From my understanding, WebTransport might become the better technology for this use case. This got me thinking about use cases that would specifically benefit from the P2P aspect of WebRTC, which led me here. I was inspired in part by this project: https://github.com/rtctunnel/rtctunnel.
Excited to share the project - I think it could be a useful dev tool. Feedback appreciated!
-
WebRTC ➕ Build Yet another Chatting app💭 but P2P/E2EE🤯.!!
LiveShare type application from VScode
aiortc
- VoRS: Vo(IP) Simple Alternative to Mumble
-
Pure C WebRTC
I am really excited about https://github.com/sepfy/libpeer. It has examples ready for ESP32 etc....
When working on KVS I wasn't familiar with the embedded space at all. I saw 'heavyweight' embedded where you were running on Linux. Then you had RTOS/No OS at all. I wasn't prepared for these devices at all. If we can make WebRTC work in the embedded space I think it will really accelerate what developers are able to build!
Remotely driven cars, security cameras, robots in hospitals that bring iPads to infectious patients etc... Creative people are building amazing things. The WebRTC/video space needs to work harder and support them :)
-----
I love how diverse the WebRTC space is now. Outside of this implementation you have plenty of other options!
* https://github.com/shinyoshiaki/werift-webrtc (Typescript)
* https://github.com/pion/webrtc (Golang)
* https://github.com/webrtc-rs/webrtc (Rust)
* https://github.com/algesten/str0m (Rust)
* hhttps://github.com/sepfy/libpeer (C/Embedded)
* https://webrtc.googlesource.com/src/ (C++)
* https://github.com/sipsorcery-org/sipsorcery (C#)
* https://github.com/paullouisageneau/libdatachannel (C++)
* https://github.com/elixir-webrtc (Elixir)
* https://github.com/aiortc/aiortc (Python)
* GStreamer’s webrtcbin (C)
See https://github.com/sipsorcery/webrtc-echoes for examples of some running against each other.
- WebRTC for the Curious
-
Building WebRTC server implementation for Erlang
This is not true, there are actually multiple WebRTC implementations in different languages besides the reference library: aiortc (python), libdatachannel (C++), sipsorcery (C#),webrtc-rs (rust), werift (Typescript), and Amazon Kinesis (C)
-
how do i build a webapp to process user video from their webcam.
Not sure flask would work but I think https://github.com/aiortc/aiortc has an example just like what you are trying.
-
How to connect a JS webpage to a python server using WebRTC?
Context: I was making a snapchat-like filter application on webcam footage. In order to create those overlays, i used some python's opencv and dlib to locate the face and apply the overlay. As far as i know, websockets are not good for video transfer since sockets are slower so someone suggested me to use "WebRTC". So I decided to settle on this https://github.com/aiortc/aiortc python based webrtc to use my python code at the backend and use a JS front end to send the video and received the filtered image
- Running a ML model on real-time video coming from the client side.
-
[Question] OpenCV and aiortc on a Raspberry Pi 4
So it seems like https://github.com/aiortc/aiortc is the obvious answer here, but I just can't seem to grok the documentation. I have run the examples successfully, but can't quite seem to tailor them to my use-case.
-
How in the world there is no webrtc module for python?
I'm not sure how you weren't able to find this: aiortc
-
How to deploy OpenCV video feed cam with my Django application?
You can't use Django for that, RTC is a separate protocol from HTTP. Check out https://github.com/aiortc/aiortc for a Python-based RTC stack. You write code in there which does the data processing and calls HTTP APIs or something on the Django side.
What are some alternatives?
webrtc - A pure Rust implementation of WebRTC
Pion WebRTC - Pure Go implementation of the WebRTC API
werift-webrtc - WebRTC Implementation for TypeScript (Node.js), includes ICE/DTLS/SCTP/RTP/SRTP/WEBM/MP4
libdatachannel - C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets
netbird - Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls.
amazon-kinesis-video-streams-webrtc-sdk-c - Amazon Kinesis Video Streams Webrtc SDK is for developers to install and customize realtime communication between devices and enable secure streaming of video, audio to Kinesis Video Streams.
janus-gateway - Janus WebRTC Server
webtty - Share a terminal session over WebRTC
Neko - A self hosted virtual browser (rabb.it clone) that runs in docker.
simple-peer - 📡 Simple WebRTC video, voice, and data channels