x264编码参数设置
2016-08-09 09:04
483 查看
H264Encoder *pEn = (H264Encoder *) AllocBuffer(sizeof(H264Encoder));
pEn->param = (x264_param_t *) AllocBuffer(sizeof(x264_param_t));
x264_param_default(pEn->param); //set default param
/*设置profile属性*/
//x264_profile_names数组定义如下:static const char * const x264_profile_names[] =
//{ "baseline", "main", "high", "high10", "high422", "high444", 0 };
x264_param_apply_profile(pEn->param,x264_profile_names[0]);
pEn->param->i_csp = X264_CSP_I420;// 设置帧数据格式为420
pEn->param->i_width = m_nPicW; // 设置帧宽度
pEn->param->i_height = m_nPicH; // 设置帧高度
pEn->param->rc.i_lookahead = 0;
pEn->param->i_fps_num = m_nFps; // 设置帧率(分子)
pEn->param->i_fps_den = 1; // 设置帧率时间1s(分母)
pEn->param->rc.i_bitrate = m_nBitrate; // 设置码率
pEn->param->rc.i_vbv_max_bitrate = pCodecParam->encoder.iMaxBitrate; // 设置平均码率模式下,最大瞬时码率
pEn->param->i_keyint_max = m_nFps * 2; // 设置GOP最大长度
pEn->param->i_keyint_min = m_nFps * 2; // 设置GOP最小长度
pEn->param->pf_log = x264_log; // 设置打印日志回调
pEn->param->p_log_private = NULL;
pEn->param->i_log_level = X264_LOG_WARNING;
pEn->param->b_vfr_input = 0; // 1:使用timebase和时间戳做码率控制 0:只使用fps做码率控制
pEn->param->i_timebase_num = 1; // timebase(分子)
pEn->param->i_timebase_den = 1000; // timebase(分母)
pEn->param->b_repeat_headers = 0; // 1:在每个关键帧前面放sps和pps
pEn->param->i_threads = 1; // 并行编码多个帧线程数
pEn->param->rc.i_rc_method = X264_RC_ABR; // 码率控制方法,CQP(恒定质量),CRF(恒定码率),ABR(平均码率)
pEn->param->rc.i_vbv_buffer_size = pCodecParam->encoder.iMaxBitrate; //码率控制缓冲区的大小,单位kbit,默认0
pEn->handle = x264_encoder_open(pEn->param); // 创建一个新的编码器句柄
pEn->param = (x264_param_t *) AllocBuffer(sizeof(x264_param_t));
x264_param_default(pEn->param); //set default param
/*设置profile属性*/
//x264_profile_names数组定义如下:static const char * const x264_profile_names[] =
//{ "baseline", "main", "high", "high10", "high422", "high444", 0 };
x264_param_apply_profile(pEn->param,x264_profile_names[0]);
pEn->param->i_csp = X264_CSP_I420;// 设置帧数据格式为420
pEn->param->i_width = m_nPicW; // 设置帧宽度
pEn->param->i_height = m_nPicH; // 设置帧高度
pEn->param->rc.i_lookahead = 0;
pEn->param->i_fps_num = m_nFps; // 设置帧率(分子)
pEn->param->i_fps_den = 1; // 设置帧率时间1s(分母)
pEn->param->rc.i_bitrate = m_nBitrate; // 设置码率
pEn->param->rc.i_vbv_max_bitrate = pCodecParam->encoder.iMaxBitrate; // 设置平均码率模式下,最大瞬时码率
pEn->param->i_keyint_max = m_nFps * 2; // 设置GOP最大长度
pEn->param->i_keyint_min = m_nFps * 2; // 设置GOP最小长度
pEn->param->pf_log = x264_log; // 设置打印日志回调
pEn->param->p_log_private = NULL;
pEn->param->i_log_level = X264_LOG_WARNING;
pEn->param->b_vfr_input = 0; // 1:使用timebase和时间戳做码率控制 0:只使用fps做码率控制
pEn->param->i_timebase_num = 1; // timebase(分子)
pEn->param->i_timebase_den = 1000; // timebase(分母)
pEn->param->b_repeat_headers = 0; // 1:在每个关键帧前面放sps和pps
pEn->param->i_threads = 1; // 并行编码多个帧线程数
pEn->param->rc.i_rc_method = X264_RC_ABR; // 码率控制方法,CQP(恒定质量),CRF(恒定码率),ABR(平均码率)
pEn->param->rc.i_vbv_buffer_size = pCodecParam->encoder.iMaxBitrate; //码率控制缓冲区的大小,单位kbit,默认0
pEn->handle = x264_encoder_open(pEn->param); // 创建一个新的编码器句柄
相关文章推荐
- x264 编码参数设置详解
- x264的一些参数设置对编码效率的影响
- (转)x264的一些参数设置对编码效率的影响
- x264的一些参数设置对编码效率的影响
- x264的一些参数设置对编码效率的影响
- X264 实时视频流编码参数设置
- Linux 音视频技术] 转:ffmpeg使用x264编码的配置+ ffmpeg与 x264编码器参数完整对照表
- 关于ffmpeg中的VBR控制的讨论及各参数在编码时的作用(编码参数设置必看)精华
- x264编码器的参数设置。
- vs如何向main函数传参数、设置字符编码、设置OpenMp等
- x264编码参数大测试:07 subme与crf(小结)
- x264编码参数大测试:06 subme与crf(h)
- ffmpeg x264编码参数对照表
- 【转】IDEA IDEA 9 快捷键 utf-8 编码 参数设置 编码设置 设置配置 自动保存设置 优化设置
- X264的参数设置
- x264编码参数大测试:09 trellis(crf26)
- C#:PDU格式短信编解码(四)编码参数设置部分
- ffmpeg编码个参数的设置以及作用
- x264编码参数大测试:08 subme与指定码率(1000Kbps)
- X264的参数设置