Go Streaming

Open-source Go projects categorized as Streaming

Top 23 Go Streaming Projects

  • Pion WebRTC

    Pure Go implementation of the WebRTC API

  • Project mention: VoRS: Vo(IP) Simple Alternative to Mumble | news.ycombinator.com | 2024-04-19
  • 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.

  • Project mention: Bad audio quality when re-encoding RTSP stream from AAC to Opus in MediaMTX | /r/ffmpeg | 2023-12-09

    I started a discussion on the MediaMTX Github repo, where you can find more information on my problem: https://github.com/bluenviron/mediamtx/discussions/2787

  • 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.

    InfluxDB logo
  • Centrifugo

    Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.

  • Project mention: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20

    Hello, 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.

  • torrent

    Full-featured BitTorrent client package and utilities

  • Project mention: BTFS (BitTorrent Filesystem) | news.ycombinator.com | 2024-04-15

    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.

  • Jocko

    Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native)

  • RxGo

    Reactive Extensions for the Go language.

  • Project mention: RxGo: Reactive Extensions for the Go Language | news.ycombinator.com | 2023-08-19
  • archiver

    Easily create & extract archives, and compress & decompress files of various formats

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • go2rtc

    Ultimate camera streaming application with support RTSP, RTMP, HTTP-FLV, WebRTC, MSE, HLS, MP4, MJPEG, HomeKit, FFmpeg, etc.

  • Project mention: 2/16/24 Wyze Security Incident Update | news.ycombinator.com | 2024-02-19

    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.

  • liftbridge

    Lightweight, fault-tolerant message streams.

  • matrixone

    Hyperconverged cloud-edge native database

  • Project mention: Push or Pull, is this a question? | dev.to | 2023-08-09

    Source code:matrixorigin/matrixone: Hyperconverged cloud-edge native database (github.com)

  • saw

    Fast, multi-purpose tool for AWS CloudWatch Logs

  • Project mention: Lambda recursive loop detection - but not (yet) for S3 | dev.to | 2023-07-17

    We use saw to tail lambda log:

  • dicom

    ⚡High Performance DICOM Medical Image Parser in Go.

  • csvutil

    csvutil provides fast and idiomatic mapping between CSV and Go (golang) values.

  • tigris

    Tigris is an Open Source Serverless NoSQL Database and Search Platform.

  • Project mention: 17 Best Developer Productivity Tools to Try | dev.to | 2024-05-10

    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.

  • MovieNight

    Single instance video streaming server with integrated chat.

  • omniparser

    omniparser: a native Golang ETL streaming parser and transform library for CSV, JSON, XML, EDI, text, etc.

  • stun

    A Go implementation of STUN (by pion)

  • euterpe

    Self-hosted music streaming server 🎶 with RESTful API and Web interface. Think of it as your very own Spotify! ☁️🎧

  • mediadevices

    Go implementation of the MediaDevices API.

  • frpc-go

    fRPC-go is a lightweight, fast, and secure RPC framework implemented for Go that uses Frisbee under the hood

  • Project mention: ram-dl - A tool to download more RAM written in Go | /r/golang | 2023-06-30
  • 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)

  • rtp

    A Go implementation of RTP

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Go Streaming related posts

  • Bad audio quality when re-encoding RTSP stream from AAC to Opus in MediaMTX

    1 project | /r/ffmpeg | 9 Dec 2023
  • Lambda recursive loop detection - but not (yet) for S3

    1 project | dev.to | 17 Jul 2023
  • 7 eufy indoor cam 2k, continuous recording and RTPS

    1 project | /r/EufyCam | 16 Apr 2023
  • 0x0: Share Files from Terminal

    9 projects | news.ycombinator.com | 8 Apr 2023
  • Trying to use Frigate with eufy battery cameras (RTSP stream not always available)

    1 project | /r/selfhosted | 5 Apr 2023
  • Postgres: The Graph Database You Didn't Know You Had

    8 projects | news.ycombinator.com | 31 Mar 2023
  • Guide: how to stream from OBS -> Plex Live TV

    2 projects | /r/PleX | 28 Mar 2023
  • A note from our sponsor - SaaSHub
    www.saashub.com | 28 May 2024
    SaaSHub helps you find the best software and product alternatives Learn more →


What are some of the best open-source Streaming projects in Go? This list will help you:

Project Stars
1 Pion WebRTC 12,849
2 mediamtx 10,302
3 Centrifugo 7,982
4 torrent 5,342
5 Jocko 4,885
6 RxGo 4,871
7 archiver 4,249
8 go2rtc 3,446
9 liftbridge 2,542
10 matrixone 1,686
11 saw 1,387
12 dicom 913
13 csvutil 895
14 tigris 887
15 MovieNight 663
16 omniparser 642
17 stun 578
18 euterpe 515
19 mediadevices 513
20 frpc-go 430
21 ganymede 378
22 machine 358
23 rtp 330

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives