Android视频数据采集,H.264编码

Andriod视频采集

在Android端通过摄像头可以采集到视频数据,通过

parameters.setPreviewFormat(ImageFormat.NV21)
通过adb logcat -s jw可以查看支持的格式,一般是NV21,YV12

可以指定视频的格式!
采集完成后的数据buffer就可以传到JNI层,进行格式转换以及编码!

NV,YUV格式转换

Android端采集完成的数据是NV21的,需要转换成YUV420P后,进行H.264编码!

NV21与YUV420P都是属于YUV420格式,每四个Y共用一组UV分量,区别是UV分量的空间排列不同,因此只需要将NV21的UV调换成YUV的VU即可!

H.264编码

预设参数

关于H.264编码,我们可以参照源码里面的example.c!首先需要设置相关的参数,然后再进行编码!
主要调用的几个函数:

x264_param_default_preset 设置
x264_param_apply_profile 设置档次
x264_picture_alloc(x264_picture_t输入图像)初始化
x264_encoder_open 打开编码器
x264_encoder_encode 编码
x264_encoder_close( h ) 关闭编码器,释放资源

开始编码

调用x264_encoder_encode开始编码得到一系列的NALU!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值