ffprobe 需要多少字节?

How many bytes does ffprobe need?

我想用ffprobe查看媒体文件的信息。但是,这些文件不在我的本地磁盘上,我必须从远程存储中读取。我可以读取前 n 个字节,将它们写入临时文件并使用 ffprobe 读取信息。我想知道至少这样 n.

我测试了几个文件,512KB 对我测试的所有文件都有效。但是,我不确定这是否适用于所有媒体文件。

ffprobe(和 ffmpeg)旨在在打开输入时解析两件事:

  1. 输入容器的header
  2. 来自每个流的有效载荷数据,足以确定重要的流参数,例如编解码器属性和帧速率。

header 大小通常与文件中的数据包数量成正比,即一个 3 小时的 MP4 文件比一个 3 分钟的 MP4 文件具有更大的 header。 (如果 header 在文件末尾,那么访问前 512 kB 将无济于事)

ffmpeg 将从每个流中解码数据包,直到其流属性被填充。消耗的字节数将取决于流比特率以及存在的流数。

所以,对“我不确定这是否适用于所有媒体文件”的严格回应是否不会。