




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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_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(¶m, fast , zerolatency );后就能即时编码了。主要是zerolatency该参数。基本的就这样了,完整的设置代码x264_param_t param;x264_param_default_preset(¶m, 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_frameRate;param.i_fps_den = 1;param.i_keyint_max = m_frameRate * 2;/ rc/param.rc.b_mb_tree=0;/这个不为0,将导致编码延时帧.在实时编码时,必须为0param.rc.f_rf_constant = 25;param.rc.f_rf_constant_max = 45;param.rc.i_rc_method = X264_RC_ABR;/参数i_rc_method表示码率控制,CQP(恒定质量),CRF(恒定码率),ABR(平均码率)/param.rc.f_rate_tolerance=0.1;param.rc.i_vbv_max_bitrate=(int)(m_bitRate*1.2)/1000) ;/ 平均码率模式下,最大瞬时码率,默认0(与-B设置相同)param.rc.i_bitrate = (int)m_bitRate/1000;x264_param_apply_profile(¶m, baseline);param.i_level_idc=30;param.i_log_level = X264_LOG_NONE;if( m_p264Handle = x264_encoder_open(¶m) = NULL)看看别人写的对x264结构体的说明typedef struct x264_param_t /* CPU 标志位 */ unsigned int cpu; int i_threads; /* 并行编码多帧 */ int b_deterministic; /*是否允许非确定性时线程优化*/ int i_sync_lookahead; /* 线程超前缓冲 */ /* 视频属性 */ int i_width; /* 宽度*/ int i_height; /* 高度*/ int i_csp; /* 编码比特流的CSP,仅支持i420,色彩空间设置 */ int i_level_idc; /* level值的设置*/ int i_frame_total; /* 编码帧的总数, 默认 0 */*Vui参数集视频可用性信息视频标准化选项 */ struct /* they will be reduced to be 0 x i_fps_num, &p-i_fps_den ) = 2 ) ; else if( sscanf( value, %f, &fps ) ) p-i_fps_num = (int)(fps * 1000 + .5); p-i_fps_den = 1000; else b_error = 1; Value的值就是fps。*/ /*流参数 */ int i_frame_reference; /* 参考帧最大数目 */ int i_keyint_max; /* 在此间隔设置IDR关键帧 */ int i_keyint_min; /* 场景切换少于次值编码位I, 而不是 IDR. */ int i_scenecut_threshold; /*如何积极地插入额外的I帧 */ int i_bframe; /*两个相关图像间P帧的数目 */ int i_bframe_adaptive; /*自适应B帧判定*/ int i_bframe_bias; /*控制插入B帧判定,范围-100+100,越高越容易插入B帧,默认0*/ int b_bframe_pyramid; /*允许部分B为参考帧 */*去块滤波器需要的参数*/ int b_deblocking_filter; int i_deblocking_filter_alphac0; /* -6, 6 -6 light filter, 6 strong */ int i_deblocking_filter_beta; /* -6, 6 idem */ /*熵编码 */ int b_cabac; int i_cabac_init_idc; int b_interlaced; /* 隔行扫描 */ /*量化 */ int i_cqm_preset; /*自定义量化矩阵(CQM),初始化量化模式为flat*/ char *psz_cqm_file; /* JM format读取JM格式的外部量化矩阵文件,自动忽略其他cqm 选项*/ uint8_t cqm_4iy16; /* used only if i_cqm_preset = X264_CQM_CUSTOM */ uint8_t cqm_4ic16; uint8_t cqm_4py16; uint8_t cqm_4pc16; uint8_t cqm_8iy64; uint8_t cqm_8py64; /* 日志 */ void (*pf_log)( void *, int i_level, const char *psz, va_list ); void *p_log_private; int i_log_level; int b_visualize; char *psz_dump_yuv; /* 重建帧的名字 */ /* 编码分析参数*/ struct unsigned int intra; /* 帧间分区*/ unsigned int inter; /* 帧内分区 */ int b_transform_8x8; /* 帧间分区*/ int b_weighted_bipred; /*为b帧隐式加权 */ int i_direct_mv_pred; /*时间空间队运动预测 */ int i_chroma_qp_offset; /*色度量化步长偏移量 */ int i_me_method; /* 运动估计算法 (X264_ME_*) */ int i_me_range; /* 整像素运动估计搜索范围 (from predicted mv) */ int i_mv_range; /* 运动矢量最大长度(in pixels). -1 = auto, based on level */ int i_mv_range_thread; /* 线程之间的最小空间. -1 = auto, based on number of threads. */ int i_subpel_refine; /* 亚像素运动估计质量 */ int b_chroma_me; /* 亚像素色度运动估计和P帧的模式选择 */ int b_mixed_references; /*允许每个宏块的分区在P帧有它自己的参考号*/ int i_trellis; /* Trellis量化,对每个8x8的块寻找合适的量化值,需要CABAC,默认0 0:关闭1:只在最后编码时使用2:一直使用*/ int b_fast_pskip; /*快速P帧跳过检测*/ int b_dct_decimate; /* 在P-frames转换参数域 */ int i_noise_reduction; /*自适应伪盲区 */ float f_psy_rd; /* Psy RD strength */ float f_psy_trellis; /* Psy trellis strength */ int b_psy; /* Toggle all psy optimizations */ /*,亮度量化中使用的无效区大小*/ int i_luma_deadzone2; /* 帧间, 帧内 */ int b_psnr; /* 计算和打印PSNR信息 */ int b_ssim; /*计算和打印SSIM信息*/ analyse; /* 码率控制参数 */ struct int i_rc_method; /* X264_RC_* */ int i_qp_constant; /* 0-51 */ int i_qp_min; /*允许的最小量化值 */ int i_qp_max; /*允许的最大量化值*/ int i_qp_step; /*帧间最大量化步长 */ int i_bitrate; /*设置平均码率 */ float f_rf_constant; /* 1pass VBR, nominal QP */ float f_rate_tolerance; int i_vbv_max_bitrate; /*平均码率模式下,最大瞬时码率,默认0(与-B设置相同) */ int i_vbv_buffer_size; /*码率控制缓冲区的大小,单位kbit,默认0 */ float f_vbv_buffer_init; /* 1: kbit码率控制缓冲区数据保留的最大数据量与缓冲区大小之比,范围01.0,默认0.9*/ float f_ip_factor; float f_pb_factor; int i_aq_mode; /* psy adaptive QP. (X264_AQ_*) */ float f_aq_strength; int b_mb_tree; /* Macroblock-tree ratecontrol. */ int i_lookahead; /* 2pass 多次压缩码率控制 */ int b_stat_write; /* Enable stat writing in psz_stat_out */ char *psz_stat_out; int b_stat_read; /* Read stat from psz_stat_in and use it */ char *psz_stat_in; /* 2pass params (same as ffmpeg ones) */ float f_qcompress; /* 0.0 = cbr, 1.0 = constant qp */ float f_qblur; /*时间上模糊量化 */ float f_complexity_blur; /* 时间上模糊复杂性 */ x264_zone_t *zones; /* 码率控制覆盖 */ int i_zones; /* number of zone_ts */ char *psz_zones; /*指定区的另一种方法*/ rc; /* Muxing parameters */
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全法律法规培训记录课件
- 2025-2030工业气体分离提纯技术发展动态与商业应用研究报告
- 2025河北张家口市专职消防队伍管理中心第一批政府专职消防员招聘160人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025-2030工业机器人应用领域拓展及投资风险评估报告
- 2025-2030工业废水零排放处理技术经济性比较研究报告
- 竞业限制协议范本完整版6篇
- 圆梦奖学金申请书
- 吊装开工申请书
- 光大结算申请书
- 澧州课件介绍
- 十二大报告解读
- 血管内导管相关性血流感染预防与诊治指南(2025)解读
- 瓦楞纸箱基本知识培训课件
- 2025年安全培训《易制毒、易制爆化学品管理及应急预案》考试试卷(含答案)
- GB 26572-2025电器电子产品有害物质限制使用要求
- 2025年执纪监督考试题库
- 2025年官方三力测试题库及答案
- 2025年高考重庆卷生物试题答案解读及备考指导(精校打印)
- 周围神经损伤护理
- 高一信息技术课件全套
- 护理时政面试题目及答案
评论
0/150
提交评论