使用 FFMpeg 交换 MP4 文件的索引

fub*_*ubo 4 video mp4 ffmpeg video-conversion video-encoding

我运行了一个 Web 应用程序,它提供了一些视频。这些视频正在使用 flash-video-player 显示。

不幸的是,这些容器文件的索引位于文件末尾,因此必须加载整个 2GB 视频,直到可以开始播放。

问:FFMpeg 有没有办法将 MP4-Container-index 交换到文件的前面?

Raj*_*jib 7

您想将 moov 原子移到开头。在编码时,您可以使用:

ffmpeg -i inputfile [其他参数] -movflags +faststart outputfile.mp4

如果它们已经被编码,你可以简单地复制流而无需重新编码:

ffmpeg -i input.mp4 -codec copy -map 0 -movflags +faststart output.mp4

您也可以使用 qt-fasstart 工具。这个需要在ffmpeg的tools目录下编译。命令很简单:

qt-faststart inputfile.mp4 outputfile.mp4

有可用的 Windows 二进制文件。