Hey Bart,
There shouldn't be anything from our side limiting the the upload, so perhaps it's best to double-check a few things.
One thing of note though: The bytes transferred is not how much is pushed out. It's how much has been pushed into the FFmpeg process. For MistServer the output is the FFmpeg process, whatever FFmpeg then pushes towards the FTP server is not something we can measure, I would after all severely doubt that ~40seconds worth of the settings you're recording in your script would only be 14mb. I'd expect that to be much much higher.
So this is hinting that the FFmpeg process isn't getting stream data from MistServer because either FFmpeg or MistServer ran into an issue.
- Are there any messages from the FTP server in the log? Perhaps it's reporting a rejection or a time-out? That could explain whether ffmpeg stopped as the output is no longer active.
- Using manual pushes will also possibly shine some light on where the issue is.
- You can do this with the following command in a terminal (do note that you need to be the same user as MistController, so root if you're running it as a service):
MistOutEBML -g 6 -s STREAMNAME "mkv-exec:ffmpeg -loglevel quiet -hide_banner -fflags nobuffer -i - -c:v mpeg2video -b:v 50M -minrate 50M -maxrate 50M -bufsize 1M -c:a pcm_s16le -ar 48000 -ac 2 -f mxf ftp://IPADDRESS/output.mxf"
This command would start the same push, but raises the debug level allowing for more information in the terminal. So there's a good chance you'll see something that might explain the sudden stop. If the debug information is too spammy try changing the "-g 6" part to "-g 4". If messages suddenly stop or you're seeing a log of FAIL/Warn messages or something that mentions disconnected (possibly at INFO) that would be something to look out for. When in doubt you can always log all the output towards a log file and pass that along, but note that your FTP server, possibly your server address and stream names that you want to keep private would be in there, so remove any such information before sharing!
(To write it to a log fill add 2> /tmp/mist.log to the end:
MistOutEBML -g 6 -s STREAMNAME "mkv-exec:ffmpeg -loglevel quiet -hide_banner -fflags nobuffer -i - -c:v mpeg2video -b:v 50M -minrate 50M -maxrate 50M -bufsize 1M -c:a pcm_s16le -ar 48000 -ac 2 -f mxf ftp://IPADDRESS/output.mxf" 2> /tmp/mist.log )
You can also see if it's the FFmpeg process giving an error, that would be slightly different syntax:
MistOutEBML -s STREAMNAME - |
ffmpeg -fflags nobuffer -i - -c:v mpeg2video -b:v 50M -minrate 50M -maxrate 50M -bufsize 1M -c:a pcm_s16le -ar 48000 -ac 2 -f mxf ftp://IPADDRESS/output.mxf"This will throw the ffmpeg messages in your terminal as well, so if ffmpeg gives an error you'll be able to see it.
- The last thing to check would be whether you see any changes if you tell ffmpeg to record locally. Simply change the "
ftp://ADDRESS/output.mxf" part to something like "/tmp/test.mxf" and see if that stops around the same mark.
If this works it would hint the problem being between FFmpeg and the FTP server, but somehow not logged by either.
Best,Balder Vietor | Supreme tester