如何参考x264,使用libx264编码实时的摄像头图像帧

参考x264工程中的实现,关键的几个地方:

p_read_frame( &pic, opt->hin, i_frame + opt->i_seek )//实际是int read_frame_yuv( x264_picture_t *p_pic, hnd_t handle, int i_frame )

i_file += Encode_frame( h, opt->hout, &pic );

i_size = x264_nal_encode( data, &i_data, 1, &nal[i] ) ) > 0

i_file += p_write_nalu( hout, data, i_size ); 

最关键的应用接口基本上就是这几个。

 

如果要编码摄像头出来的yuv数据,就要实现与read_frame_yuv等效的动作,把帧内容放到

x264_picture_t.img.plane[0]

x264_picture_t.img.plane[1]

x264_picture_t.img.plane[2]

 x264_picture_t pic;

 

然后循环调用:

x264_encoder_encode( h, &nal, &i_nal, pic, &pic_out )

x264_nal_encode( data, &i_data, 1, &nal[i] )

实现编码,至于编码后的数据,可以发往网络,同时也可以存起来。

编码时有许多参数要设置,这里都没提到,因为我也没搞明白了,慢慢来吧。


转载来自加菲的http://wmnmtm.blog.163.com/blog/static/38245714201163125710855/,谢谢加菲了,一直看你的日志,非常有用


原文来源:http://blog.csdn.net/a514223963/article/details/7993633

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值