【问题标题】:How many bytes does ffprobe need?ffprobe 需要多少字节?
【发布时间】:2022-01-14 03:05:35
【问题描述】:

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

我测试了几个文件,512KB 可以处理我测试的所有文件。但是,我不确定这是否适用于所有媒体文件。

【问题讨论】:

    标签: ffprobe


    【解决方案1】:

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

    1. 输入容器的标题
    2. 从每个流中加载数据,足以确定显着的流参数,例如编解码器属性和帧速率。

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

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

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

    【讨论】:

    • 这是否意味着我们无法确定多少字节足够但 ffprobe 知道并在它读取足够多时停止(这样如果通过 http 读取,它可能会在下载所有内容之前关闭连接)?
    • 是的,出于探测目的,它的读数刚好足以进行评估,或者直到它达到分析时间或探测大小限制。
    猜你喜欢
    • 2019-05-04
    • 1970-01-01
    • 2011-01-27
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    相关资源
    最近更新 更多