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