Pion WebRTC
livekit-server
DISCONTINUED
Our great sponsors
Pion WebRTC | livekit-server | |
---|---|---|
67 | 6 | |
10,663 | 3,260 | |
1.8% | - | |
7.9 | 9.8 | |
2 days ago | 9 months ago | |
Go | Go | |
MIT License | Apache License 2.0 |
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.
Pion WebRTC
-
Faster MySQL with HTTP/3
You can run all your WebRTC traffic off a single port. You use the remote 3 tuple (IP, Port, Protocol) to demux traffic.
https://github.com/pion/webrtc/tree/master/examples/ice-sing... is one example of that.
-
WebTorrent
I originally went the same route as you, and found that https://github.com/pion/webrtc is probably the best package out there for webrtc. I learned go just for it, and it paid off tenfold. Less memory, more connections, lower latency.
-
WebRTC 102: Understanding libWebrtc
The "Mediasoup" project provides a high level JavaScript/TypeScript interface to the WebRTC APIs. The core logic of this project is implemented in C++/Rust. Consider taking a look at the project if you want an easy-to-use library instead of the low-level libWebRTC APIs. A notable project to mention is the Pion/webrtc project which has a Golang implementation of the WebRTC API. Of course, we should mention the rust port WebRTC.rs. Let’s keep all the rustaceans happy too!
-
Ask HN: FFmpeg real-time desktop streaming
What latency are you trying to do? Will the professor being communicating with the students while doing this? Will the students all have the same bandwidth, or will you want multiple renditions (low, med, high quality levels)?
If you want AV1 you will not be able to use RTMP. The protocol is orphaned/deprecated, so avoid if possible!
If I was building it this is what I would do, and my reasoning.
* For capture + encoding I would use OBS. You will want to use something that is easy for users to install configure. Professors will also have lots of custom requirements when it comes to layout etc... it will be tempting to do a ffmpeg command directly, but it will fall apart quick I believe.
* To get AV1 out of OBS I would use FFMPEG output. I would have it send RTP. RTP is used to carry video in a sub-second manner. This is the same protocol that WebRTC uses. You know have AV1 + low latency.
* Then for users to watch I would use WebRTC. That will allow them to watch in their web browser. Conceptually it will be like this https://github.com/pion/webrtc/tree/master/examples/rtp-to-w... this takes the RTP packets and puts them in the browser.
Lots of great projects exist that you could use for 'RTP -> WebRTC' like https://galene.org/ and https://livekit.io/ I would suggest checking them all out!
If you have more questions/want to talk to people in the video space always happy to chat on https://pion.ly/slack :)
-
Building my first go project, looking for package/resource suggestions
For streaming video content your options would be HLS or WebRTC, maybe look into these gwuhaolin/livego and pion/webrtc.
-
WebRTC Tutorials: 36 Essential Learning Resources
WebRTC GitHub Forum --- Use your GitHub account to join WebRTC-related forums or start a discussion of your own.
-
Using WebTransport
Do you still see challenges with doing WebRTC on a server? I work on https://github.com/pion/webrtc so would love to hear what could be better :)
-
Announcing webrtc 0.5.0
We've just released version 0.5.0 of the webrtccrate. This crate is a port of a Go project called Pion. It's a complete implementation of WebRTC in Rust, allowing you to build backends for media applications.
- Golang updating the front-end with almost real-time events from the backend server
- Golang open-source contribution
livekit-server
- Looking for a program where I can livestream / share my screen in close to real time (like discord)
-
livekit-server VS livekit - a user suggested alternative
2 projects | 27 May 2022
-
What is the best WEBRTC for a rapid deploy
Check out livekit, have been working with it for 2 months and you can quite easily set up things. Really promising project: https://docs.livekit.io
-
free code to embed zoom-level quality video/audio in any app
Check out our docs on how the platform can support multiple (separate) rooms with 100s of members. We know how important good documentation is, so if there's any gaps you see lemme know and we will add to it asap!!
I joined an OS project called LiveKit (GH repo), a Go-based infrastructure intended to make it easy to embed real-time audio and video communications directly in any app. The world is growing increasingly remote and connected online (esp with COVID), & realtime audio and video is becoming the cornerstone of how we connect and communicate with others around the world.
What are some alternatives?
mediasoup - Cutting Edge WebRTC Video Conferencing
janus-gateway - Janus WebRTC Server
aiortc - WebRTC and ORTC implementation for Python using asyncio
openvidu - OpenVidu Platform main repository
ion-sfu - Pure Go WebRTC SFU
v4l - Facade to the Video4Linux video capture interface.
libdatachannel - C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets
go-m3u8 - Parse and generate m3u8 playlists for Apple HTTP Live Streaming (HLS) in Golang (ported from gem https://github.com/sethdeckard/m3u8)
rtsp-simple-server - ready-to-use RTSP / RTMP / LL-HLS / WebRTC server and proxy that allows to read, publish and proxy video and audio streams
gst - Go bindings for GStreamer (retired: currently I don't use/develop this package)
turn - Pion TURN, an API for building TURN clients and servers
ion - Real-Distributed RTC System by pure Go and Flutter