H.264 码率设置

简介: 一、什么是视频码率 视频码率是视频数据(包含视频色彩量、亮度量、像素量)每秒输出的位数。一般用的单位是kbps。 二、设置视频码率的必要性 在网络视频应用中,视频质量和网络带宽占用是相矛盾的。

一、什么是视频码率

  • 视频码率是视频数据(包含视频色彩量、亮度量、像素量)每秒输出的位数。一般用的单位是kbps。


二、设置视频码率的必要性

  • 在网络视频应用中,视频质量和网络带宽占用是相矛盾的。通常情况下,视频流占用的带宽越高则视频质量也越高,需要的网络带宽也越大,解决这一矛盾的钥匙当然是视频编解码技术。评判一种视频编解码技术的优劣,是比较在相同的带宽条件下,哪个视频质量更好;在相同的视频质量条件下,哪个占用的网络带宽更少(文件体积小)。
  • 是不是视频码率越高,质量越好呢?理论上是这样的。然而在我们肉眼分辨的范围内,当码率高到一定程度时,就没有什么差别了。所以码率设置有它的最优值,H.264(也叫AVC或X264)的文件中,视频的建议码率如下:

 

视频大小
分辨率
推荐码率
480P
720X480
1800Kbps
720P
1280X720
3500Kbps
1080P
1920X1080
8500Kbps


三、手机设置码率建议

  • 通过上面的介绍,结合我做过的一些手机项目,我总结了一套设置码率的公式,分享给大家如下:

 

项目 计算公式 192X144 320X240 480X360 640X480 1280X720 1920X1080
极低码率 (宽X高X3)/4 30kbps 60kbps 120kbps 250kbps 500kbps 1000kbps
低码率 (宽X高X3)/2 60kbps 120kbps 250kbps 500kbps 1000kbps 2000kbps
中码率 (宽X高X3) 120kbps 250kbps 500kbps 1000kbps 2000kbps 4000kbps
高码率 (宽X高X3)X 2 250kbps 500kbps 1000kbps 2000kbps 4000kbps 8000kbps
极高码率 (宽X高X3)X4 500kbps 1000kbps 2000kbps 4000kbps 8000kbps 16000kbps
目录
相关文章
|
编解码 监控 Android开发
视频码率、分辨率、帧率的关系
视频码率、分辨率、帧率的关系
2717 0
|
12月前
|
前端开发 JavaScript API
React、Vue.js 和 Angular前端三大框架对比与选择
前端框架是用于构建用户界面的工具和库,它提供组件化结构、数据绑定、路由管理和状态管理等功能,帮助开发者高效地创建和维护 web 应用的前端部分。常见的前端框架如 React、Vue.js 和 Angular,能够提高开发效率并促进团队协作。
692 4
|
Python
python语法错误变量未定义
【7月更文挑战第9天】
527 1
|
网络协议 网络安全 流计算
【流媒体】RTMP、RTSP、HLS、HTTP协议的介绍与对比
【流媒体】RTMP、RTSP、HLS、HTTP协议的介绍与对比
1006 0
|
前端开发 定位技术 API
【Flutter前端技术开发专栏】Flutter中的第三方服务集成(如支付、地图等)
【4月更文挑战第30天】本文介绍了在Flutter中集成第三方服务,如支付和地图,以增强应用功能和用户体验。开发者可通过官方或社区插件集成服务,关注服务选择、API调用、错误处理和用户体验。支付集成涉及选择服务、获取API密钥、引入插件、调用API及处理结果。地图集成则需选择地图服务、获取API密钥、初始化地图并添加交互功能。集成时注意选择稳定插件、阅读文档、处理异常、优化性能和遵循安全规范。随着Flutter生态发展,更多第三方服务将可供选择。
259 0
【Flutter前端技术开发专栏】Flutter中的第三方服务集成(如支付、地图等)
|
存储 Java
Java类的定义与实践
Java类的定义与实践
183 0
|
Ubuntu Linux
Linux查看系统发行版版本信息
在Linux中查看系统发行版版本信息有多种方法,包括使用`lsb_release`命令、查看`/etc/*-release`文件、`uname -a`、`/proc/version`、YUM或APT命令,以及特定发行版文件和命令。图形界面和在线资源也是获取信息的途径。不同的方法适用于不同系统配置。
618 0
|
负载均衡 开发者 Docker
深入浅出:利用Docker容器化技术提升Web开发效率
在快速变化的软件开发领域,开发者面临着环境一致性和项目部署效率的双重挑战。Docker作为一种先进的容器化技术,为解决这些问题提供了优雅的解决方案。本文将探讨Docker的核心概念、优势以及如何在Web开发中应用Docker来提升开发和部署的效率。通过实际案例分析,读者将了解到如何构建、分享和运行Docker容器,以确保开发环境的一致性,并加速Web应用的交付过程。
|
XML 物联网 API
Android Ble蓝牙App(二)连接与发现服务
Android Ble蓝牙App(二)连接与发现服务
556 1
|
消息中间件 网络协议 算法
网络协议的重要性与应用:理解进程间通信和网络分层结构(上)
学习网络协议的关键是了解其分层结构。在计算机网络中,我们使用的是OSI标准模型和TCP/IP网络模型。这些模型将网络通信划分为多个层级,每个层级都有不同的功能和作用。在本章节中,我们主要讲解了TCP/IP网络模型的前三层:应用层、传输层和网络层。后面的数据链路层和物理层将在下一篇文章中进行详细讲解
654 0
网络协议的重要性与应用:理解进程间通信和网络分层结构(上)