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; 32是3.2编码规格,有一个表格上详细标出什么规格下有什么样的码率,帧率要求。
5,然后是设置x264编码器的编码图像的数据格式,x264Param.i_csp = X264_CSP_I420; 将camera的支持的宽高设置给先x264的i_width和i_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;
1万+

被折叠的 条评论
为什么被折叠?



