使用 FFMpeg 交换 MP4 文件的索引

使用 FFMpeg 交换 MP4 文件的索引

我运行了一个提供一些视频的 Web 应用程序。这些视频通过 Flash 视频播放器播放。

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

问:有没有办法使用 FFMpeg 将 MP4 容器索引交换到文件的前面?

答案1

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

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

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

ffmpeg -i 输入.mp4 -codec copy -map 0 -movflags +faststart 输出.mp4

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

qt-faststart 输入文件.mp4 输出文件.mp4

有可用的 Windows 二进制文件。

相关内容