I would like to read a directory of .ts files and stream continuously as files get placed in the directory. Long buffer of 30 seconds is fine. I am comfortable with programming, linux and ffmpeg/gstreamer

I have an issue with live streaming videos in some remote locations. I typically have a good upload speed of 10Mb/s but it is prone to fluctuating/massive latency and random drop out in connection.

This obviously affects live streaming adversely as all platforms assume your internet is perfect and will play back as near live as possible.

I am a software developer so I thought I can do something like HLS m3u8 does already but I handle the container uploads my self.

  • ✅In OBS instead of stream, do a start record using m3u8 output
  • ✅This will create plenty of small container files as I need them, preferably 2 seconds GOP
  • ✅I will write a small console app to upload the local files to remote server in order (this ensures the containers are uploaded pristine without packet loss)
  • ✅The remote server is a high end machine with gigabit connection so I can make it hurt.
  • 🤔On remote server will wait for the first file and wait about 30 seconds to make a buffer/backlog (in my case that delay is well worth the trade off) Or
  • 🤔 Then on remote I want to play / stream this into OBS source? Or maybe send it to SRT/RTMP re-streamer

I have managed to do everything but I am stuck on the last parts.

  • I am not sure what way I can monitor a directory and have the files re-muxed to a continuous output
  • Or can I use VLC/OBS/ffmpeg/gstreamer to do a 30 second buffer before outputting it somewhere.
  • I am comfortable with command lines, programming languages, ffmpeg, linux


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.