使用 FFMPEG 将 -movflags +faststart 添加到 MP4 的最快方法,其他所有内容保持原样
Posted
技术标签:
【中文标题】使用 FFMPEG 将 -movflags +faststart 添加到 MP4 的最快方法,其他所有内容保持原样【英文标题】:Fastest way to add -movflags +faststart to an MP4 using FFMPEG, leaving everything else as-is 【发布时间】:2018-11-27 14:19:33 【问题描述】:我想将-movflags +faststart
添加到 mp4 文件中。基本上这就是我想做的,没有其他的应该改变。我正在使用 ffmpeg。
最快的方法是什么?我必须重新编码整个视频吗?还是有更好/更简单的方法?
【问题讨论】:
【参考方案1】:就这么简单:
ffmpeg -i in.mp4 -c copy -map 0 -movflags +faststart out.mp4
或者如果你可以从源代码编译 FFmpeg,在 tools/ 目录下制作工具 qt-faststart 并运行它:
qt-faststart in.mp4 out.mp4
您还可以使用 mp4box,它可以让您通过以下命令将 MOOV atom 移动到开头:
mp4box -inter 0 in.mp4 -out out.mp4
或者,如果您想完全optimize for streaming by also interleaving the audio/video data 以便可以轻松地实时流式传输文件:
mp4box -inter 500 in.mp4 -out out.mp4
【讨论】:
您可能还想添加-map_metadata 0
以保留任何元数据
有没有办法用 ffmpeg 而不是 mp4box 来“完全优化”?我将使用 ffmpeg 进行转码,所以最好不要运行单独的命令。
@Gyan 对不起,我的意思是还有一种方法可以像使用 mp4box 一样与 ffmpeg 进行 交错。或者,你是说faststart
会交错结果吗?在 Google 上找不到任何内容
ffmpeg 中的 MP4 复用器不支持自定义交错增量。 faststart 仅与元数据的放置位置有关。
@Gyan 现在才看到您的回复。非常感谢。以上是关于使用 FFMPEG 将 -movflags +faststart 添加到 MP4 的最快方法,其他所有内容保持原样的主要内容,如果未能解决你的问题,请参考以下文章
psych - 将因子加载作为数据.frame 用于 LaTeX 导出