ffprobe文档

英文原文链接:https://ffmpeg.org/ffprobe.html

结合机翻,不保证准确性

文章目录

  • [1 用法](#1 用法)
  • [2 说明](#2 说明)
  • [3 选项](#3 选项)
    • [3.1 流说明符](#3.1 流说明符)

1 用法

bash 复制代码
ffprobe [options] input_url

2 说明

ffprobe从多媒体流从收集信息,然后以人类可读或机器可读的格式输出。

例如ffprobe可以用于检查多媒体流使用的容器的格式以及其中每个媒体流的格式与类型。

如果指定了输入文件路径,ffprobe会尝试打开指定文件,并解析其内容。如果路径不能被打开或识别为多媒体文件,ffprobe会返回一个正值的退出码。

如果没有用指定输出,ffprobe会写到标准输出。

ffprobe既可以用作独立的应用程序,也可以与文本过滤器结合使用,后者可以执行更复杂的处理,例如统计处理或绘图。

[options]用于列出ffprobe支持的一些格式,或指定要显示的信息,以及设置ffprobe显示信息的方式。

ffprobe输出被设计可以通过文本过滤器轻松解析,并且由output_format选项指定的输出格式定义的表单的一个或多个部分组成。

部分可以包含其他嵌套的部分,并且由名称(可以由其他部分共享)和唯一名称标识。请参见各部分的输出。

存储在容器或流中的元数据标签被识别并打印在相应的"FORMAT"、"STREAM"、"STREAM_GROUP_STREAM"或"DATA_STREAM"部分中。

3 选项

所有数值选项,如果没有另外指定,则接受表示数字的字符串作为输入,该字符串可以后跟SI单位前缀之一,例如:'K','M'或'G'。

如果"i"被附加到SI单位前缀,则完整的前缀将被解释为基于1024的幂而不是1000的幂的二进制倍数的单位前缀。将"B"插入SI单位前缀将值乘以8。这允许使用例如:'KB','MiB','G'和'B'作为数字后缀。

不带参数的选项是布尔选项,并将相应的值设置为true。可以通过在选项名称前加上"no"来将它们设置为false。例如,使用"-nofoo"会将名为"foo"的布尔选项设置为false。

接受参数的选项支持一种特殊的语法,在这种语法中,命令行给出的参数被解释为加载实际参数值的文件的路径。要使用此功能,请在选项名称前(前导破折号后)添加正斜杠"/"。例如

bash 复制代码
ffmpeg -i INPUT -/filter:v filter.script OUTPUT

将从名为filter.script的文件中加载过滤器图描述。

3.1 流说明符

某些选项是按每个流使用的,例如比特率或编解码器。流说明符用于精确指定给定选项属于哪个流。

流说明符是一个字符串,通常附加在选项名之后,并用冒号与选项名分隔。例如,-codec:a:1 ac3包含a:1流说明符,它与第二个音频流匹配。因此,它将为第二音频流采用ac3编解码器。

一个流说明符可以匹配多个流,以便选项可以批量应用。例如,流说明符-b:a 128k匹配所有音频流。

空流说明符匹配所有流。例如,-codec copy-codec: copy将复制所有流而不重新编码。

流说明符的可能形式有:

  • stream_index
    将流与此索引匹配。例如,-threads:1 4会将第二个流的线程数设置为4。如果stream_index被用作一个额外的流指定符(见下文),那么它会从匹配的流中选择流编号为stream_index的流。流编号基于libavformat检测到的流顺序,除非还指定了流组说明符或程序ID。在这种情况下,它基于组或程序中的流的排序。
  • stream_type[:additional_stream_specifier]
    stream_type是以下类型之一:'v'或'V'表示视频,'a'表示音频,'s'表示字幕,'d'表示数据,'t'表示附件。'v'匹配所有视频流,'V'只匹配不是附加图片、视频缩略图或封面艺术的视频流。如果使用了additional_stream_specifier,则它匹配具有此类型并匹配additional_stream_specifier的流。否则,它将匹配指定类型的所有流。
  • g:group_specifier[:additional_stream_specifier]
    匹配group_specifier组中的流。如果使用了additional_stream_specifier,则它匹配都是该组的一部分并且与additional_stream_specifier匹配的流。group_specifier可以是以下之一:
    • group_index
      将流与此组索引匹配。
    • #group_id or i:group_id
      将流与此组ID匹配。
  • p:program_id[:additional_stream_specifier]
    匹配程序中具有id program_id的流。如果使用了additional_stream_specifier,则它匹配既是程序的一部分又匹配additional_stream_specifier的流。
  • #stream_id or i:stream_id
    通过流id匹配流(例如,MPEG-TS容器中的PID)。
  • m:key[:value]
    匹配具有指定值的元数据标记key的流。如果未指定value,则匹配包含给定标记的流的任何值。keyvalue中的冒号字符":"需要进行反斜杠转义。
  • disp:dispositions[:additional_stream_specifier]
    匹配具有给定处理的流。dispositions是一个或多个处置的列表(由-dispositions选项输出)并用'+'连接。
  • u
    匹配与可用配置匹配的流,编解码器必须被定义以及基本信息,如视频尺寸或音频采样率必须存在。
    注意,在ffmpeg中,通过元数据进行匹配只对输入文件有效。
相关推荐
烟雨江南7851 小时前
200路并发语音识别系统实践:CPU、GPU与国产昇腾三种部署方案怎么选?
人工智能·websocket·音视频·语音识别·ai客服
视频技术分享2 小时前
视频会议系统技术全解:底层架构、选型标准与实战优化
架构·音视频
林墨聊AIGC3 小时前
AI视频怎么做跳舞的动作效果:从入门到精通的舞蹈动画制作指南
大数据·人工智能·自动化·aigc·音视频
小鱼爱吃草灬灬7 小时前
实时面试辅助排查清单:音频来源、问题输入与上下文
面试·职场和发展·音视频
可乐鸡翅yeah_7 小时前
HLS 自动化拨测与手动调试分工,流媒体线上监控体系建设实践
运维·自动化·测试用例·音视频·媒体·m3u8·音视频在线播放
欧特克_Glodon8 小时前
OpenCV计算机视觉开发入门与实践<三十五>:开发视频播放器
c++·opencv·计算机视觉·音视频
2301_7681034910 小时前
AI视频创作Agent实战05:Wan场景融合与VideoRetalk口型驱动
人工智能·音视频
淼澄研学10 小时前
Sonos空间音频技术解析与Python本地API控制实操
开发语言·python·音视频
可乐鸡翅yeah_10 小时前
M3U8测试流使用指南,流媒体开发自测与环境校验标准化方案
网络·ffmpeg·音视频·m3u8·m3u8在线·音视频在线播放
TechVoyager_824611 小时前
不止是HDMI发射器:IT6622的eARC音频回传功能详解
音视频·片载 mcu·earc 音频回传·hdmi 发射器·影音芯片·hdmi1.4 发射·it6622