H264视频编码

1、步骤

创建编码器,得到上下文返回(即返回enc_ctx的地址)

在函数中继续的给enc_ctx设置参数

打开编码器

注意,定义一下ret,在函数里面最开头

int ret = 0;

2、使用的时候调用上面函数就行(例如下图)

3、进行数据编解码需要下面两个函数

可以看出需要构造输入数据AVFrame,和输出数据AVPacket

4、创建AVFrame

有个错printf写错

在需要的函数中调用上面方法即可

5、创建AVPacket数据

6、实际数据处理(因为电脑视频是NV12格式,转换为YUV420格式)

NV12存储格式在前面讲,因为是YYYYYYYY UVVU格式存储,Y个数有640*480=307200个

7、编码

接上

记得现在函数开始定义ret

int ret = 0;

注意:上面代码调试出错(外层加个判断)

接上(获取转换好的数据)

这样就写好编码器编码数据函数了

8、回到先去调用编码数据函数的函数中调用

注意编码完成后要再调用一次,这样就不会漏数据在缓冲区了

9、调试

出现花屏(在主函数中加个int base = 0; 然后然PTS每次加1 )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值