首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >FFmpeg里的Bitstream Filter

FFmpeg里的Bitstream Filter

原创
作者头像
望天
发布2019-09-29 21:12:41
发布2019-09-29 21:12:41
1.1K0
举报
文章被收录于专栏:along的开发之旅along的开发之旅

Bitstream Filter

Bitstream Filter: A bitstream filter operates on the encoded stream data, and performs bitstream level modifications without performing decoding. 1. 比特流滤波器作用在编码后的数据上,而不是未压缩的数据。 2. 在不解码的基础上执行比特流级别的修改。

示例1:

ffmpeg -i input.mp4 -codec copy -bsf:v h264_mp4toannexb output.ts

这个是把mp4容器格式改为ts容器格式,需要把h.264的封装格式从mp4改成annexb。

h.264编码有两种封装格式

  1. 一种是annexb模式, 它是传统模式, 有startcode, SPS和PPS在Element Stream中.
  2. 另一种是mp4模式, 一般Mp4, MKV, AVI都没有startcode, SPS和PPS以及其他信息被封装容器中. 每一帧前面是这一帧的长度值, 很多解码器只支持annexb模式, 因此需要对Mp4模式做转换.

再说下为什么另一种封装格式叫annexb,是因为这种封装格式定义在the Annex B of the ITU-T H.264 specification

示例2:

ffmpeg -i in.264 -c copy -bsf:v trace_headers -f null - 2> NALUS.txt

支持 AV1,H.264, H.265, (M)JPEG, MPEG-2, VP9(VP8不支持)

Log trace output containing all syntax elements in the coded stream headers (everything above the level of individual coded blocks). This can be useful for debugging low-level stream issues. 可以用于底层码流调试。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Bitstream Filter
    • 示例1:
    • 示例2:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档