首先说明,这三个选项cqp  ,bitrate ,crf 互斥,只能设置一个,如果你在设置中同时设置了这三个选项,最后会覆盖掉之前的。

1.bitrate

参数解释:

--bitrate <integer>     Set bitrate (kbit/s)

以目标位元率来编码视讯。目标位元率模式意味着最终文件的大小是已知的,但最终的品质则位置。此设定通常

与 2-pass 编码一起使用。

2.CQP [恒定量化参数]

参数解释:

http://forum.doom9.org/archive/index.php/t-89756.html

Constant Quantization Parameter. Also known as "CQ" or "constant quant"

http://blog.yikuyiku.com/?tag=cqp

H.264规范允许每个宏块使用不同的QP。x264目前没有实现这一特性,码率控制算法只会为每一帧生成一个QP。

参数应用:

Ratecontrol:
  -q, --qp <integer>          Force constant QP (0-69, 0=lossless)

在编码使用这个参数,就意味着,强制使用 恒定量化参数了

將值設為0會產生無失真輸出。

3.crf

http://www.360doc.com/content/11/0613/21/3700464_126721552.shtml

当qp是把某个量化值作为目标,而bitrate 是把某个文档的大小作为目标时, crf 则是把某个品质作为目标。

CRF is more efficient than CQP only if you consider the final size.[如果你考虑到最终大小,crf会比cqp更有效一些]

CRF 和 CQP 都是越小越好,

----->

// //set bit rate
avctx->bit_rate = ptr_output_ctx->video_rate;//VIDEO_BIT_RATE;
avctx->rc_max_rate = ptr_output_ctx->video_rate;//VIDEO_BIT_RATE;
avctx->rc_min_rate = ptr_output_ctx->video_rate;//VIDEO_BIT_RATE;
avctx->bit_rate_tolerance = ptr_output_ctx->video_rate;//VIDEO_BIT_RATE;
avctx->rc_buffer_size = ptr_output_ctx->video_rate;//VIDEO_BIT_RATE;
avctx->rc_initial_buffer_occupancy = avctx->rc_buffer_size * 3 / 4;
avctx->rc_buffer_aggressivity = (float)1.0;
avctx->rc_initial_cplx = 0.5;

avctx->coder_type = FF_CODER_TYPE_AC; //different codec_type
//
avctx->thread_count = 1;
avctx->cqp = 26;  //这里cqp 会把之前设置的bitrate 覆盖掉,也就是说encoder会按照设定的qp数值进行编码,而不是bitrate.

cqp VS bitrate VS crf [学习笔记]相关推荐

  1. 概率图模型学习笔记:HMM、MEMM、CRF

    作者:Scofield 链接:https://www.zhihu.com/question/35866596/answer/236886066 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权 ...

  2. FFmpeg基础到工程-多路H265监控录放开发学习笔记

    多路H265监控录放开发学习笔记 课程涉及:FFmpeg,WebRTC,SRS,Nginx,Darwin,Live555,等.包括:音视频.流媒体.直播.Android.视频监控28181.等. 具体 ...

  3. X264学习笔记(1)

    X264学习笔记(1) X264编码流程 参数的初始化 1.opt,param根据输入的参数和标准的规定,进行初始化设置. Opt的说明如下: Opt->hin用于给出读入的yuv文件的指针地址 ...

  4. 深度学习与TensorFlow:FCN论文学习笔记

    七月 上海 | 高性能计算之GPU CUDA培训 7月27-29日三天密集式学习  快速带你入门阅读全文> 正文共1708个字,5张图,预计阅读时间8分钟. 这篇文章陆陆续续看了快两周,其中也遇 ...

  5. 【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记

    李宏毅机器学习学习笔记汇总 课程链接 文章目录 Learning Target Learning Unfortunately 基于RNN的的网络不总是容易去学习 The error surface i ...

  6. 《音频、图像及视频技术》学习笔记

    秒懂音视频开发学习笔记 01_移动通信技术的发展 02_重识图片 03_Windows开发环境搭建 04_Qt开发基础 05_重识声音 06_重识音频 07_音频录制01_命令行 08_音频录制02_ ...

  7. 语义分割——DeepLabv3+的学习笔记~

    1 前言 听说DeepLabv3+是现在最优秀的语义分割框架~ 2 学习笔记 2.1 DeepLabv3+用到了CRF的技术吗? 没有,好像是通过增加context模块实现的:也就是利用了上下文的信息 ...

  8. 我的Android进阶之旅------gt;Android中编解码学习笔记

    编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放license收费等等 ...

  9. Android高级终端开发学习笔记(《疯狂Android讲义》第11章-第17章)

    Android高级终端开发笔记 2021/6/19 下午 13:34开始 多媒体应用开发 Android支持的音频格式有:MP3 WAV 3GP等.支持的视频格式有MP4 3GP等. 多媒体数据既可以 ...

最新文章

  1. Java的Web项目使用DWR简单配置说明
  2. No enclosing instance of type JDStudent is acAcessible. Must qualify the allocation with an enclosin
  3. 深入Java核心 Java内存分配原理精讲(3)
  4. Windows Moible, Wince 使用.NET Compact Framework的进行蓝牙(Bluetooth)设备配对的开发
  5. IDC:无线数字化转型持续进行 第二季度全球企业WLAN市场强劲增长
  6. hdu acm 1241
  7. crt连接中兴服务器,利用SecureCRT实现中兴C220自动登录
  8. RS-485 接口 EMC 电路设计
  9. Excel 文字转拼音
  10. 计算机一级降序和升序,按时间降序排序
  11. verilog ~|
  12. 事务的并发读问题(简图)
  13. hdu-2072 单词数(“水”解法)
  14. 2022-2028年全球与中国红外(IR)摄像机行业市场前瞻与投资战略规划分析
  15. 关爱残障儿童,天使之翼爱心活动进行
  16. Python代码实现中国日报网双语文章订阅至邮箱
  17. C++ Virtual 完美诠释
  18. 用JavaScript实现倒记时特效代码--Java自学网
  19. 清除IE浏览器input后面的删除图标
  20. 深入了解机器学习 (Descending into ML):线性回归

热门文章

  1. 【电力电子】【2015】基于输出总谐波失真的三种逆变器的比较研究
  2. 如何使用BEACON功能?
  3. 多媒体计算机系统中的媒体
  4. 2.1、用JsonParser解析json树模型
  5. 训练营day01 数组 | 704-二分查找、27-移除元素
  6. c#往结构体里面读数据_C# 结构体和ListT类型数据转Json数据保存和读取
  7. MBR与GPT分区扫盲,希捷2T、3T硬盘测评(多图杀猫)
  8. 联想手机X2受到爱马仕继承人侯诺热赞
  9. hive后台启动_将Hive Thrift server 添加到服务后台运行 | 学步园
  10. 双11,客服系统让你告别客服节前emo