音视频入门基础:H.264专题(2)——使用FFmpeg命令生成H.264裸流文件

本文详细介绍了如何使用FFmpeg工具将输入MP4文件转换为H.264 AnnexB格式的裸流,并通过实例演示了关键步骤,包括设置命令参数、理解AnnexB包装和NALU结构。适合音视频开发者入门和实践。
摘要由CSDN通过智能技术生成

=================================================================

音视频入门基础:H.264专题系列文章:

音视频入门基础:H.264专题(1)——H.264官方文档下载

音视频入门基础:H.264专题(2)——使用FFmpeg命令生成H.264裸流文件

音视频入门基础:H.264专题(3)——EBSP, RBSP和SODB

音视频入门基础:H.264专题(4)——NALU Header:forbidden_zero_bit、nal_ref_idc、nal_unit_type简介

音视频入门基础:H.264专题(5)——FFmpeg源码中 解析NALU Header的函数分析

音视频入门基础:H.264专题(6)——FFmpeg源码:从H.264码流中提取NALU Header、EBSP、RBSP和SODB

音视频入门基础:H.264专题(7)——FFmpeg源码中 指数哥伦布编码的解码实现

音视频入门基础:H.264专题(8)——H.264官方文档的描述符

音视频入门基础:H.264专题(9)——SPS简介

音视频入门基础:H.264专题(10)——FFmpeg源码中,存放SPS属性的结构体和解码SPS的函数分析

音视频入门基础:H.264专题(11)——计算视频分辨率的公式

音视频入门基础:H.264专题(12)——FFmpeg源码中通过SPS属性计算视频分辨率的实现

音视频入门基础:H.264专题(13)——FFmpeg源码中通过SPS属性获取视频色彩格式的实现

音视频入门基础:H.264专题(14)——计算视频帧率的公式

音视频入门基础:H.264专题(15)——FFmpeg源码中通过SPS属性获取视频帧率的实现

音视频入门基础:H.264专题(16)——FFmpeg源码中,判断某文件是否为H.264裸流文件的实现

音视频入门基础:H.264专题(17)——FFmpeg源码获取H.264裸流文件信息(视频压缩编码格式、色彩格式、视频分辨率、帧率)的总流程

=================================================================

要生成H.264裸流文件,执行如下命令即可 :

ffmpeg -i input.mp4 -c:v copy -an -bsf:v h264_mp4toannexb output.h264

其中:input.mp4为输入(转换前)的媒体文件,output.h264为根据input.mp4生成的AnnexB包装的H.264裸流文件。备注:H.264 流行的包装方式有两种,一种叫做 AnnexB,一种叫做 avcC。目前FFmpeg只支持生成AnnexB包装的H.264裸流文件。

生成的H.264裸流文件“output.h264”可以直接用vlc播放:

对于AnnexB格式的H.264码流来讲,为了分割各个 NALU ,编码时会在每个 NALU 前面加上0x000001或0x00000001作为startcode(起始码)。用Notepad++等文本编辑器打开output.h264,可以发现最前面一定是0x000001或0x00000001的起始码:

参考文章:

ffmpeg converting .mkv to .264

H.264(H264)视频文件的制作

How to convert raw H.264 in Annex B format to AVCC using FFMPEG command line

ffmpeg command to convert from mp4 video to .h264 raw frame with avcc format

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值