我想将视频文件转换为mp4(无论是ffmpeg还是其他内容都无关紧要),然后将其传输到网络上的设备。我已经知道我需要使用qt-faststart或类似的工具将“moov atom”移动到文件的顶部,这样它就会立即播放,而不是先下载整个文件。但问题是,我需要等到转换完成才能运行qt-faststart。
有没有办法开始将文件转换为mp4,然后在仍在转换时流式传输?
我读了一些有关碎片化mp4文件的内容,但我不太确定这是否是解决我问题的方法(据我所知,碎片化的mp4文件每个片段都有moof框,我可以开始流式传输碎片然后将立即播放)。
另一个想法是,将文件转换成小部分,运行qt-faststart然后流式传输。虽然它是流媒体,但我会转换下一部分,运行qt-faststart并将其直接传输到它后面。但这有可能吗?接收端是否会被我正在流式传输的下一个文件的新标头混淆,而不是正常的视频数据?