SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Go Streaming Projects
-
mediamtx
Ready-to-use SRT / WebRTC / RTSP / RTMP / LL-HLS media server and media proxy that allows to read, publish, proxy, record and playback video and audio streams.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
-
Jocko
Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
go2rtc
Ultimate camera streaming application with support RTSP, RTMP, HTTP-FLV, WebRTC, MSE, HLS, MP4, MJPEG, HomeKit, FFmpeg, etc.
-
omniparser
omniparser: a native Golang ETL streaming parser and transform library for CSV, JSON, XML, EDI, text, etc.
-
euterpe
Self-hosted music streaming server 🎶 with RESTful API and Web interface. Think of it as your very own Spotify! ☁️🎧
-
frpc-go
fRPC-go is a lightweight, fast, and secure RPC framework implemented for Go that uses Frisbee under the hood
-
ganymede
Twitch VOD and Live Stream archiving platform. Includes a rendered and real-time chat for each archive.
-
machine
Machine is a zero dependency library for highly concurrent Go applications. It is inspired by errgroup.Group with extra bells & whistles (by autom8ter)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Bad audio quality when re-encoding RTSP stream from AAC to Opus in MediaMTX | /r/ffmpeg | 2023-12-09I started a discussion on the MediaMTX Github repo, where you can find more information on my problem: https://github.com/bluenviron/mediamtx/discussions/2787
Project mention: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20Hello, I am author of https://github.com/centrifugal/centrifugo. Our users can choose from WebSocket, EventSource, WebTransport (experimental stabilize in the future). WebRTC is out of scope as the main purpose is central server based real-time json/binary messaging, and WebRTC makes things much more complex since it shines for peer-to-peer and rich media communications.
What I'd like to add is that Centrifugo also supports HTTP-streaming – not mentioned by the OP – but this is a transport which has advantages over Eventsource - like possibility to send POST body on initial request from web browser (with SSE you can not), it supports binary, and with Readable Streams browser API it's widely supported by modern browsers.
Another thing I'd like to mention about Centrifugo - it supports bidirectional WebSocket fallbacks with EventSource and HTTP-streaming, and does this without sticky sessions requirement. I guess nobody else have this at this point. See https://centrifugal.dev/blog/2022/07/19/centrifugo-v4-releas.... Which solves one more practical concern. Sticky sessions is an optimization in Centrifugo case, not a requirement.
If you are interested in topic, we also have a post about WebSocket scalability - https://centrifugal.dev/blog/2020/11/12/scaling-websocket - it covers some design decisions made in Centrifugo.
https://github.com/anacrolix/torrent has a fuse driver since 2013. I'm in the early stages of removing it. There are WebDAV, 3rd party FUSE, and HTTP wrappers of the client all doing similar things: serving magnet links, infohashes, and torrent files like an immutable filesystem. BitTorrent v2 support is currently in master.
Not my project but I have had great success with https://github.com/gtxaspec/wz_mini_hacks & V3 model.
The V3 models need to be downgraded to a specific firmware first and patching it exposes RSTP streams using https://github.com/AlexxIT/go2rtc. Everything doable without ever installing Wyze app on an environment air gapped environment with no internet.
Source code:matrixorigin/matrixone: Hyperconverged cloud-edge native database (github.com)
We use saw to tail lambda log:
Tigris is a globally distributed S3-compatible object storage service that stores data as objects within buckets. An object is a file and any metadata that describes the file. A bucket is a container for objects.
Go Streaming related posts
-
Bad audio quality when re-encoding RTSP stream from AAC to Opus in MediaMTX
-
Lambda recursive loop detection - but not (yet) for S3
-
7 eufy indoor cam 2k, continuous recording and RTPS
-
0x0: Share Files from Terminal
-
Trying to use Frigate with eufy battery cameras (RTSP stream not always available)
-
Postgres: The Graph Database You Didn't Know You Had
-
Guide: how to stream from OBS -> Plex Live TV
-
A note from our sponsor - SaaSHub
www.saashub.com | 17 May 2024
Index
What are some of the best open-source Streaming projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | Pion WebRTC | 12,775 |
2 | mediamtx | 10,167 |
3 | Centrifugo | 7,966 |
4 | torrent | 5,332 |
5 | Jocko | 4,885 |
6 | RxGo | 4,866 |
7 | archiver | 4,244 |
8 | go2rtc | 3,335 |
9 | liftbridge | 2,538 |
10 | matrixone | 1,683 |
11 | saw | 1,387 |
12 | dicom | 906 |
13 | csvutil | 894 |
14 | tigris | 887 |
15 | MovieNight | 661 |
16 | omniparser | 640 |
17 | stun | 571 |
18 | euterpe | 515 |
19 | mediadevices | 510 |
20 | frpc-go | 427 |
21 | ganymede | 373 |
22 | machine | 358 |
23 | rtp | 327 |
Sponsored