目录
1 概要
ffprobe [选项]输入网址
2 说明
ffprobe 从多媒体流中收集信息并以人类和机器可读的方式打印它。
例如,它可用于检查多媒体流使用的容器的格式以及其中包含的每个媒体流的格式和类型。
如果在输入中指定了 url,ffprobe 将尝试打开并探测 url 内容。如果无法打开 url 或将其识别为多媒体文件,则返回肯定的退出代码。
如果没有输出被指定为输出哦ffprobe 将写入标准输出。
ffprobe 既可以作为独立应用程序使用,也可以与文本过滤器结合使用,文本过滤器可以执行更复杂的处理,例如统计处理或绘图。
选项用于列出 ffprobe 支持的一些格式,或用于指定要显示的信息,以及设置 ffprobe 如何显示它。
ffprobe 输出被设计为可以通过文本过滤器轻松解析,并且由所选编写器定义的表单的一个或多个部分组成,该编写器由输出格式选项。
节可以包含其他嵌套节,并通过名称(可以由其他节共享)和唯一名称来标识。查看输出部分。
存储在容器或流中的元数据标签在相应的“FORMAT”、“STREAM”或“PROGRAM_STREAM”部分中被识别和打印。
3个选项
如果没有另外指定,所有数字选项都接受表示数字的字符串作为输入,该字符串后可能跟有 SI 单位前缀之一,例如:“K”、“M”或“G”。
如果将“i”附加到 SI 单位前缀,则完整的前缀将被解释为二进制倍数的单位前缀,它基于 1024 的幂而不是 1000 的幂。将“B”附加到 SI 单位前缀将乘以值除以 8。这允许使用例如:“KB”、“MiB”、“G”和“B”作为数字后缀。
不带参数的选项是布尔选项,并将相应的值设置为true。可以通过在选项名称前加上“no”前缀将它们设置为 false。例如,使用“-nofoo”会将名称为“foo”的布尔选项设置为 false。
3.1 Stream specifiers
某些选项适用于每个流,例如比特率或编解码器。流说明符用于精确指定给定选项所属的流。
流说明符是一个字符串,通常附加到选项名称并用冒号分隔。例如-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的流。否则,它匹配指定类型的所有流。
- 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]
将流与具有指定值的元数据标签键相匹配。如果 未给出值,则将包含给定标记的流与任何值进行匹配。
- u
将流与可用配置相匹配,必须定义编解码器,并且必须提供视频尺寸或音频采样率等基本信息。
请注意,在 中
ffmpeg
,按元数据匹配仅适用于输入文件。
3.2 Generic options
这些选项在 ff* 工具之间共享。
- -L
显示许可证。
- -h, -?, -help, --help [arg]
显示帮助。可以指定可选参数来打印有关特定项目的帮助。如果未指定参数,则仅显示基本(非高级)工具选项。
arg的可能值为:
- long
除了基本工具选项之外,还打印高级工具选项。
- full
打印完整的选项列表,包括编码器、解码器、解复用器、复用器、过滤器等的共享和私有选项。
- decoder=decoder_name
打印有关名为解码器名称的解码器的详细信息。使用 -解码器获取所有解码器列表的选项。
- encoder=encoder_name
打印有关名为encoder_name的编码器的详细信息。使用 -编码器获取所有编码器列表的选项。
- demuxer=demuxer_name
打印有关名为demuxer_name的解复用器的详细信息。使用 -格式获取所有解复用器和复用器列表的选项。
- muxer=muxer_name
打印有关名为muxer_name的复用器的详细信息。使用 -格式获取所有复用器和解复用器列表的选项。
- filter=filter_name
打印有关名为filter_name的过滤器的详细信息。使用 -过滤器获取所有过滤器列表的选项。
- bsf=bitstream_filter_name
打印有关名为bitstream_filter_name的比特流过滤器的详细信息。使用-bsfs获取所有比特流过滤器列表的选项。
- protocol=protocol_name
打印有关名为protocol_name的协议的详细信息。使用- 协议获取所有协议列表的选项。
- -version
显示版本。
- -buildconf
显示构建配置,每行一个选项。
- -formats
显示可用格式(包括设备)。
- -demuxers
显示可用的多路分配器。
- -muxers
显示可用的复用器。
- -devices
显示可用设备。
- -codecs
显示 libavcodec 已知的所有编解码器。
请注意,本文档中使用术语“编解码器”作为更正确的媒体比特流格式的快捷方式。
- -decoders
显示可用的解码器。
- -encoders
显示所有可用的编码器。
- -bsfs
显示可用的比特流过滤器。
- -protocols
显示可用的协议。
- -filters
显示可用的 libavfilter 过滤器。
- -pix_fmts
显示可用的像素格式。
- -sample_fmts
显示可用的示例格式。
- -layouts
显示频道名称和标准频道布局。
- -dispositions
显示流配置。
- -colors
显示识别的颜色名称。
- -sources device[,opt1=val1[,opt2=val2]...]
显示输入设备的自动检测源。某些设备可能提供无法自动检测的与系统相关的源名称。不能假定返回的列表始终是完整的。
ffmpeg -sources pulse,server=192.168.0.4
- -sinks device[,opt1=val1[,opt2=val2]...]
显示输出设备自动检测到的接收器。某些设备可能提供无法自动检测的与系统相关的接收器名称。不能假定返回的列表始终是完整的。
ffmpeg -sinks pulse,server=192.168.0.4
- -loglevel [flags+]loglevel | -v [flags+]loglevel
设置库使用的日志记录级别和标志。
可选的标志前缀可以包含以下值:
- ‘repeat’
指示重复的日志输出不应压缩到第一行,并且“Last message returned n times”行将被省略。
- ‘level’
指示日志输出应向
[level]
每个消息行添加前缀。这可以用作日志着色的替代方法,例如将日志转储到文件时。
标志也可以单独使用,通过添加 '+'/'-' 前缀来设置/重置单个标志,而不影响其他标志或更改loglevel。当设置flags和loglevel时,最后一个flags值和loglevel之前之间需要有一个“+”分隔符。
loglevel是包含以下值之一的字符串或数字:
- ‘quiet, -8’
不显示任何内容;安静。
- ‘panic, 0’
仅显示可能导致进程崩溃的致命错误,例如断言失败。目前这还没有用于任何用途。
- ‘fatal, 8’
只显示致命错误。这些都是错误,之后该过程绝对无法继续。
- ‘error, 16’
显示所有错误,包括可以恢复的错误。
- ‘warning, 24’
显示所有警告和错误。将显示与可能不正确或意外事件相关的任何消息。
- ‘info, 32’
在处理过程中显示信息性消息。这是对警告和错误的补充。这是默认值。
- ‘verbose, 40’
与 相同
info
,但更详细。- ‘debug, 48’
显示一切,包括调试信息。
- ‘trace, 56’
例如,要启用重复日志输出,请添加
level
前缀,并将 loglevel设置为verbose
:ffmpeg -loglevel repeat+level+verbose -i input output
另一个启用重复日志输出而不影响
level
前缀标志或日志级别当前状态的示例:ffmpeg [...] -loglevel +repeat
默认情况下,程序记录到 stderr。如果终端支持着色,则使用颜色来标记错误和警告。可以通过设置环境变量禁用日志着色
AV_LOG_FORCE_NOCOLOR
,也可以强制设置环境变量AV_LOG_FORCE_COLOR
。- -report
将完整的命令行和日志输出转储到当前目录中指定的文件中 。该文件对于错误报告很有用。这也暗示着。
program-YYYYMMDD-HHMMSS.log
-loglevel debug
将环境变量设置
FFREPORT
为任意值都具有相同的效果。如果值是“:”分隔的 key=value 序列,这些选项将影响报告;如果选项值包含特殊字符或选项分隔符“:”,则必须对其进行转义(请参阅 ffmpeg-utils 手册中的“引用和转义”部分)。可以识别以下选项:
- file
设置报告使用的文件名;
%p
扩展为程序名称、%t
扩展为时间戳、%%
扩展为纯文本%
- level
使用数值设置日志详细级别(请参阅
-loglevel
)。
例如,要将报告输出到名为ffreport.log 使用日志级别
32
(日志级别的别名info
):FFREPORT=file=ffreport.log:level=32 ffmpeg -i input output
解析环境变量的错误不是致命的,并且不会出现在报告中。
- -hide_banner
禁止打印横幅。
所有 FFmpeg 工具通常都会显示版权声明、构建选项和库版本。该选项可用于禁止打印该信息。
- -cpuflags flags (global)
允许设置和清除 cpu 标志。该选项用于测试。除非您知道自己在做什么,否则不要使用它。
ffmpeg -cpuflags -sse+mmx ... ffmpeg -cpuflags mmx ... ffmpeg -cpuflags 0 ...
此选项可能的标志是:
- ‘x86’
- ‘mmx’
- ‘mmxext’
- ‘sse’
- ‘sse2’
- ‘sse2slow’
- ‘sse3’
- ‘sse3slow’
- ‘ssse3’
- ‘atom’
- ‘sse4.1’
- ‘sse4.2’
- ‘avx’
- ‘avx2’
- ‘xop’
- ‘fma3’
- ‘fma4’
- ‘3dnow’
- ‘3dnowext’
- ‘bmi1’
- ‘bmi2’
- ‘cmov’
- ‘ARM’
- ‘armv5te’
- ‘armv6’
- ‘armv6t2’
- ‘vfp’
- ‘vfpv3’
- ‘neon’
- ‘setend’
- ‘AArch64’
- ‘armv8’
- ‘vfp’
- ‘neon’
- ‘PowerPC’
- ‘altivec’
- ‘Specific Processors’
- ‘pentium2’
- ‘pentium3’
- ‘pentium4’
- ‘k6’
- ‘k62’
- ‘athlon’
- ‘athlonxp’
- ‘k8’
- -cpucount count (global)
覆盖 CPU 计数检测。该选项用于测试。除非您知道自己在做什么,否则不要使用它。
ffmpeg -cpucount 2
- -max_alloc bytes
设置 ffmpeg 的 malloc 函数系列在堆上分配块的最大大小限制。使用此选项时请格外小心。如果您不了解这样做的全部后果,请不要使用。默认值为 INT_MAX。
3.3 AVOptions
这些选项由 libavformat、libavdevice 和 libavcodec 库直接提供。要查看可用 AVOptions 的列表,请使用 -帮助选项。它们分为两类:
- generic
可以为任何容器、编解码器或设备设置这些选项。容器/设备的 AVFormatContext 选项和编解码器的 AVCodecContext 选项下列出了通用选项。
- private
这些选项特定于给定的容器、设备或编解码器。私有选项列在其相应的容器/设备/编解码器下。
例如,要将 ID3v2.3 标头而不是默认的 ID3v2.4 写入 MP3 文件,请使用id3v2_版本MP3 混合器的私有选项:
ffmpeg -i input.flac -id3v2_version 3 out.mp3
所有编解码器 AVOption 都是针对每个流的,因此应将流说明符附加到它们:
ffmpeg -i multichannel.mxf -map 0:v:0 -map 0:a:0 -map 0:a:0 -c:a:0 ac3 -b:a:0 640k -ac:a:1 2 -c:a:1 aac -b:2 128k out.mp4
在上面的示例中,多通道音频流被映射两次以输出。第一个实例使用编解码器 ac3 和比特率 640k 进行编码。第二个实例被缩混为 2 个通道并使用编解码器 aac 进行编码。使用输出流的绝对索引为其指定 128k 的比特率。
注:-无选项语法不能用于布尔 AVOptions,请使用-选项0/-选项1。
注意:通过在选项名称前添加 v/a/s 来指定每个流 AVOptions 的旧的未记录方法现已过时,并将很快被删除。
3.4 Main options
- -f format
强制使用格式。
- -unit
显示显示值的单位。
- -prefix
对显示值使用 SI 前缀。除非使用“-byte_binary_prefix”选项,否则所有前缀都是十进制的。
- -byte_binary_prefix
强制对字节值使用二进制前缀。
- -sexagesimal
使用六十进制格式 HH:MM:SS.MICROSECONDS 作为时间值。
- -pretty
美化显示值的格式,对应选项“-unit -prefix -byte_binary_prefix -sexagesimal”。
- -output_format, -of, -print_format writer_name[=writer_options]
设置输出打印格式。
writer_name指定 writer 的名称, writer_options指定要传递给 writer 的选项。
例如,要以 JSON 格式打印输出,请指定:
-output_format json
有关可用输出打印格式的更多详细信息,请参阅下面的“写入器”部分。
- -sections
打印节结构和节信息,然后退出。输出并不意味着由机器解析。
- -select_streams stream_specifier
仅选择由stream_specifier指定的流。该选项仅影响与流相关的选项(例如
show_streams
、show_packets
等)。例如,要仅显示音频流,您可以使用以下命令:
ffprobe -show_streams -select_streams a INPUT
仅显示属于索引为 1 的视频流的视频数据包:
ffprobe -show_packets -select_streams v:1 INPUT
- -show_data
以十六进制和 ASCII 转储形式显示有效负载数据。加上 -显示数据包,它将转储数据包的数据。加上 -显示流,它将转储编解码器额外数据。
转储被打印为“数据”字段。它可能包含换行符。
- -show_data_hash algorithm
显示有效负载数据的哈希值,对于带有以下内容的数据包-显示数据包对于编解码器额外数据-显示流。
- -show_error
显示有关尝试探测输入时发现的错误的信息。
错误信息打印在名称为“ERROR”的部分中。
- -show_format
显示有关输入多媒体流的容器格式的信息。
所有容器格式信息都打印在名为“FORMAT”的部分中。
- -show_format_entry name
喜欢-显示格式,但只打印容器格式信息的指定条目,而不是全部。可以多次给出此选项,然后将显示所有指定的条目。
此选项已弃用,请
show_entries
改用。- -show_entries section_entries
设置要显示的条目列表。
条目根据以下语法指定。section_entries包含由 分隔的节条目列表
:
。每个节条目均由节名称(或唯一名称)组成,后面可以选择跟随该节本地的条目列表,以 分隔,
。如果指定了节名称但后跟 no
=
,则所有条目以及所有包含的节都将打印到输出。否则,仅打印本地节条目列表中指定的条目。特别是,如果=
指定但本地条目列表为空,则不会显示该部分的任何条目。请注意,输出中不遵循本地节条目的指定顺序,并且将保留通常的显示顺序。
正式语法由以下给出:
LOCAL_SECTION_ENTRIES ::= SECTION_ENTRY_NAME[,LOCAL_SECTION_ENTRIES] SECTION_ENTRY ::= SECTION_NAME[=[LOCAL_SECTION_ENTRIES]] SECTION_ENTRIES ::= SECTION_ENTRY[:SECTION_ENTRIES]
例如,要仅显示每个流的索引和类型,以及数据包的 PTS 时间、持续时间和流索引,您可以指定参数:
packet=pts_time,duration_time,stream_index : stream=index,codec_type
要显示“格式”部分中的所有条目,但仅显示“流”部分中的编解码器类型,请指定参数:
format : stream=codec_type
要显示流和格式部分中的所有标签:
stream_tags : format_tags
仅显示
title
流部分中的标签(如果可用):stream_tags=title
- -show_packets
显示有关输入多媒体流中包含的每个数据包的信息。
每个数据包的信息都打印在名为“PACKET”的专用部分中。
- -show_frames
显示有关输入多媒体流中包含的每个帧和字幕的信息。
每个单帧的信息都打印在名为“FRAME”或“SUBTITLE”的专用部分中。
- -show_log loglevel
根据loglevel中设置的值显示来自解码器的有关每个帧的日志信息(请参阅
-loglevel
)。该选项需要-show_frames
.每条日志消息的信息都打印在名为“LOG”的专用部分中。
- -show_streams
显示有关输入多媒体流中包含的每个媒体流的信息。
每个媒体流信息都打印在名为“STREAM”的专用部分中。
- -show_programs
显示有关输入多媒体流中包含的节目及其流的信息。
每个媒体流信息都打印在名为“PROGRAM_STREAM”的专用部分中。
- -show_chapters
显示有关以格式存储的章节的信息。
每一章都打印在名为“CHAPTER”的专用部分中。
- -count_frames
计算每个流的帧数并在相应的流部分中报告。
- -count_packets
计算每个流的数据包数量并在相应的流部分中报告。
- -read_intervals read_intervals
-
只读指定的间隔。read_intervals必须是由“,”分隔的间隔规范序列。
ffprobe
将寻找间隔起点,并从那里继续阅读。每个间隔由两个可选部分指定,并用“%”分隔。
第一部分指定间隔开始位置。它被解释为绝对位置,或者如果前面有“+”字符,则被解释为距当前位置的相对偏移量。如果未指定第一部分,则在读取此间隔时不会执行任何查找。
第二部分指定间隔结束位置。它被解释为绝对位置,或者如果前面有“+”字符,则被解释为距当前位置的相对偏移量。如果偏移量指定以“#”开头,则它被解释为从间隔开始读取的数据包数量(不包括刷新数据包)。如果没有指定第二部分,程序将读取直到输入结束。
请注意,查找并不准确,因此实际的区间起点可能与指定位置不同。此外,当指定间隔持续时间时,将通过将持续时间添加到通过查找文件找到的间隔起始点(而不是指定的起始值)来计算绝对结束时间。
正式语法由以下给出:
INTERVAL ::= [START|+START_OFFSET][%[END|+END_OFFSET]] INTERVALS ::= INTERVAL[,INTERVALS]
下面是一些例子。
- 查找到时间 10,读取数据包,直到找到查找点后 20 秒,然后查找到位置
01:30
(1 分 30 秒)并读取数据包,直到位置01:45
。10%+20,01:30%01:45
- 定位后仅读取 42 个数据包
01:23
:01:23%+#42
- 只读取从开始起的前 20 秒:
%+20
- 从头开始读取到位置
02:30
:%02:30
- 查找到时间 10,读取数据包,直到找到查找点后 20 秒,然后查找到位置
- -show_private_data, -private
显示私有数据,即取决于特定显示元素的格式的数据。默认情况下启用此选项,但您可能需要针对特定用途禁用它,例如在创建符合 XSD 的 XML 输出时。
- -show_program_version
显示与程序版本相关的信息。
版本信息打印在名为“PROGRAM_VERSION”的部分中。
- -show_library_versions
显示与库版本相关的信息。
每个库的版本信息都打印在名为“LIBRARY_VERSION”的部分中。
- -show_versions
显示与程序和库版本相关的信息。这相当于同时设置-显示程序版本和 -显示库版本选项。
- -show_pixel_formats
显示有关 FFmpeg 支持的所有像素格式的信息。
每种格式的像素格式信息都打印在名为“PIXEL_FORMAT”的部分中。
- -show_optional_fields value
一些作家即。JSON 和 XML,省略打印具有无效或不适用值的字段,而其他编写器总是打印它们。此选项使人们能够控制这种行为。有效值为
always
/1
、never
/0
和auto
/-1
。默认为自动。- -bitexact
强制 bitexact 输出,对于生成不依赖于特定构建的输出很有用。
- -i input_url
读取input_url。
- -o output_url
将输出写入output_url。如果未指定,则输出将发送到 stdout。
4 位作家
writer 定义了 所采用的输出格式ffprobe
,并将用于打印输出的所有部分。
作者可以接受一个或多个参数,这些参数指定要采用的选项。这些选项被指定为键=值对的列表 ,用“:”分隔。
所有作者都支持以下选项:
- string_validation, sv
设置字符串验证模式。
接受以下值。
- ‘fail’
如果在输入中发现无效字符串 (UTF-8) 序列或代码点,写入器将立即失败。这对于验证输入元数据特别有用。
- ‘ignore’
任何验证错误都将被忽略。这可能会导致输出损坏,尤其是使用 json 或 xml 编写器时。
- ‘replace’
作者将用指定的字符串替换无效的 UTF-8 序列或代码点字符串验证替换。
默认值为 '代替'。
- string_validation_replacement, svr
设置替换字符串以防万一字符串验证被设定为 '代替'。
如果未指定该选项,编写器将假定为空字符串,即将从输入字符串中删除无效序列。
以下是对当前可用作家的描述。
4.1 default
默认格式。
打印表格中的每个部分:
[SECTION] key1=val1 ... keyN=valN [/SECTION]
元数据标记在相应的 FORMAT、STREAM 或 PROGRAM_STREAM 部分中打印为一行,并以字符串“TAG:”作为前缀。
下面是接受的选项的描述。
- nokey, nk
如果设置为 1,则指定不打印每个字段的键。默认值为 0。
- noprint_wrappers, nw
如果设置为 1,则指定不打印节页眉和页脚。默认值为 0。
4.2 compact, csv
紧凑和 CSV 格式。
writercsv
相当于compact
,但支持不同的默认值。
每个部分都打印在一行上。如果未指定选项,则输出的形式为:
section|key1=val1| ... |keyN=valN
元数据标签打印在相应的“格式”或“流”部分中。元数据标签键(如果打印)以字符串“tag:”作为前缀。
接受的选项的描述如下。
- item_sep, s
指定用于分隔输出行中的字段的字符。它必须是单个可打印字符,即“|” 默认情况下(“,”为
csv
作者)。- nokey, nk
如果设置为 1,则指定不打印每个字段的键。它的默认值为 0(对于
csv
编写器为 1)。- escape, e
设置要使用的转义模式,默认为“c”(
csv
编写器为“csv”)。它可以采用以下值之一:
- c
执行类似 C 的转义。包含换行符的字符串 ('\n'), 回车('\r'), 一个选项卡 ('\t'), 换页符 ('\F')、转义字符('\') 或项目分隔符SEP使用类似 C 的转义方式进行转义,以便将换行符转换为序列 '\n', 回车至 '\r','\' 到 '\\' 并且分隔符SEP转换为 '\九月'。
- csv
执行类似 CSV 的转义,如 RFC4180 中所述。包含换行符的字符串 ('\n'), 回车符 ('\r'), 双引号 ('”') 或SEP用双引号括起来。
- none
不执行任何转义操作。
- print_section, p
如果值为 ,则在每行的开头打印节名称
1
,并将值设置为 来禁用它0
。默认值为1
。
4.3 flat
平面格式。
自由格式输出,其中每行包含显式 key=value,例如“streams.stream.3.tags.foo=bar”。输出是 shell 转义的,因此只要分隔符是字母数字字符或下划线(请参阅sep_char选项),它就可以直接嵌入 sh 脚本中。
接受的选项的描述如下。
- sep_char, s
分隔符用于分隔打印字段键中的章节、节名称、ID 和潜在标签。
默认值为 '。'。
- hierarchical, h
指定节名称规范是否应该分层。如果设置为 1,并且当前章节中有多个小节,则小节名称将以章节名称作为前缀。值为 0 将禁用此行为。
默认值为 1。
4.4 ini
INI 格式输出。
以基于 INI 的格式打印输出。
采用以下约定:
- 所有键和值都是 UTF-8
- '。' 是子组分隔符
- 新队, '\t','\F','\b' 并且以下字符被转义
- '\' 是转义字符
- '#' 是评论指示符
- '=' 是键/值分隔符
- ':' 不被使用,但通常被解析为键/值分隔符
该作者接受选项作为键=值对的列表,用'分隔:'。
接受的选项的描述如下。
- hierarchical, h
指定节名称规范是否应该分层。如果设置为 1,并且当前章节中有多个小节,则小节名称将以章节名称作为前缀。值为 0 将禁用此行为。
默认值为 1。
4.5 json
基于 JSON 的格式。
每个部分都使用 JSON 表示法打印。
接受的选项的描述如下。
- compact, c
如果设置为 1 启用紧凑输出,即每个部分将打印在一行上。默认值为 0。
有关 JSON 的更多信息,请参阅http://www.json.org/。
4.6 xml
基于 XML 的格式。
XML 输出在 XML 模式描述文件中进行描述 ffprobe.xsd安装在 FFmpeg 数据目录中。
可以在 URL http://www.ffmpeg.org/schema/ffprobe.xsd检索架构的更新版本,该 URL 重定向到提交到 FFmpeg 开发源代码树中的最新架构。
请注意,发出的输出将符合 ffprobe.xsd仅当没有特殊的全局输出选项时才架构(单元,字首,字节二进制前缀, 六十进制等)被指定。
接受的选项的描述如下。
- fully_qualified, q
如果设置为 1,则指定输出是否应完全限定。默认值为 0。这是生成可通过 XSD 文件验证的 XML 文件所必需的。
- xsd_strict, x
如果设置为 1,则执行更多检查以确保输出符合 XSD 标准。默认值为 0。此选项自动设置完全合格至 1。
有关 XML 格式的更多信息,请参阅 https://www.w3.org/XML/。
5 时间码
ffprobe
支持时间码提取:
- MPEG1/2 时间码是从 GOP 中提取的,可在视频流详细信息中找到 (-显示流,参见时间码)。
- MOV 时间码是从 tmcd 轨道中提取的,因此可在 tmcd 流元数据中使用(-显示流,请参阅标签:时间码)。
- DV、GXF 和 AVI 时间码以格式元数据提供(-显示格式,请参阅标签:时间码)。
6 另请参阅
ffprobe-all、 ffmpeg、ffplay、 ffmpeg-utils、 ffmpeg-scaler、 ffmpeg-resampler、 ffmpeg-codecs、 ffmpeg-bitstream-filters、 ffmpeg -formats、 ffmpeg-devices、 ffmpeg-protocols、 ffmpeg-filters
7 位作者
FFmpeg 开发人员。
git log
有关作者身份的详细信息,请参阅项目的 Git 历史记录 (https://git.ffmpeg.org/ffmpeg),例如通过在 FFmpeg 源目录中键入命令
,或浏览https://git 的在线存储库。 ffmpeg.org/ffmpeg。
文件中列出了特定组件的维护者 维护者在源代码树中。
本文档于2023 年 11 月 17 日使用makeinfo 生成。
由telepoint.bg提供的托管