安卓 视频 分辨率、帧率和码率三者之间的关系
压缩技术就是将数据中的冗余信息去掉(去除数据之间的相关性),压缩技术包含帧内图像数据压缩技术、帧间图像数据压缩技术和熵编码压缩技术。视频文件一般涉及到三个参数:帧率、分辨率和码率。
帧率:FPS(每秒钟要多少帧画面); 以及Gop(表示多少秒一个I帧)
码率:编码器每秒编出的数据大小,单位是kbps,比如800kbps代表编码器每秒产生800kb(或100KB)的数据。
分辨率:单位英寸中所包含的像素点数; VGA:Video Graphics Array(视频图像分辨率)
三者的对应直播质量的影响因素:
帧率:影响画面流畅度,与画面流畅度成正比:帧率越大,画面越流畅;帧率越小,画面越有跳动感。由于人类眼睛的特殊生理结构,如果所看画面之帧率高于16的时候,就会认为是连贯的,此现象称之为视觉暂留。如果码率为变量,则帧率也会影响体积,帧率越高,每秒钟经过的画面越多,需要的码率也越高,体积也越大。帧率就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次。
分辨率:(矩形)图片的长度和宽带,即图片的尺寸。影响图像大小,与图像大小成正比:分辨率越高,图像越大;分辨率越低,图像越小。
码率:把每秒显示的图片进行压缩后的数据量。影响体积,与体积成正比:码率越大,体积越大,码率越小,体积越小。(体积=码率X时间) 帧率X分辨率=压缩前的每秒数据量(单位是字节。) 压缩比=压缩前的每秒数据量/码率 (对于同一视频源并采用同一种视频编码算法,压缩比越高,画面质量越差)
清晰度
在码率一定的情况下,分辨率与清晰度成反比关系:分辨率越高,图像越不清晰,分辨率越低,图像越清晰。
在分辨率一定的情况下,码率与清晰度成正比关系,码率越高,图像越清晰;码率越低,图像越不清晰。
关于一个视频流的数据量:
码率如果为10Mb/s,代表1秒钟有10M bit的视频数据,对于YUV422格式的1080P视频而言,一帧图像是 1920x1080x2x8/1024/1024 = 31.64Mbit,1秒钟30帧图像的话,则有949.2Mb/s,可见其数据量之大,不压缩根本无法网上传播,所以一定要经过视频压缩处理,不要以为1080P的视频就一定是高清的,清晰度还跟视频码率密切相关,对于1080P的视频而言,蓝光视频的码率是20Mb/s,一般下载的视频码率大都是10Mb/s,一些IPCamera/无人机的码率是2~8Mb/s,而很多视频网站的码率甚至低于5M/s,其实有时还不如高码率的720P清晰。
好的画质是分辨率、帧率和码率三者之间的平衡:
码率不是越大越好
如果不做码率大小上的限制,那么分辨率越高,画质越细腻;帧率越高,视频也越流畅,但相应的码率也会很大,因为每秒钟需要用更多的数据来承载较高的清晰度和流畅度。这对云服务厂商而言这是好事(收入跟流量呈正比),但对您可能意味着更多的费用开支。
帧率不要超过24
如果限定一个码率,比如800kbps,那么帧率越高,编码器就必须加大对单帧画面的压缩比,也就是通过降低画质来承载足够多的帧数。如果视频源来自摄像头,24FPS已经是肉眼极限,所以一般20帧的FPS就已经可以达到很好的用户体验了。
有些玩过3D游戏的朋友可能会说,游戏的帧率越高越流畅。这里要注意一定不要混淆场景:游戏追求高帧率的目的是为了尽可能让3D模型渲染出来的运动效果更加接近真实运动轨迹,所以帧率越高越好。 但对摄像头而言,它要采集的目标是真实世界的物体,真实世界本来就没有刷新率的说法,所以这个理论不适用。
分辨率不盲目攀高
如果限定一个码率,比如800kbps,那么分辨率越高就会让编码器越 “为难" ,可以想象,它必须拆东墙补西墙,通过减少色彩信息或者引入马赛克这种“鱼目混珠”的手段来承载足够多的像素点。所以,同样的是2G的一个电影文件,1080p画质的版本可能不如720p画质的版本看起来更清晰。
视频文件大小计算公式:(音频码率+视频码率) x 时长 / 8
码率公式:视频大小(单位M)*1024*1024 /时长(单位秒)
事例:
公式:(音频码率+视频码率) x 时长 / 8
音频码率:128(kbps)
视频码率:1824 (kbps)
总时长:4*60+13 (秒)
得出:((1824+128)/1024)*(4*60+13)/8 = 60.28515625 M
安卓 视频 分辨率、帧率和码率三者之间的关系相关推荐
- Android 推流--分辨率、帧率和码率三者之间的关系
直播流媒体这块近几年很火,所以不得不去学习,勤积累,以备不时之需. 对于移动端,直播无非就是两个点,一个推流端(主播端),一个拉流端(观众端).这片博文简单理解下推流端会面对的技术点,名词解释,理解这 ...
- 分辨率、帧率和码率三者之间的关系
转自:https://blog.csdn.net/lipengshiwo/article/details/53169235?utm_source=copy 帧率:FPS(每秒钟要多少帧画面): 以 ...
- 视频分辨率、帧率和码率三者之间关系详解
帧率:FPS(每秒钟要多少帧画面): 以及Gop(表示多少秒一个I帧) 码率:编码器每秒编出的数据大小,单位是kbps,比如800kbps代表编码器每秒产生800kb(或100KB)的数据. 分辨 ...
- MATLAB-实现太阳、地球、月亮三者之间运转关系的模拟
例题:宇宙中存在着诸多的天体,以行星地球为例,地球绕着太阳进行公转,同时自身进行着自转.同样的,月亮在围绕地球旋转的同时自身也在自转.为了问题的简单化,假设太阳处于固定位置,且自身只有自转,只考虑太阳 ...
- Java笔记-01(Java语言的特性、JDK、JRE、JVM三者之间的关系和Java重点术语)
1.Java语言的特性 1.1.简单性在Java语言当中真正操作内存的是:JVM(Java虚拟机)所有的java程序都是运行在Java虚拟机当中的.而Java虚拟机执行过程中再去操作内存.对于C或者C ...
- 人工智能、机器学习、深度学习及三者之间的关系
导读:什么是机器学习,什么是人工智能,什么是深度学习,这些名词概念我们一直有听说,但是也很容易混淆 这是小编的其他文章,希望对大家有所帮助,点击即可阅读 人工智能常用的十大算法 人工智能数学基础 ...
- URI、URL、URN三者之间的关系
URI URI(Uniform Resource Identifier, 统一资源标识符),用来标识资源.例如:HTML文档.图像.视频片段.程序都是由一个UtRI进行标识的.URI通常由3部分组成: ...
- PHP-FPM,Nginx,FastCGI 三者之间的关系
2019独角兽企业重金招聘Python工程师标准>>> 本文介绍 PHP-FPM,Nginx,FastCGI 三者之间的关系,以及 Nginx 反向代理和负载均衡的配置. PHP-F ...
- python和pycharm之间的关系_浅析python,PyCharm,Anaconda三者之间的关系
一.它们是什么? 1.python Python是一种跨平台的计算机程序设计语言,简单来说,python就是类似于C,Java,C++等,一种编程语言. 2.Anaconda Anaconda指的是一 ...
最新文章
- 华为自研搜索引擎曝光:「花瓣」虽小,但要替代谷歌
- 首记,一种新的企业信息化平台开发方案——AgileEAS.NET框架
- 相机内参_鱼眼相机标定模型
- oracle数据泵导入分区表统计信息报错(一)
- QML和C++混合编程--(二)
- 微软MIX11大会第一天主旨以及新产品发布总结
- vue.js能美化界面吗_vue将单页面改造成多页面应用的方法
- 一套代码小程序WebNative运行的探索03——处理模板及属性
- AtCoder Beginner Contest 171 E - Red Scarf
- 'System.Data.SqlClient' could not be loaded解决办法
- java 变量 类之间调用_java内部类与其他类变量之间的调用方式
- Web2.0浪潮下的广播电视业
- 经典同步时序逻辑电路分析汇总(第八道)(同步三进制计数器)
- A Novel Plug-in Module for Fine-Grained Visual Classification学习
- SEO精准搜索流量的玩法
- UEFI开发与调试---edk2中的Module
- 给一个喝酒青年的公开状
- openstack基准测试项目Rally介绍
- python实战扫码下载_Python实例 一 12306抢票(一)扫码登陆
- Java 泛型的介绍和使用
热门文章
- keil c51问答
- 如何正确挑选一台适合自己的笔记本电脑
- Excel文本转数字需要双击才能生效解决
- P1784 小水同学的巧克力 OJ
- python进行冒泡排序详解_python冒泡排序详解
- matebook x pro 2020,显卡nvidia mx250,处理器intel i5-10210ou安装win7系统步骤
- phpnow添加虚拟主机
- 被曝红米Note 2屏幕和摄像头偷梁换柱后,小米换图,删帖,发声明
- (完美)华为麦芒7 SNE-AL00的usb调试模式在哪里开启的流程
- TWS蓝牙耳机推荐哪个?性价比高的半入耳式蓝牙耳机推荐