当前位置: 首页 > news >正文

Linux_10:码率

1.码率的概念

视频码率是数据传输时单位时间内传输的数据位数,对于视频来说视频码率的单位是kbps(千比特率)每秒。简单说,码率就是取样率码率越高画面质量精度越高,处理的文件或者码流就越接近原始文件。视频码率传输的大小跟分辨率是息息相关的,下面我们来看看分辨率和视频码率的关系。

从上面这张图我们可以看出来,分辨率越高,它所使用的码率就越高。如果推流的分辨率是4K分辨率,则需要25M以上的码率才能够保证画面质量。

2.码率控制模式

码率控制指的是利用编码中的一些特殊手段控制图像的压缩比例,使其画面质量在不同的场景中保持一个最优的状态。

RV1126的码率控制方式,总共分为三种:分别是CBR固定码率控制模式、VBR可变码率控制模式、AVBR码率控制模式。

CBR控制码率

CBR(Constant Bit Rate)指的是固定比特率,它指的是在统计时间内编码码率处于平稳状态。这种方式的特点是码率调节会相对比较缓慢,它不会跟着图像的质量的波动去改变码率。CBR控制模式一般用于网络流媒体视频编码。CBR的优点在于压缩速度非常快,并且码率很平稳不会出现码率跳变的情况。但缺点也很明显,就是它不会根据画面的波动对码率进行节省,这样的话会导致每秒空间的浪费。在RV1126的API里面,CBR一般用平均比特率去表示。

VBR控制码率模式

VBR(Variable Bit Rate)指的是动态码率,它的作用是在统计时间内允许编码编率出现波动,这种波动可以使得编码图像质量变高。VBR的特点是它是随着图像的复杂程度的不同而变化。假设在编码到简单图像的时候它会节省码率,而如果编码到一些相对复杂的图像它的码率将会提升,VBR模式一般使用在DVD、蓝光、HD录播上面。VBR同样也有优缺点,VBR的优点是它的尽可能保证整个图像编码质量,利用VBR编码的图像很少会出现马赛克、画面丢失的情况。但缺点同样也很明显,使用VBR编码出来的图像它的体积是不固定的。所以,它会根据画面的复杂程度去决定视频文件的大小,另外还有的是使用VBR进行编码的时候它的编码算法复杂度会变高,这就会导致解码端的复杂度升高。

VBR内部有三个参数组成分别是MAX、ARG、MIN,这三个参数共同调节VBR码率的画面(如上图)。比方说,现在的码率是8Mbps/s来计算,那么它一个小时的视频文件大小就是(8Mbps/8)KB * 3600 = 3600MB约等于3.6G,这是一般情况下的计算。假设画面里面出现大量的复杂画面,则VBR将会把8Mbps码率提高到MAX,若此时画面有一些静止画面,则会把码率降低到ARG水平。

AVBR控制码率模式

AVBR(Adaptive Variable Bit Rate)全称叫适配式可变码率控制方式,它的很多思想跟VBR基本上是一致的。但它比VBR强大的一点是这种控制方式能够自动检测当前编码场景是静止画面还是运动画面。若当前画面是静止画面则会主动降低码率、若当前画面是运动画面则会把码率主动提升。AVBR适用于当前编码视频静止画面和运动画面频繁出现的场景,所以AVBR码率控制方式经常用在大型体育比赛上面。

AVBR内部也是有三个参数组成分别是MAX、ARG、MIN,三两个参数共同调节AVBR码率的画面(如上图)。比方说,现在的码率是8Mbps/s来计算,那么它一个小时的视频文件大小就是(8Mbps/8)KB * 3600 = 3600MB约等于3.6G,这是一般情况下的计算。假设画面里面出现大量的运动画面(如踢球、打篮球这些场景),则AVBR将会把8Mbps码率提高到MAX(MAX是一个动态调节的东西,它是由后面QP参数进行调节的),若此时画面有一些静止画面,则会把码率降低到MIN水平。AVBR它经常用在大型体育赛事的直播上面

http://www.jsqmd.com/news/306960/

相关文章:

  • Linux_10:编码
  • 视觉提示怎么用?YOLOE镜像详细操作指南来了
  • 【Redis实战进阶篇】高并发下数据安全与性能平衡?Redis准存储三大核心场景实战指南
  • HY-Motion 1.0入门指南:3000小时预训练数据构建动作先验解析
  • 【数据结构-初阶】详解线性表(1)---顺序表 - 实践
  • 完整教程:Vue3组件间通信——pinia
  • 超越CRUD:构建高性能、可测试的FastAPI应用架构深度解析
  • 小白必看:YOLOv9官方版镜像保姆级入门教程
  • Keil5添加文件项目应用:在STM32中添加驱动文件
  • 语音识别卡顿?Fun-ASR内存优化实用建议
  • Qwen2.5-1.5B开源大模型:适配Intel Arc GPU(Arc A770)的oneAPI部署尝试
  • Proteus使用教程:多模块C51联合仿真方案
  • GEO推广源头厂家哪家靠谱?哪家口碑好?
  • 在深渊前绘制草图:论AI元人文作为数字文明的养护性操作系统
  • mcp-cli 轻量级mcp server 交互的cli 工具
  • 地址层级混乱?MGeo帮你理清省市区关系
  • RexUniNLU中文NLP系统实操:微信公众号文章标题+正文联合分析范式
  • StructBERT开源镜像免配置部署:ARM架构服务器兼容性验证与部署指南
  • Keil5下C程序开发的补全增强技巧实战案例
  • Qwen3-Embedding-4B效果展示:向量数值分布图揭示语义编码的稀疏特性
  • ChatGLM-6B在企业客服中的应用:智能问答落地案例
  • CosyVoice-300M Lite新闻播报应用:自动化生成部署案例
  • DeepSeek-R1-Distill-Qwen-1.5B与Llama3对比:边缘设备推理速度评测
  • 利用STM32定时器实现七段数码管动态显示数字
  • 推理速度快,企业级应用稳定可靠
  • GLM-Image小白入门:无需代码基础,10分钟学会AI图像生成
  • GTE-Pro开源大模型部署教程:On-Premises语义引擎零配置镜像实践
  • AI也能有情绪?IndexTTS 2.0情感控制功能全体验
  • 结构化输出太强了!SGLang生成表格数据一气呵成
  • 为什么MinerU部署总失败?图文详解智能文档理解模型一键启动步骤