Docker image with Nginx using the nginx-rtmp-module module for live multimedia (video) streaming.
by tiangoloLast 12 weeks · 2 commits
2 of 6 standards met
Privileged issue [x] I'm @tiangolo or he asked me directly to create an issue here. Issue Content To be able to consider changes for this repo, it would need some tests that run on CI to verify everything keeps working. Setting up testing is probably not very straightforward, as it needs to deal with video streams. When I created this repo, I tested/confirmed manually with OBS streaming and VLC reading and playing the stream. But that is not automated, and as I am not actively using the image, it's not easy to run manual tests for each possible change proposal. I imagine tests could involve commands, maybe pytest and Python to ensure some things, or maybe plain bash could work. But it would need confirming that a source can stream the RTMP video, this image transmits it, and it can be read again.
Repository: tiangolo/nginx-rtmp-docker. Description: Docker image with Nginx using the nginx-rtmp-module module for live multimedia (video) streaming. Stars: 1333, Forks: 385. Primary language: Dockerfile. Languages: Dockerfile (100%). License: MIT. Topics: docker, docker-image, dockerfile, live-multimedia, multimedia, nginx, nginx-rtmp, obs-studio, rtmp, server, stream, video, vlc. Latest release: 0.0.1 (1y ago). Open PRs: 3, open issues: 1. Last activity: 20h ago. Community health: 57%. Top contributors: tiangolo, dependabot[bot], github-actions[bot], alejsdev, agconti, Irishsmurf, milesegan, Nathanael-Mtd, louis70109, nicklaw5 and others.
Dockerfile
Also add some commented examples of some interesting RTMP config options. Adding HLS serving for example is useful for LG WebOS TV's, which don't support RTMP natively, but do support HLS, by browsing to the m3u8 location. With this setup, one can stream to the TV, though with some 20-25 seconds of delay (as at least that much data is buffered in the HLS playlist.. allegedly there are settings to change the stream type to event, which might result in the client following more the latest chunk, but I couldn't get that to work).
👷 Upgrade GitHub Action and pin Ref: https://github.com/actions/checkout/issues/2313