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

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

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

  • Project mention: Kafka alternatives | /r/apachekafka | 2023-05-22
  • 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: How to use fly.io and Tigris to deploy a Next.js app | dev.to | 2024-04-02

    You can learn more about fly.io and tigris, we will need to create an account on both platforms for this project regardless. Anyway with the theory out of the way let's get started in the next section as we create our accounts and start building the app.

  • 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). The latest post mention was on 2024-04-19.

Go Streaming related posts

Index

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

Project Stars
1 Pion WebRTC 12,633
2 mediamtx 9,856
3 Centrifugo 7,888
4 torrent 5,307
5 Jocko 4,878
6 RxGo 4,852
7 archiver 4,228
8 go2rtc 3,185
9 liftbridge 2,532
10 matrixone 1,665
11 saw 1,387
12 dicom 895
13 csvutil 885
14 tigris 885
15 MovieNight 658
16 omniparser 626
17 stun 558
18 euterpe 515
19 mediadevices 504
20 frpc-go 426
21 ganymede 362
22 machine 358
23 rtp 325
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com