这是 ffmpeg-bitstream-filters 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
ffmpeg-bitstream-filters - FFmpeg 比特流过滤器
商品描述
本文档描述了 libavcodec 库提供的比特流过滤器。
比特流过滤器对编码后的流数据进行操作,并执行比特流级
修改而不执行解码。
比特流 滤波器
当您配置 FFmpeg 构建时,所有支持的比特流过滤器都由
默认。 您可以使用配置选项“--list-bsfs”列出所有可用的。
您可以使用配置选项“--disable-bsfs”禁用所有比特流过滤器,并且
使用选项“--enable-bsf=BSF”有选择地启用任何比特流过滤器,或者您可以
使用选项“--disable-bsf=BSF”禁用特定的比特流过滤器。
ff* 工具的选项“-bsfs”将显示所有支持的比特流列表
过滤器包含在您的构建中。
ff* 工具为每个流应用了一个 -bsf 选项,采用逗号分隔的列表
过滤器,其参数跟随过滤器名称后的“=”。
ffmpeg -i 输入 -c:v 复制 -bsf:v filter1[=opt1=str1/opt2=str2][,filter2] 输出
下面是对当前可用的比特流过滤器的描述,以及它们的
参数,如果有的话。
aac_adtstoasc
将 MPEG-2/4 AAC ADTS 转换为 MPEG-4 音频特定配置比特流过滤器。
此过滤器从 MPEG-4/2 ADTS 标头创建一个 MPEG-4 AudioSpecificConfig 并删除
ADTS 标头。
例如,将 AAC 流从原始 ADTS AAC 容器复制到
FLV 或 MOV/MP4 文件。
排骨
删除数据包末尾的零填充。
转储_额外
将额外数据添加到过滤数据包的开头。
附加参数指定应过滤哪些数据包。 它接受
值:
a 向所有关键数据包添加额外数据,但前提是 本地头 设置在 flags2 编解码器
上下文字段
k 向所有关键数据包添加额外数据
e 向所有数据包添加额外数据
如果未指定,则假定 k.
例如以下 ffmpeg的 命令强制全局标题(从而禁用个人
包头)在由“libx264”编码器生成的 H.264 包中,但更正它们
通过将存储在 extradata 中的标头添加到关键数据包中:
ffmpeg -i 输入 -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
h264_mp4toannexb
将 H.264 比特流从长度前缀模式转换为起始码前缀模式(如
ITU-T H.264 规范的附件 B 中定义)。
这是某些流格式所必需的,通常是 MPEG-2 传输流格式
(“mpegts”)。
例如,将包含 H.4 流的 MP264 文件重新混合为 mpegts 格式 ffmpeg的,
您可以使用以下命令:
ffmpeg -i INPUT.mp4 -编解码器复制 -bsf:v h264_mp4toannexb OUTPUT.ts
转储
修改比特流以适合 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 输出.mov
mjpeg2jpeg
将 MJPEG/AVI1 数据包转换为完整的 JPEG/JFIF 数据包。
MJPEG 是一种视频编解码器,其中每个视频帧本质上都是一个 JPEG 图像。 这
可以无损失地提取单个帧,例如通过
ffmpeg -i ../some_mjpeg.avi -c:v 复制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 复制 -bsf:v mjpeg2jpeg frame_%d.jpg
exiftran -i -9 框架*.jpg
ffmpeg -i frame_%d.jpg -c:v 复制rotated.avi
mjpega_dump_header
移动订阅
mp3_header_解压缩
mpeg4_unpack_bframes
解压缩 DivX 风格的 B 帧。
DivX 样式的打包 B 帧不是有效的 MPEG-4,只是损坏的解决方法
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 复制 -bsf:v mpeg4_unpack_bframes OUTPUT.avi
噪声
在不损坏容器的情况下损坏包的内容。 可用于模糊测试或
测试错误弹性/隐藏。
参数:一个数字字符串,其值与输出字节的频率有关
修改的。 因此,小于或等于 0 的值是被禁止的,并且越低越
频繁的字节将被修改,1 表示每个字节都被修改。
ffmpeg -i 输入 -c 复制 -bsf 噪声 [=1] 输出.mkv
将修改应用于每个字节。
删除_额外
使用 onworks.net 服务在线使用 ffmpeg-bitstream-filters