livego
viper
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.
livego
-
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.
-
Directions / pointers for a server that buffers and rebroadcasts a video stream?
So a good place to begin - I tried googling this but there is a lot of noise in the google results since I am lacking domain keywords, what is it called when / what libraries can I use for receiving video from something like OBS? The one useful result I have so far is livego, my only concern being that everything is handled so I have no control over the delay/buffer. There is 1 github issue about it that was asked and then closed without an answer. I don't see it in the configs either. Also unsure if I would be able to target twitch as the upload target.
-
IP Camera feeds to iOS App
Trust me, I've tried this for work. Most providers force you to use their cloud to access HLS, you can technically run a converter yourself for a hobby project: https://github.com/gwuhaolin/livego
- Livego - Live video streaming server in golang
-
Video streaming in go?
you might take a look into this: https://github.com/gwuhaolin/livego
viper
-
Upload and Delete file from Amazon S3 Bucket in Go using Presigned URLs
Once environment variables are setup we need load them into our project. For this this i will use viper
-
Proxy Server in Go
The code uses Viper to load configuration files in the application.
- API completa em Golang - Parte 2
-
What 3rd-party libraries do you use often/all the time?
github.com/spf13/viper
- API completa em Golang - Parte 1
-
Building RESTful API with Hexagonal Architecture in Go
Instead of directly accessing environment variables with os.Getenv(), integrating a configuration handler like viper might make it maintainable.
-
What is the most common approach to configure a backend app?
I guess most people are using https://github.com/spf13/viper but I don't know if I should read everything from
-
Could I get a code review?
Use Viper for config file or environmental variable configuration -- it's going to save you a whole lot of time.
-
Which packages do you recommend for building cli tools?
Cobra and Viper.
-
Library for Python similar to Go's Viper / 12 Factor
I've mostly been using https://github.com/spf13/viper of late for my go projects. It supports the standard config formats, (json, yaml, toml etc) and lets you override any value with a ENV value.
What are some alternatives?
Pion WebRTC - Pure Go implementation of the WebRTC API
godotenv - A Go port of Ruby's dotenv library (Loads environment variables from .env files)
rtsp-stream - Out of box solution for RTSP - HLS live stream transcoding. Makes RTSP easy to play in browsers.
envconfig - Small library to read your configuration from environment variables
owncast - Take control over your live stream video by running it yourself. Streaming + chat out of the box.
koanf - Simple, extremely lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.
rtsp-simple-server - Also known as 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. [Moved to: https://github.com/aler9/mediamtx]
cleanenv - ✨Clean and minimalistic environment configuration reader for Golang
Node-Media-Server - A Node.js implementation of RTMP/HTTP-FLV/WS-FLV/HLS/DASH/MP4 Media Server
kelseyhightower/envconfig - Golang library for managing configuration data from environment variables
go-gst - Gstreamer bindings and utilities for golang
mapstructure - Go library for decoding generic map values into native Go structures and vice versa.