当将mpegts通过管道传输给ffmpeg时,希望将其转换为mp4并传输到stdout。但是,ffmpeg会显示:“复用器不支持不可寻址的输出”。
经过大量的研究,我得出结论:由于寻址能力的限制,mp4不适合进行实时转码。所以本质上来说:MP4无法通过ffmpeg进行传输,这有点说得通。
但是,我没有一个连续的mpegts流,我只有5秒钟的块。
- 这是我的一个1 mb *.ts文件
- 请从管道中读取直到EOF
- 如果你真的需要寻址,请使用缓冲区将其转换为mp4
- 将完整的内部mp4缓冲区传输到stdout
我需要这些mp4块用于HTML5 MediaSource,分段不是问题,我使用mp4box.js,效果非常好。
问题:
- FFMPEG能够执行这种内部缓冲吗?
- 是否有更好的选择可供考虑?
本质上来说:我是否可以(以某种方式)与ffmpeg交互而不使用文件? 我当前的解决方案需要使用文件和轮询新块,非常丑陋。
如果您对我的ffmpeg命令感兴趣,请让我知道。