x264编码器的参数设置。

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

我对编码也是一知半解,很多参数意义也不太清楚,基本都是实际调整参数后,观看效果。如果描述错误,勿喷。

我也没打算深入研究,只是想用用该编码器。

本人使用x264主要想调整的参数,

第一,profile,也就是使用baseline还是main,还是high编码。

可以通过该接口设置

x264_param_apply_profile();

第二, 编码复杂度

param.i_level_idc=30;

第三,图像质量控制

 param.rc.f_rf_constant = 25;
 param.rc.f_rf_constant_max = 45;

rc.f_rf_constant是实际质量,越大图像越花,越小越清晰。

param.rc.f_rf_constant_max ,图像质量的最大值。

第四, 码率控制

一开始我使用恒定码流设置,无论我怎么设置,都无法控制实际码流,后来换成平均码流后,就行了。

param.rc.i_rc_method = X264_RC_ABR;//参数i_rc_method表示码率控制,CQP(恒定质量),CRF(恒定码率),ABR(平均码率)
param.rc.i_vbv_max_bitrate=(int)((m_bitRate*1.2)/1000) ; // 平均码率模式下,最大瞬时码率,默认0(与-B设置相同)

param.rc.i_bitrate = (int)m_bitRate/1000; 

x264使用的bitrate需要/1000。

第五,使用实时视频传输时,需要实时发送sps,pps数据

param.b_repeat_headers = 1;  // 重复SPS/PPS 放到关键帧前面  

该参数设置是让每个I帧都附带sps/pps。

第六. I帧间隔

我是将I帧间隔与帧率挂钩的,以控制I帧始终在指定时间内刷新。

以下是2秒刷新一个I帧

 param.i_fps_num = (int)m_frameRate;         
 param.i_fps_den = 1;
 param.i_keyint_max = m_frameRate * 2;

第七,编码延迟

在使用中,开始总是会有编码延迟,导致我本地编码立即解码回放后也存在巨大的视频延迟,

后来发现设置x264_param_default_preset(&param, "fast" , "zerolatency" );后就能即时编码了。

主要是zerolatency该参数。

 

基本的就这样了,完整的设置代码

 

 x264_param_t param;
 
 x264_param_default_preset(&param, "fast" , "zerolatency" );

 param.i_width = m_width;
 param.i_height = m_height;
 param.b_repeat_headers = 1;  // 重复SPS/PPS 放到关键帧前面         
 param.b_cabac = 1;         
 param.i_threads = 1;           
 param.i_fps_num = (int)m_frame

X264的时耗分析(详) and 程序优化技术 测试环境测试环境:Intel Pentium4 3.00GHz  (双核cpu),开启超线程内存:    DDR 1.00G操作系统: Windows sever 2003 Enterprise Edition分析软件: Intel(R) VTune(TM) Performance Analyzer 8.0(评估版lic)编译软件: VC71+nasm0.98Bus Speed: 800MHz测试 阅读详情

相关推荐

bt470,bt709,bt601

PAL,NTSC 制式标准,数字到模拟标准

x264 参数解释

x264 编码的控制参数非常多,本文记录项目中实际用到的参数,并根据网上查找到的参考资料对这些参数给出进一步解释。

zhuiyuanqingya的博客 2751

x264编码器设置详解

x264编码器设置详解 这个主要是在一些视频 软件里的设置会用到 或者相关的知识

x264源码分析与应用示例(一)——视频编码基本流程

x264源码分析与应用示例(一)——视频编码基本流程

m0_60259116的博客 2205

x264学习总结

自实习以来就一直在学习视频编码的有关知识,自己看x264的源代码也有一个月的时间了,目前对x264的整体框架基本摸透了。于是写下这篇学习心得,一来有一个总结,二来方便以后更加深入的学习。 在此要首先感谢雷霄骅大神的系列博客,讲解得很详细,对我有很大的帮助。 首先打开存放在根目录下的x264.c文件,转到main()函数,发现里面是调用main_internal()函数,转到该函数后会发现有两个重要...

weixin_42066685的博客 1129

X264编码器参数设置

我对编码也是一知半解,很多参数意义也不太清楚,基本都是实际调整参数后,观看效果。如果描述错误,勿喷。 我也没打算深入研究,只是想用用该编码器。 本人使用x264主要想调整的参数, 第一,profile,也就是使用baseline还是main,还是high编码。 可以通过该接口设置 x264_param_apply_profile(); 第二, 编码复杂度

dssxk的专栏 3306

x264编码器参数设置

洒家对编码也是一知半解,很多参数意义也不太清楚,基本都是实际调整参数后,观看效果。如果描述错误,勿喷。 洒家也没打算深入研究,洒家只是想用用该编码器。 本人使用x264主要想调整的参数, 第一,profile,也就是使用baseline还是main,还是high编码。 可以通过该接口设置 x264_param_apply_profile(); 第二, 编码复杂度

GodSpeed513的专栏 982

x264编码器参数设置

【转自】http://blog.csdn.net/table/article/details/8085115 我对编码也是一知半解,很多参数意义也不太清楚,基本都是实际调整参数后,观看效果。如果描述错误,勿喷。 我也没打算深入研究,只是想用用该编码器。 本人使用x264主要想调整的参数, 第一,profile,也就是使用baseline还是main,还是high编码。 可以通

lilihli的专栏 817

x264 编码器API调用时的参数设置

x264DLL在调用时主要需要调整的参数包括: 第一,profile,也就是使用baseline还是main,还是high编码。 可以通过该接口设置 x264_param_apply_profile(); 第二, 编码复杂度 param.i_level_idc=30; 第三,图像质量控制  param.rc.f_rf_constant= 25;   param.rc.f_rf_c

charleslei的专栏 1232
上一篇: x264编码器的一些使用经验
下一篇: DShow的视频采集的数据输出YUV420
五行擒拿术
博客等级 码龄26年 52粉丝 1361原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值