DescriptionWhere the input is a FIFO it's obviously only possible for one process to retrieve data.
As the ABR functionality fires multiple ffmpeg processes, it obviously won't work with a FIFO.
Will need to implement a wrapper to read from the FIFO and make it available to the processes. At a very, very basic level, simply _cat_ting to a temp file may be sufficient (if a bit hacky).
Activity
2015-06-16 03:40:23
Something along the lines of
I don't like it as a long-term solution, but it should work (once the crappy pseudo-code has been fixed).
2015-06-16 16:50:59
It has the positive benefit of ensuring that all bitrates read from the source at the same speed, so the bitrate specific manifests stay more or less in sync. This does also mean that the encode is capped to the speed of the slowest encode.
Video performance seems OK based on a few quick tests, but it needs more testing to be sure
2015-06-16 16:51:16
Webhook User-Agent
View Commit
2015-06-16 17:23:30
It might be a player thing, but when testing with VLC it's starting part way through the playlist - roughly at the same point the encode is up to (though the manifest contains segments for the entire stream).
Looking at a packet capture, VLC retrieves each of the manifests (strangely by requesting range:0-, resulting in a 206). The full manifest is returned, but VLC then requests a segment 5 segments from the end.
I think it's actually the player being smart - each time it requested the manifest the Last-Modified date has changed (because the encode was still running) so the player appears to have decided it's a live stream.
Now the encode has finished, the player starts from the beginning of the manifest.
Slightly unexpected, but doesn't seem to be an issue with the encoding process
2019-11-23 12:09:19
2019-11-23 12:09:19