目录
- 1 说明
- 2 个比特流过滤器
- 2.1 aac_adtstoasc
- 2.2 av1_元数据
- 2.3 咀嚼
- 2.4 dca_核心
- 2.5 转储额外
- 2.6 dv_error_marker
- 2.7 eac3_核心
- 2.8 提取额外数据
- 2.9 过滤单元
- 2.10 hapqa_提取
- 2.11 h264_元数据
- 2.12 h264_mp4toannexb
- 2.13 h264_redundant_pps
- 2.14 hevc_元数据
- 2.15 hevc_mp4toannexb
- 2.16 imx转储
- 2.17 mjpeg2jpeg
- 2.18 mjpega转储
- 2.19 mov2textsub
- 2.20 mp3解码
- 2.21 mpeg2_元数据
- 2.22 mpeg4_unpack_bframes
- 2.23 噪音
- 2.24 空
- 2.25 pcm_rechunk
- 2.26 pgs_frame_merge
- 2.27 prores_元数据
- 2.28 移除额外
- 2.29组
- 2.30 文本2movsub
- 2.31 跟踪头
- 2.32 truehd_核心
- 2.33 vp9_元数据
- 2.34 vp9_超帧
- 2.35 vp9_superframe_split
- 2.36 vp9_raw_重新排序
- 3 另请参阅
- 4 位作者
1 说明
本文档描述了 libavcodec 库提供的比特流过滤器。
比特流过滤器对编码流数据进行操作,并执行比特流级别修改而不执行解码。
2 个比特流过滤器
当您配置 FFmpeg 构建时,默认情况下会启用所有支持的比特流过滤器。您可以使用配置选项列出所有可用的选项--list-bsfs
。
您可以使用configure 选项禁用所有比特流过滤器
--disable-bsfs
,并使用该选项有选择地启用任何比特流过滤器--enable-bsf=BSF
,或者您可以使用该选项禁用特定的比特流过滤器--disable-bsf=BSF
。
ff* 工具的选项-bsfs
将显示构建中包含的所有受支持的比特流过滤器的列表。
ff* 工具对每个流应用一个 -bsf 选项,采用逗号分隔的过滤器列表,其参数遵循过滤器名称后的“=”。
ffmpeg -i INPUT -c:v copy -bsf:v filter1[=opt1=str1:opt2=str2][,filter2] OUTPUT
以下是当前可用的比特流过滤器及其参数(如果有)的描述。
2.1 aac_adtstoasc
将 MPEG-2/4 AAC ADTS 转换为 MPEG-4 音频特定配置比特流。
此过滤器从 MPEG-2/4 ADTS 标头创建 MPEG-4 AudioSpecificConfig 并删除 ADTS 标头。
例如,将 AAC 流从原始 ADTS AAC 或 MPEG-TS 容器复制到 MP4A-LATM、FLV 文件或 MOV/MP4 文件以及相关格式(例如 3GP 或 M4A)时,需要此过滤器。请注意,它会自动插入 MP4A-LATM 和 MOV/MP4 及相关格式。
2.2 av1_metadata
修改嵌入 AV1 流中的元数据。
- td
在流的所有时间单元中插入或删除时间定界符 OBU。
- ‘insert’
在每个尚未有 TU 的开头插入 TD。
- ‘remove’
从每个有 TU 的开头删除 TD。
- color_primaries
- transfer_characteristics
- matrix_coefficients
设置流中的颜色描述字段(请参阅 AV1 第 6.4.2 节)。
- color_range
设置流中的颜色范围(请参阅 AV1 第 6.4.2 节;请注意,不能为使用 BT.709 原色、sRGB 传输特性和单位 (RGB) 矩阵系数的流设置此项)。
- ‘tv’
范围有限。
- ‘pc’
全系列。
- chroma_sample_position
设置流中的色度样本位置(请参阅 AV1 第 6.4.2 节)。只能为 4:2:0 流设置此项。
- ‘vertical’
左侧位置(与 MPEG-2 和 H.264 中的默认位置匹配)。
- ‘colocated’
左上角位置。
- tick_rate
在序列标头的计时信息中 设置刻度率 ( time_scale / num_units_in_display_tick )。
- num_ticks_per_picture
设置每张图片中的刻度数,以指示流具有固定的帧速率。忽略如果滴答率也没有设置。
- delete_padding
删除填充 OBU。
2.3 chomp
删除数据包末尾的零填充。
2.4 dca_core
从 DCA/DTS 流中提取核心,丢弃 DTS-HD 等扩展。
2.5 dump_extra
将额外数据添加到已过滤数据包的开头,除非所述数据包已经完全以要添加的额外数据开始。
- freq
附加参数指定应过滤哪些数据包。它接受以下值:
- ‘k’
- ‘keyframe’
将额外数据添加到所有关键数据包中
- ‘e’
- ‘all’
向所有数据包添加额外数据
如果未指定,则假定 'k'。
例如,以下ffmpeg
命令在编码器生成的 H.264 数据包中强制使用全局标头(从而禁用各个数据包标头)libx264
,但通过将存储在 extradata 中的标头添加到关键数据包来纠正它们:
ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
2.6 dv_error_marker
DV 中标记为损坏的块将替换为指定颜色的块。
- color
替换损坏块的颜色
- sta
16 位掩码,指定 16 个可能的错误状态值中的哪一个将被彩色块替换。0xFFFE 是默认值,它替换所有非 0 错误状态值。
- ‘ok’
没有错误,没有隐瞒
- ‘err’
错误,无隐瞒
- ‘res’
预订的
- ‘notok’
错误或隐瞒
- ‘notres’
不保留
- ‘Aa, Ba, Ca, Ab, Bb, Cb, A, B, C, a, b, erri, erru’
具体错误状态码
请参阅第 44-46 页或 http://web.archive.org/web/20060927044735/http://www.smpte.org/smpte_store/standards/pdf/s314m.pdf的第 5.5 节
2.7 eac3_core
从 E-AC-3 流中提取核心,丢弃额外的通道。
2.8 extract_extradata
提取带内额外数据。
某些编解码器允许长期标头(例如 MPEG-2 序列标头或 H.264/HEVC (VPS/)SPS/PPS)“带内”传输(即作为包含编码的比特流的一部分)。帧)或“带外”(例如在容器级别)。后一种形式在 FFmpeg 术语中称为“额外数据”。
该比特流过滤器检测带内标头并使它们可用作额外数据。
- remove
启用此选项后,长期标头将在提取后从比特流中删除。
2.9 filter_units
从流中删除类型属于或不属于给定集合的单元。
- pass_types
删除所有其他内容时要通过的单位类型或单位类型范围的列表。这被指定为以“|”分隔的单位类型值列表或带有“-”的值范围。
- remove_types
相同通行证类型,除了给定集合中的单位被删除并且所有其他单位都通过。
此转换不会改变额外数据,但请注意,如果流包含内联参数集,则删除它们后输出可能无法使用。
例如,要从 H.264 流中删除所有非 VCL NAL 单元:
ffmpeg -i INPUT -c:v copy -bsf:v 'filter_units=pass_types=1-5' OUTPUT
要从 H.265 流中删除所有 AUD、SEI 和填充符:
ffmpeg -i INPUT -c:v copy -bsf:v 'filter_units=remove_types=35|38-40' OUTPUT
2.10 hapqa_extract
提取 HAPQA 文件的 Rgb 或 Alpha 部分,无需重新压缩,以创建 HAPQ 或 HAPAlphaOnly 文件。
- texture
指定要保留的纹理。
- color
- alpha
将 HAPQA 转换为 HAPQ
ffmpeg -i hapqa_inputfile.mov -c copy -bsf:v hapqa_extract=texture=color -tag:v HapY -metadata:s:v:0 encoder="HAPQ" hapq_file.mov
将 HAPQA 转换为 HAPAlphaOnly
ffmpeg -i hapqa_inputfile.mov -c copy -bsf:v hapqa_extract=texture=alpha -tag:v HapA -metadata:s:v:0 encoder="HAPAlpha Only" hapalphaonly_file.mov
2.11 h264_metadata
修改 H.264 流中嵌入的元数据。
- aud
在流的所有访问单元中插入或删除 AUD NAL 单元。
- ‘pass’
- ‘insert’
- ‘remove’
默认为通过。
- sample_aspect_ratio
在 VUI 参数中设置流的样本宽高比。参见 H.264 表 E-1。
- overscan_appropriate_flag
设置流是否适合使用过扫描显示(参见 H.264 第 E.2.1 节)。
- video_format
- video_full_range_flag
设置流中的视频格式(请参阅 H.264 第 E.2.1 节和表 E-2)。
- colour_primaries
- transfer_characteristics
- matrix_coefficients
设置流中的颜色描述(请参阅 H.264 第 E.2.1 节和表 E-3、E-4 和 E-5)。
- chroma_sample_loc_type
设置流中的色度样本位置(请参阅 H.264 第 E.2.1 节和图 E-1)。
- tick_rate
在 VUI 参数中设置刻度率 (time_scale / num_units_in_tick)。这是流中可表示的最小时间单位,并且在许多情况下表示流的场速率(帧速率的两倍)。
- fixed_frame_rate_flag
设置流是否具有固定帧速率 - 通常这表示帧速率恰好是节拍速率的一半,但确切含义取决于隔行扫描和图像结构(请参阅 H.264 第 E.2.1 节和表 E-6)。
- zero_new_constraint_set_flags
SPS中的constraint_set4_flag和constraint_set5_flag为零。这些位在 H.264 规范的早期版本中保留,因此某些硬件解码器要求这些位为零。将其归零的结果仍然是有效的比特流。
- crop_left
- crop_right
- crop_top
- crop_bottom
在 SPS 中设置帧裁剪偏移。如果流已被裁剪,这些值将替换当前值。
这些字段以像素为单位设置。请注意,如果对色度进行二次采样或对流进行隔行扫描,则某些大小可能无法表示(请参阅 H.264 第 7.4.2.1.1 节)。
- sei_user_data
插入字符串作为 SEI 未注册用户数据。参数必须采用UUID+string形式,其中 UUID 是可能用连字符分隔的十六进制数字,并且字符串可以是任何内容。
例如, '086f3693-b7b3-4f2c-9653-21492feee5b8+你好' 将插入与给定 UUID 关联的字符串“hello”。
- delete_filler
删除填充 NAL 单元和填充 SEI 消息。
- display_orientation
插入、提取或删除显示方向 SEI 消息。有关语法和语义,请参阅 H.264 第 D.1.27 和 D.2.27 节。
- ‘pass’
- ‘insert’
- ‘remove’
- ‘extract’
默认为通过。
rotate
插入模式与和选项结合使用flip
。任何预先存在的显示方向消息都将在插入或删除模式下删除。提取模式将显示矩阵作为辅助数据附加到数据包中。- rotate
设置显示方向 SEI 的旋转(逆时针角度,以度为单位)。范围为 -360 至 +360。默认为 NaN。
- flip
设置显示方向 SEI 翻转。
- ‘horizontal’
- ‘vertical’
默认值未设置。
- level
在 SPS 中设置级别。请参阅 H.264 第 A.3 节和表 A-1 至 A-5。
参数必须是级别的名称(例如,'4.2'),一个 level_idc 值(例如,'42'), 或特殊名称 '汽车' 指示过滤器应尝试从输入流属性中猜测级别。
2.12 h264_mp4toannexb
将 H.264 比特流从长度前缀模式转换为起始码前缀模式(如 ITU-T H.264 规范的附件 B 中定义)。
这是某些流格式所必需的,通常是 MPEG-2 传输流格式(复用器mpegts
)。
例如,要将包含 H.264 流的 MP4 文件重新复用为 mpegts 格式ffmpeg
,您可以使用以下命令:
ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts
mpegts
请注意,此过滤器是针对 MPEG-TS(复用器)和原始 H.264(复用器h264
)输出格式
自动插入的
。
2.13 h264_redundant_pps
这对某些蓝光流应用了特定的修复,这些蓝光流包含冗余 PPS,修改流的不相关参数,从而混淆需要正确额外数据的其他转换。
2.14 hevc_metadata
修改 HEVC 流中嵌入的元数据。
- aud
在流的所有访问单元中插入或删除 AUD NAL 单元。
- ‘insert’
- ‘remove’
- sample_aspect_ratio
在 VUI 参数中设置流中的样本宽高比。
- video_format
- video_full_range_flag
设置流中的视频格式(请参阅 H.265 第 E.3.1 节和表 E.2)。
- colour_primaries
- transfer_characteristics
- matrix_coefficients
设置流中的颜色描述(请参阅 H.265 第 E.3.1 节和表 E.3、E.4 和 E.5)。
- chroma_sample_loc_type
设置流中的色度样本位置(参见 H.265 第 E.3.1 节和图 E.1)。
- tick_rate
在 VPS 和 VUI 参数 (time_scale / num_units_in_tick) 中设置滴答率。结合num_ticks_poc_diff_one,这可以在流中设置恒定的帧速率。请注意,当流位于容器中时,它可能会被容器参数覆盖。
- num_ticks_poc_diff_one
在VPS和VUI中设置poc_proportional_to_timing_flag并使用该值设置num_ticks_poc_diff_one_minus1(参见H.265第7.4.3.1节和E.3.1节)。忽略如果滴答率也没有设置。
- crop_left
- crop_right
- crop_top
- crop_bottom
在 SPS 中设置一致性窗口裁剪偏移。如果流已被裁剪,这些值将替换当前值。
这些字段以像素为单位设置。请注意,如果对色度进行二次采样,某些尺寸可能无法表示(H.265 第 7.4.3.2.1 节)。
- level
设置 VPS 和 SPS 中的级别。参见 H.265 A.4 节以及表 A.6 和 A.7。
参数必须是级别的名称(例如,'5.1'), general_level_idc值(例如,'153' 对于级别 5.1),或特殊名称 '汽车' 指示过滤器应尝试从输入流属性中猜测级别。
2.15 hevc_mp4toannexb
将 HEVC/H.265 比特流从长度前缀模式转换为起始码前缀模式(如 ITU-T H.265 规范的附件 B 中所定义)。
这是某些流格式所必需的,通常是 MPEG-2 传输流格式(复用器mpegts
)。
例如,要将包含 HEVC 流的 MP4 文件重新复用为 mpegts 格式ffmpeg
,您可以使用以下命令:
ffmpeg -i INPUT.mp4 -codec copy -bsf:v hevc_mp4toannexb OUTPUT.ts
请注意,此过滤器是针对 MPEG-TS(复用器
mpegts
)和原始 HEVC/H.265(复用器h265
或
hevc
)输出格式自动插入的。
2.16 imxdump
修改比特流以适合 MOV 并可由 Final Cut Pro 解码器使用。此过滤器仅适用于 mpeg2video 编解码器,并且 Final Cut Pro 7 和更高版本可能不需要适当的 -标签:v。
例如,要将 30 MB/秒 NTSC IMX 重新复用为 MOV:
ffmpeg -i input.mxf -c copy -bsf:v imxdump -tag:v mx3n output.mov
2.17 mjpeg2jpeg
将 MJPEG/AVI1 数据包转换为完整的 JPEG/JFIF 数据包。
MJPEG 是一种视频编解码器,其中每个视频帧本质上是一个 JPEG 图像。可以无损地提取各个帧,例如通过
ffmpeg -i ../some_mjpeg.avi -c:v copy frames_%d.jpg
不幸的是,这些块是不完整的 JPEG 图像,因为它们缺少解码所需的 DHT 段。引用自 http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml:
Avery Lee 在 2001 年的 rec.video.desktop 新闻组中写道,“MJPEG,或者至少是具有 MJPG fourcc 的 AVI 中的 MJPEG,是带有固定的 - 并且*省略* - 霍夫曼表的受限 JPEG。JPEG 必须是 YCbCr 色彩空间,它必须是 4:2:2,并且必须使用基本的霍夫曼编码,而不是算术编码或渐进编码......您确实可以提取 MJPEG 帧并使用常规 JPEG 解码器对其进行解码,但您必须在前面添加DHT 段给它们,否则解码器将不知道如何解压缩数据。OpenDML 规范中给出了所需的确切表。”
该比特流过滤器修补从 MJPEG 流(携带 AVI1 标头 ID 且缺少 DHT 段)提取的帧标头,以生成完全合格的 JPEG 图像。
ffmpeg -i mjpeg-movie.avi -c:v copy -bsf:v mjpeg2jpeg frame_%d.jpg exiftran -i -9 frame*.jpg ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
2.18 mjpegadump
将 MJPEG A 标头添加到比特流中,以启用 Quicktime 解码。
2.19 mov2textsub
从 MOV 字幕中提取可表示的文本文件,从每个字幕包中剥离元数据标头。
另请参见text2movsub过滤器。
2.20 mp3decomp
解压缩非标准压缩的 MP3 音频标头。
2.21 mpeg2_metadata
修改嵌入在 MPEG-2 流中的元数据。
- display_aspect_ratio
设置流中的显示宽高比。
支持以下固定值:
- 4/3
- 16/9
- 221/100
任何其他值都将导致发出方形像素信号(请参阅 H.262 第 6.3.3 节和表 6-3)。
- frame_rate
设置流中的帧速率。这是由已知值表与小乘数和除数相结合构建的 - 如果提供的值不能精确表示,则将使用最接近的可表示值(参见 H.262 第 6.3.3 节和表 6-4)。
- video_format
设置码流中的视频格式(参见 H.262 第 6.3.6 节和表 6-6)。
- colour_primaries
- transfer_characteristics
- matrix_coefficients
设置流中的颜色描述(参见 H.262 第 6.3.6 节和表 6-7、6-8 和 6-9)。
2.22 mpeg4_unpack_bframes
解压 DivX 风格的 B 帧。
DivX 风格的打包 B 帧不是有效的 MPEG-4,只是针对损坏的 Video for Windows 子系统的一种解决方法。它们使用更多的空间,可能会导致轻微的 AV 同步问题,需要更多的 CPU 能力来解码(除非播放器有一些解码的图像队列来补偿每数据包风格的 2,0,2,0 帧),并且如果复制到标准中会造成麻烦像 mp4 或 mpeg-ps/ts 这样的容器,因为 MPEG-4 解码器可能无法解码它们,因为它们不是有效的 MPEG-4。
例如,要使用 修复包含具有 DivX 样式打包 B 帧的 MPEG-4 流的 AVI 文件ffmpeg
,您可以使用以下命令:
ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.avi
2.23 noise
损坏包装内的物品或只是将其掉落而不会损坏容器。可用于模糊测试或测试错误恢复/隐藏。
参数:
- amount
接受一个表达式,其对每个数据包的评估确定该数据包中字节的修改频率。低于 0 的值将导致频率变化。默认值为 0,表示不进行任何修改。但是,如果未指定 amount 或 drop,则 amount 将设置为-1。请参阅下文了解可接受的变量。
- drop
接受按数据包计算的表达式,其值确定该数据包是否被丢弃。评估为正值会导致数据包被丢弃。对负值的评估会导致其被丢弃的可能性不同,大致与该值的大小成反比。默认值为 0,这不会导致任何掉落。请参阅下文了解可接受的变量。
- dropamount
接受一个非负整数,这会分配一个可变的被丢弃的机会,大致与该值成反比。默认值为 0,这不会导致任何掉落。保留此选项是为了向后兼容,相当于将 drop 设置为具有相同幅度的负值,即
dropamount=4
与 相同drop=-4
。如果还指定了 drop,则忽略。
和amount
都drop
接受包含以下变量的表达式:
- ‘n’
数据包的索引,从零开始。
- ‘tb’
数据包时间戳的时基。
- ‘pts’
数据包呈现时间戳。
- ‘dts’
数据包解码时间戳。
- ‘nopts’
表示 AV_NOPTS_VALUE 的常量。
- ‘startpts’
流中看到的第一个非 AV_NOPTS_VALUE PTS。
- ‘startdts’
流中看到的第一个非 AV_NOPTS_VALUE DTS。
- ‘duration’
- ‘d’
数据包持续时间,以时基单位表示。
- ‘pos’
输入中的数据包位置;当未知或未设置时可能为 -1。
- ‘size’
数据包大小,以字节为单位。
- ‘key’
数据包是否被标记为关键帧。
- ‘state’
伪随机整数,主要源自数据包有效负载的内容。
2.23.1 示例
对每个字节应用修改,但不要丢弃任何数据包。
ffmpeg -i INPUT -c copy -bsf noise=1 output.mkv
在时间戳 30 秒后丢弃未标记为关键帧的每个视频数据包,但不修改任何剩余数据包。
ffmpeg -i INPUT -c copy -bsf:v noise=drop='gt(t\,30)*not(key)' output.mkv
每 10 秒删除一秒音频,并向其余音频添加一些随机噪音。
ffmpeg -i INPUT -c copy -bsf:a noise=amount=-1:drop='between(mod(t\,10)\,9\,10)' output.mkv
2.24 null
该比特流过滤器将数据包原封不动地通过。
2.25 pcm_rechunk
将 PCM 音频重新打包为每个数据包固定数量的样本或每秒固定的数据包速率。这类似于(ffmpeg-filters)asetnsamples 音频过滤器,但适用于音频数据包而不是音频帧。
- nb_out_samples, n
设置每个输出音频数据包的样本数。该数字旨在表示每个通道的样本数。默认值为 1024。
- pad, p
如果设置为 1,过滤器将用静音填充最后一个音频数据包,以便它将包含相同数量的样本(或大致相同数量的样本,请参阅帧率) 和前面的一样。默认值为 1。
- frame_rate, r
此选项使过滤器每秒输出固定数量的数据包,而不是每个数据包输出固定数量的样本。如果音频采样率不能被帧速率整除,则样本数量将不是恒定的,而是会略有变化,以便每个数据包开始时尽可能接近帧边界。使用此选项优先于nb_out_样本。
您可以使用以下命令生成众所周知的 NTSC 帧速率的 1602-1601-1602-1601-1602 模式 48kHz 音频帧率选项。
ffmpeg -f lavfi -i sine=r=48000:d=1 -c pcm_s16le -bsf pcm_rechunk=r=30000/1001 -f framecrc -
2.26 pgs_frame_merge
将以“显示集结束”段结束的一系列 PGS 字幕段合并到单个数据包中。
这是某些支持 PGS 字幕的容器(muxer matroska
)所必需的。
2.27 prores_metadata
修改 prores 流中嵌入的颜色属性元数据。
- color_primaries
设置原色。可用值为:
- ‘auto’
保持相同的原色属性(默认)。
- ‘unknown’
- ‘bt709’
- ‘bt470bg’
BT601 625
- ‘smpte170m’
BT601 525
- ‘bt2020’
- ‘smpte431’
DCI P3
- ‘smpte432’
P3 D65
- transfer_characteristics
设置颜色传输。可用值为:
- ‘auto’
保持相同的传输特性属性(默认)。
- ‘unknown’
- ‘bt709’
英国电信 601、英国电信 709、英国电信 2020
- ‘smpte2084’
SMPTE ST 2084
- ‘arib-std-b67’
ARIB STD-B67
- matrix_coefficients
设置矩阵系数。可用值为:
- ‘auto’
保持相同的色彩空间属性(默认)。
- ‘unknown’
- ‘bt709’
- ‘smpte170m’
BT 601
- ‘bt2020nc’
为文件的每一帧设置 Rec709 色彩空间
ffmpeg -i INPUT -c copy -bsf:v prores_metadata=color_primaries=bt709:color_trc=bt709:colorspace=bt709 output.mov
为文件的每一帧设置混合对数伽玛参数
ffmpeg -i INPUT -c copy -bsf:v prores_metadata=color_primaries=bt2020:color_trc=arib-std-b67:colorspace=bt2020nc output.mov
2.28 remove_extra
从数据包中删除额外数据。
它接受以下参数:
- freq
设置要从中删除额外数据的帧类型。
- ‘k’
仅从非关键帧中删除额外数据。
- ‘keyframe’
仅从关键帧中删除额外数据。
- ‘e, all’
从所有帧中删除额外数据。
2.29 setts
在数据包中设置PTS和DTS。
它接受以下参数:
- ts
- pts
- dts
设置 PTS、DTS 或两者的表达式。
- duration
设置持续时间的表达式。
- time_base
设置输出时基。
表达式通过 eval API 进行计算,并且可以包含以下常量:
- N
输入数据包的计数。从0开始。
- TS
输入中的解复用时间戳(如果是选项
ts
)dts
或呈现时间戳(如果是pts
选项)。- POS
数据包文件中的原始位置,如果当前数据包未定义,则为未定义
- DTS
输入中的解复用时间戳。
- PTS
输入中的呈现时间戳。
- DURATION
输入的持续时间。
- STARTDTS
第一个数据包的 DTS。
- STARTPTS
第一个数据包的 PTS。
- PREV_INDTS
先前输入的 DTS。
- PREV_INPTS
先前输入的 PTS。
- PREV_INDURATION
前一个输入持续时间。
- PREV_OUTDTS
先前输出的 DTS。
- PREV_OUTPTS
先前输出的 PTS。
- PREV_OUTDURATION
前一个输出持续时间。
- NEXT_DTS
接下来输入DTS。
- NEXT_PTS
接下来输入PTS。
- NEXT_DURATION
下一个输入持续时间。
- TB
流包所属的时基。
- TB_OUT
输出时基。
- SR
流包所属的采样率。
- NOPTS
AV_NOPTS_VALUE 常量。
2.30 text2movsub
将文本字幕转换为带有元数据标头的 MOV 字幕(由mov_text
编解码器使用)。
另请参见mov2textsub过滤器。
2.31 trace_headers
日志跟踪输出包含编码流标头中的所有语法元素(高于各个编码块级别的所有内容)。这对于调试低级流问题非常有用。
支持 AV1、H.264、H.265、(M)JPEG、MPEG-2 和 VP9,但根据构建情况,可能仅提供其中的一个子集。
2.32 truehd_core
从 TrueHD 流中提取核心,丢弃 ATMOS 数据。
2.33 vp9_metadata
修改嵌入在 VP9 流中的元数据。
- color_space
在帧标题中设置颜色空间值。请注意,任何设置为 RGB 的帧都将隐式设置为 PC 范围,并且 RGB 与配置文件 0 和 2 不兼容。
- ‘unknown’
- ‘bt601’
- ‘bt709’
- ‘smpte170’
- ‘smpte240’
- ‘bt2020’
- ‘rgb’
- color_range
在帧标题中设置颜色范围值。请注意,颜色空间施加的任何值都将优先于该值。
- ‘tv’
- ‘pc’
2.34 vp9_superframe
将 VP9 不可见(alt-ref)帧合并回 VP9 超帧。这修复了分割/分段 VP9 流的合并,其中 alt-ref 帧与其可见对应帧分开。
2.35 vp9_superframe_split
将 VP9 超帧拆分为单个帧。
2.36 vp9_raw_reorder
给定具有正确时间戳但可能无序的 VP9 流,请插入额外的 show-existing-frame 数据包以纠正顺序。
3 另请参阅
ffmpeg、ffplay、ffprobe、 libavcodec
4 位作者
FFmpeg 开发人员。
git log
有关作者身份的详细信息,请参阅项目的 Git 历史记录 (https://git.ffmpeg.org/ffmpeg),例如通过在 FFmpeg 源目录中键入命令
,或浏览https://git 的在线存储库。 ffmpeg.org/ffmpeg。
文件中列出了特定组件的维护者 维护者在源代码树中。
本文档于2023 年 11 月 17 日使用makeinfo 生成。
由telepoint.bg提供的托管