检测"faststart"是否已应用于视频

Wil*_*rth 6 video ffmpeg

在MP4上运行"qt-faststart"时,您实际上是从后面获取元数据并将其放在文件的前面.在我的情况下,因此Flash可以在完全加载之前正确地开始播放视频.

我有大量的视频,我通过shell脚本运行,以便在一夜之间进行编码.但是,当我上传时,我不一定知道我的最终视频文件夹(在服务器上)上运行了"qt-faststart".

我的目标是找到落后的视频并手动对它们运行qt-faststart,但我需要一种编译列表的方法.有没有办法用PHP或其他东西检查这个元数据信息?想知道如何判断视频是否已经运行了qt-faststart.

use*_*275 8

mediainfo -f file.mp4 | grep IsStreamable
Run Code Online (Sandbox Code Playgroud)

要么

ffprobe  -v debug file.mp4  2>&1 | grep seeks 
Run Code Online (Sandbox Code Playgroud)

  • 对于 ffprobe 命令,我们在输出中具体寻找什么?我们如何知道快速启动是否启用? (2认同)
  • @jsherk“0eeks”==“faststart”,如果您必须查找文件末尾才能获取索引,则如果流不可查找,则必须读取整个文件,这与仅读取索引相比会很慢(通常<<1% 的数据) (2认同)

Nat*_*ead 5

不止一次运行qt-faststart不会造成任何伤害,第二次将是无操作.所以最简单的解决方案是始终运行qt-faststart.

为了更精确的控制,我会使用qt-faststart的Python翻译:https://github.com/danielgtaylor/qtfaststart

它具有检查MP4文件中的原子的功能,使用它们来确定它们是否需要重新排序应该不会太难.