The one thing I've always wanted from nginx-rtmp was the ability to pull from a source input instead of running a separate process with ffmpeg to push the stream over. If they could get that working my life would become less complicated quickly.
yeah I use nginx-rtmp for local video capturing (basically the functionality of a mirror) and the lag that needing to re-encode + chunk + starting off at the beginning of the chunks in the playlist introduces is meh. I think I'm going to transition my project over to WebRTC though, since the mobile device I'm using to display the video can handle that now.
The scalability of DASH/HLS comes from the fact that the video segments are just static files sitting on a http server so they can be cached and distributed with the many techniques for serving static files over http.
If you don't need the scalability of DASH/HLS you can use the WebRTC apis for low latency streaming, usually <1s. WebRTC can be used for client-server applications just as easily as peer-to-peer using a gateway like Janus[1].
Abusing WebRTC can be a viable option in latency-critical applications, but it brings a bunch of other concerns with it (browser support, no way to leverage a CDN, etc).
The setup seems rather similar to https://github.com/arut/nginx-rtmp-module which I've used in the past.
Perhaps they've bundled it with Nginx Plus without crediting the original authors? The project has a bit too permissive license for my taste.
Streamers typically use something like [1] OBS, or [2] FMLE to stream their desktop or webcam to an RTMP ingest server like Twitch, Youtube, Streamup, Streamboat.tv, etc. Can even just use ffmpeg.
I had the same wonder and through some digging found videojs-contrib-dash[1] which uses dash.js, referenced on the bitmovin site[2]. I'm going to give this a go and see what does and doesn't work.
video.js with the HLS plugin is fine if you don't need dash (there may be flash) but obviously that's very bare bones. It seems like there's things like ad support among other features you get with the suggested player.
ffmpeg can do that fairly easily. To adjust the command in the example, you need to to take the srt file and pass it as a second -i input file. There's some helpful guides on how to do that if you search around.
[+] [-] vhiremath4|9 years ago|reply
Uhuh. Suuuure. :p
[+] [-] bcryptd|9 years ago|reply
[+] [-] bcryptd|9 years ago|reply
[+] [-] jc4p|9 years ago|reply
[+] [-] nickysielicki|9 years ago|reply
Could you elaborate on this? I don't understand what you mean by 'push' and 'pull' in this context.
[+] [-] alexcroox|9 years ago|reply
[+] [-] dmm|9 years ago|reply
If you don't need the scalability of DASH/HLS you can use the WebRTC apis for low latency streaming, usually <1s. WebRTC can be used for client-server applications just as easily as peer-to-peer using a gateway like Janus[1].
[1] https://janus.conf.meetecho.com/
[+] [-] bcryptd|9 years ago|reply
http://www.gpac-licensing.com/2014/07/09/lowering-dash-live-...
[+] [-] benwilber0|9 years ago|reply
[+] [-] wrigby|9 years ago|reply
[+] [-] aleksanb|9 years ago|reply
[+] [-] benwilber0|9 years ago|reply
https://www.youtube.com/watch?v=1boJWioxsWc
[+] [-] rch|9 years ago|reply
[+] [-] schellkenig|9 years ago|reply
[+] [-] callmeed|9 years ago|reply
How do I create an RTMP stream in the first place?
What camera can/should I use? Can I use webcam? Is there an iOS app that can do it?
What hardware/software is needed to create this RTMP stream that I'll be pushing to nginx?
[+] [-] benwilber0|9 years ago|reply
[1] https://obsproject.com/
[2] http://www.adobe.com/products/flash-media-encoder.html
[+] [-] dylz|9 years ago|reply
[+] [-] nickysielicki|9 years ago|reply
[+] [-] corobo|9 years ago|reply
[1] https://github.com/videojs/videojs-contrib-dash
[2] https://bitmovin.com/mpeg-dash-open-source-player-tools/
[+] [-] hayksaakian|9 years ago|reply
[+] [-] jordanbaucke|9 years ago|reply
[+] [-] NEDM64|9 years ago|reply
For example, I want to mux a subtitle stream, with the real time clock in it, into a video stream.
[+] [-] kalimoxto|9 years ago|reply
e.g. https://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/s...
[+] [-] mountaineer22|9 years ago|reply
[+] [-] bcryptd|9 years ago|reply
[+] [-] benwilber0|9 years ago|reply
[+] [-] unknown|9 years ago|reply
[deleted]
[+] [-] kasparsklavins|9 years ago|reply
[+] [-] slederer|9 years ago|reply
[+] [-] corobo|9 years ago|reply
[+] [-] jacquesm|9 years ago|reply
[+] [-] newman314|9 years ago|reply
[+] [-] unknown|9 years ago|reply
[deleted]
[+] [-] unknown|9 years ago|reply
[deleted]
[+] [-] smashthesystems|9 years ago|reply
[deleted]
[+] [-] excalibur|9 years ago|reply
http://www.coderag.com/hooli-lays-off-hundreds-of-employees-...