配置FFmpeg
构建时,默认情况下会启用所有支持的比特流过滤器。 您可以使用configure
选项--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
以下是当前可用的比特流过滤器及其参数(如果有)的描述。
将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
及相关格式。
删除数据包末尾的零填充。
从DCA / DTS
流中提取核心,删除DTS-HD
等扩展。
学习地址:音视频新手快速入门必备系列-FFmpeg+SDL播放器开发实现-学习视频教程-腾讯课堂
【文章福利】免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~
将extradata添加到过滤后的数据包的开头。
freq
附加参数指定应过滤哪些数据包。 它接受以下值:
值 | 解释 |
---|---|
k | |
keyframe | 为所有密钥包添加extradata |
e | |
all | 为所有数据包添加extradata |
如果未指定,则假定为e
。
例如,以下ffmpeg
命令强制libx264编码器生成的H.264数据包中的全局标头(从而禁用单个数据包标头),但通过将存储在extradata中的标头添加到密钥数据包来纠正它们:
ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
从E-AC-3
流中提取核心,丢弃额外的通道。
某些编解码器允许长期报头(例如,MPEG-2
序列报头,或H.264 / HEVC(VPS /)SPS / PPS
)in-band
发送(即作为包含编码的比特流的一部分ÿ