X264使用流程文述

X264使用流程文述

Camera 获取的是 NV21 格式的图像数据, 先将 NV21 格式的图像数据转为 I420 格式的图像数据 , 再将 I420 格式的图像数据编码为 H.264 格式的视频数据的过程。

1,首先,声明x264编码器参数,通过x264_param_t x264Param的方式,之后对齐进行赋值

2,设置默认的编码器参数,调用x264_param_default_preset方法,可以设置默认参数。

3,3个参数,第一个是x264参数指针,第二个是编码速度,因为是直播,所以采用最快ultrafast,第三个是编码场景设置,直播一般选用最低延迟的zerolatency

4,接着设置编码器的编码规则,x264Param.i_level_idc = 32; 323.2编码规格,有一个表格上详细标出什么规格下有什么样的码率,帧率要求。

5,然后是设置x264编码器的编码图像的数据格式,x264Param.i_csp = X264_CSP_I420;camera的支持的宽高设置给先x264i_widthi_height

6,接着设置码率模式相关参数,有恒定质量,恒定码率,ABR平均码率三个参数,直播一般设置为ABR平均码率

7, 设置码率i_bitrat, 最大码率i_vbv_max_bitrat,还有码率控制的缓冲区大小i_vbv_buffer_size

8,设置帧率相关参数,帧率是个有理数,使用分数形式表示,i_fps_num为分母,i_fps_den为分子

9,设置关键帧是否带spspps数据,x264Param.b_repeat_headers = 1; 直播的话设置为1

10,最后再设置是否开启多线程i_thread = 1;

你可能感兴趣的:(音视频,android,音视频,c++)