视频码率、帧率和分辨率到底哪一个影响电影的清晰度

码率:影响体积,与体积成正比:码率越大,体积越大;码率越小,体积越小。

码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。也就是取样率(并不等同与采样率,采样率的单位是Hz,表示每秒采样的次数),单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件,但是文件体积与取样率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真,围绕这个核心衍生出来cbr(固定码率)与vbr(可变码率), “码率”就是失真度,码率越高越清晰,反之则画面粗糙而多马赛克。

下面是通过一个wav文件的采样率来计算码率和文件大小,通过MediaInfo工具显示的文件信息如下:

概要

完整名称 :audio\wav\adele-rolling_in_the_deep.wav

文件格式 : Wave

文件大小 : 38.3 MiB

长度 : 3分 47秒

平均混合码率 : 1 411 Kbps

音频

ID : 0

文件格式 : PCM

格式设置,Endianness : Little

编码设置ID : 1

编码设置ID/提示信息 : Microsoft

长度 : 3分 47秒

码率 : 1 411.2 Kbps

声道 : 2声道

采样率 : 44.1 KHz

位深度 : 16位

大小 : 38.3 MiB (100%)

1.码率计算公式:

码率=采样率 x 位深度 x 声道

所以,上面文件的码率= 44.1Khz x 16位 x 2声道 = 1411.2 Kbps

2.文件大小 = 码率 x 时长 = 1411.2 Kbps x (3 x 60 + 47 )s = 1411.2Kbps x 227s =38102.4Kb

38102.4 Kb /1024 Kb/M = 37.2M

近似等于mediainfo工具显示的文件大小38.3M。

注:此计算公式对未压缩的wav格式文件有效,不适用于mp3等被压缩的文件。

通常来说,一个视频文件包括了画面及声音,例如一个RMVB的视频文件,里面包含了视频信息和音频信息,音频及视频都有各自不同的采样方式和比特率,也就是说,同一个视频文件音频和视频的比特率并不是一样的。而我们所说的一个视频文件码流率大小,一般是指视频文件中音频及视频信息码流率的总和。

以国内最流行,大家最熟悉的RMVB视频文件为例,RMVB中的VB,指的是VBR,即Variable BitRate的缩写,中文含义是可变比特率,它表示RMVB采用的是动态编码的方式,把较高的采样率用于复杂的动态画面(歌舞、飞车、战争、动作等),而把较低的采样率用于静态画面,合理利用资源,达到画质与体积可兼得的效果。

帧率(FPS):影响画面流畅度,与画面流畅度成正比:帧率越大,画面越流畅;帧率越小,画面越有跳动感。如果码率为变量,则帧率也会影响体积,帧率越高,每秒钟经过的画面越多,需要的码率也越高,体积也越大。音视频学习资料:https://docs.qq.com/doc/DWHhNTlVtaFJId0ht

帧率就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次。每秒显示的图片数影响画面流畅度,与画面流畅度成正比:帧率越大,画面越流畅;帧率越小,画面越有跳动感。由于人类眼睛的特殊生理结构,如果所看画面之帧率高于16的时候,就会认为是连贯的,此现象称之为视觉暂留。并且当帧速达到一定数值后,再增长的话,人眼也不容易察觉到有明显的流畅度提升了。

分辨率:影响图像大小,与图像大小成正比:分辨率越高,图像越大;分辨率越低,图像越小。

带宽、帧率(FPS)

例如在ADSL线路上传输图像,上行带宽只有512Kbps,但要传输4路CIF分辨率的图像。按照常规,CIF分辨率建议码率是512Kbps,那么照此计算就只能传一路,降低码率势必会影响图像质量。那么为了确保图像质量,就必须降低帧率,这样一来,即便降低码率也不会影响图像质量,但在图像的连贯性上会有影响。

​GOP(Group of picture)

关键帧的周期,也就是两个IDR帧之间的距离,一个帧组的最大帧数,一般而言,每一秒视频至少需要使用 1 个关键帧。增加关键帧个数可改善质量,但是同时增加带宽和网络负载。

需要说明的是,通过提高GOP值来提高图像质量是有限度的,在遇到场景切换的情况时,H.264编码器会自动强制插入一个I帧,此时实际的GOP值被缩短了。另一方面,在一个GOP中,P、B帧是由I帧预测得到的,当I帧的图像质量比较差时,会影响到一个GOP中后续P、B帧的图像质量,直到下一个GOP开始才有可能得以恢复,所以GOP值也不宜设置过大。

同时,由于P、B帧的复杂度大于I帧,所以过多的P、B帧会影响编码效率,使编码效率降低。另外,过长的GOP还会影响Seek操作的响应速度,由于P、B帧是由前面的I或P帧预测得到的,所以Seek操作需要直接定位,解码某一个P或B帧时,需要先解码得到本GOP内的I帧及之前的N个预测帧才可以,GOP值越长,需要解码的预测帧就越多,seek响应的时间也越长。

常见编码模式:

VBR(Variable Bitrate)动态比特率也就是没有固定的比特率,压缩软件在压缩时根据音频数据即时确定使用什么比特率,这是以质量为前提兼顾文件大小的方式,推荐编码模式;

ABR(Average Bitrate)平均比特率是VBR的一种插值参数。LAME针对CBR不佳的文件体积比和VBR生成文件大小不定的特点独创了这种编码模式。ABR在指定的文件大小内,以每50帧(30帧约1秒)为一段,低频和不敏感频率使用相对低的流量,高频和大动态表现时使用高流量,可以做为VBR和CBR的一种折衷选择。

CBR(Constant Bitrate)常数比特率指文件从头到尾都是一种位速率。相对于VBR和ABR来讲,它压缩出来的文件体积很大,而且音质相对于VBR和ABR不会有明显的提高。

高清视频

目前的720P以及1080P采用了很多种编码,例如主流的MPEG2,VC-1以及H.264,还有Divx以及Xvid,至于封装格式更多到令人发指,ts、mkv、wmv以及蓝光专用等等。

720和1080代表视频流的分辨率,前者1280*720,后者1920*1080,不同的编码需要不同的系统资源,大概可以认为是H.264>VC-1>MPEG2。

VC-1是最后被认可的高清编码格式,不过因为有微软的后台,所以这种编码格式不能小窥。相对于MPEG2,VC-1的压缩比更高,但相对于H.264而言,编码解码的计算则要稍小一些,目前来看,VC-1可能是一个比较好的平衡,辅以微软的支持,应该是一只不可忽视的力量。一般来说,VC-1多为“.wmv”后缀,但这都不是绝对的,具体的编码格式还是要通过软件来查询。

总的来说,从压缩比上来看,H.264的压缩比率更高一些,也就是同样的视频,通过H.264编码算法压出来的视频容量要比VC-1的更小,但是VC-1 格式的视频在解码计算方面则更小一些,一般通过高性能的CPU就可以很流畅的观看高清视频。相信这也是目前NVIDIA Geforce 8系列显卡不能完全解码VC-1视频的主要原因。

PS&TS是两种视频或影片封装格式,常用于高清片。扩展名分别为VOB/EVO和TS等;其文件编码一般用MPEG2/VC-1/H.264

高清,英文为“High Definition”,即指“高分辨率”。高清电视(HDTV),是由美国电影电视工程师协会确定的高清晰度电视标准格式。现在的大屏幕液晶电视机,一般都支持1080i和720P,而一些俗称的“全高清”(Full HD),则是指支持1080P输出的电视机。

目前的高清视频编码格式主要有H.264、VC-1、MPEG-2、MPEG-4、DivX、XviD、WMA-HD以及X264。事实上,现在网络上流传的高清视频主要以两类文件的方式存在:一类是经过MPEG-2标准压缩,以tp和ts为后缀的视频流文件;一类是经过WMV-HD(WindowsMedia Video HighDefinition)标准压缩过的wmv文件,还有少数文件后缀为avi或mpg,其性质与wmv是一样的。真正效果好的高清视频更多地以H.264与VC-1这两种主流的编码格式流传。

一般来说,H.264格式以“.avi”、“.mkv”以及“.ts”封装比较常见。

清晰度

在码率一定的情况下,分辨率与清晰度成反比关系:分辨率越高,图像越不清晰,分辨率越低,图像越清晰。

在分辨率一定的情况下,码率与清晰度成正比关系,码率越高,图像越清晰;码率越低,图像越不清晰。

在码率一定的情况下,分辨率在一定范围内取值都将是清晰的;同样地,在分辨率一定的情况下,码率在一定范围内取值都将是清晰的。

在视频压缩的过程中, I帧是帧内图像数据压缩,是独立帧。而P帧则是参考I帧进行帧间图像数据压缩,不是独立帧。在压缩后的视频中绝大多数都是P帧,故视频质量主要由P帧表现出来。由于P帧不是独立帧,而只是保存了与邻近的I帧的差值,故实际上并不存在分辨率的概念,应该看成一个二进制差值序列。而该二进制序列在使用熵编码压缩技术时会使用量化参数进行有损压缩,视频的质量直接由量化参数决定,而量化参数会直接影响到压缩比和码率。

视频质量可以通过主观和客观方式来表现,主观方式就是通常人们提到的视频清晰度,而客观参数则是量化参数或者压缩比或者码率。在视频源一样,压缩算法也一样的前提下比较,量化参数,压缩比和码率之间是有直接的比例关系的。

分辨率的变化又称为重新采样。由高分辨率变成低分辨率称为下采样,由于采样前数据充足,只需要尽量保留更多的信息量,一般可以获得相对较好的结果。而由低分辨率变成高分辨率称为上采样,由于需要插值等方法来补充(猜测)缺少的像素点,故必然会带有失真,这就是一种视频质量(清晰度)的损失。

关于一个视频流的数据量:

码率如果为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画质的版本看起来更清晰。

音视频开发系列(6)视频码率,帧率和分辨率相关推荐

  1. 【音视频开发系列】一学就会,快速掌握音视频开发的第一个开源项目FFmpeg

    快速掌握音视频开发的第一个开源项目:FFmpeg 1.为什么要学FFmpeg 2.FFmpeg面向对象思想分析 3.FFmpeg各种组件剖析 视频讲解如下,点击观看: [音视频开发系列]一学就会,快速 ...

  2. 【音视频开发系列】盘点音视频直播RTSP/RTMP推流一定会遇到的各种坑,教你快速解决

    聊聊RTSP/RTMP推流那些坑 1.推流架构分析 2.推流缓存队列的设计 3.FFmpeg函数阻塞问题分析 [音视频开发系列]盘点音视频直播一定会遇到的各种坑,教你快速解决 更多精彩内容包括:C/C ...

  3. 【音视频开发系列】srs-webrtc-janus开源流媒体服务器分析

    全球最牛开源流媒体服务器源码分析 1.如何学习流媒体服务器 2.全球最牛流媒体服务器架构分析 3.我们能从全球最牛流媒体服务器得到什么 [音视频开发系列]srs-webrtc-janus流媒体服务器分 ...

  4. iOS音视频开发八:视频编码,H.264 和 H.265 都支持

    我们将通过拆解采集 → 编码 → 封装 → 解封装 → 解码 → 渲染流程并实现 Demo 来向大家介绍如何在 iOS/Android 平台上手音视频开发. 这里是第八篇:iOS 视频编码 Demo. ...

  5. 直播软件搭建音视频开发中的视频采集

    直播软件搭建音视频开发中的视频采集 前言 在直播和短视频行业日益火热的发展形势下,音视频开发(采集.编解码.传输.播放.美颜)等技术也随之成为开发者们关注的重点,本系列文章就音视频开发过程中所运用到的 ...

  6. 《基于Windows 7特性的程序开发系列》视频分享

    前一阵录制了<基于Windows 7特性的程序开发系列>视频课程,主要针对WinForm.WPF 开发具有Windows 7 特性的程序.现已发布到MSDN Webcast 欢迎大家拍砖. ...

  7. 视频码率,帧率和分辨率

    视频码率,帧率和分辨率到底哪一个影响电影的清晰度 码率:影响体积,与体积成正比:码率越大,体积越大:码率越小,体积越小. 码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒 ...

  8. 音视频开发系列--H264编解码总结

    一.概述 H264,通常也被称之为H264/AVC(或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC) 对摄像头采集的每一帧视频需要进行编码,由于视频中存在空间和时间的冗余,需要 ...

  9. 音视频开发系列(16)技术解码 | SRT和RIST协议综述

    概要 近些年来,互联网行业出现了几波和音视频相关的热潮:VR.短视频.直播等.除了VR因技术成熟度问题,还在蓄势待发,短视频和直播持续热度不减,以各种方式进入新的行业应用领域.视频直播方向,RTMP仍 ...

  10. 音视频开发系列-H264编码原理

    H264简介 来自百度百科的介绍: H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式. H.264是ITU-T以H.26x系列为名称命名的 ...

最新文章

  1. springboot tomcat配置_用了 10 多年的 Tomcat 居然有bug !
  2. Golang中time包
  3. java 锁_Java 锁之我见
  4. 神经网络的激活函数、并通过python实现激活函数
  5. js和ajax点赞功能代码_FANUC数控机床:你会用“M代码”调用“系统程式”吗
  6. Soul网关源码阅读(九)插件配置加载初探
  7. 对象当前正在其他地方使用_2019 为什么我们还会继续使用 PHP ?
  8. android中shape的属性
  9. 说说视频编码格式、视频码率、视频帧率、分辨率的概念
  10. 图片查看器-Python-tkinter
  11. python神经网络模型调用后预测值不变_用R语言实现神经网络预测股票实例
  12. 常见帧率 与 帧率运用
  13. 联想ghost重装系统_如何使用ghost手动安装系统_手动ghost安装系统图文步骤
  14. 数位DP 学习笔记1(数位DP入门)
  15. 数学_矩阵求逆/伪逆计算
  16. 唯品会亿级数据服务平台实践
  17. FFmpeg入门详解之54:搭建环境ffmpeg
  18. 尚医通-(三十三)就诊人管理功能实现
  19. 用计算机怎么调闹钟,电脑闹钟怎么设置 win7电脑闹钟怎么设置
  20. 深度学习 loss不下降的解决方法,最全

热门文章

  1. Myscript 转换
  2. ios 表情符号 键盘_更方便地输入颜文字表情:教你如何在 iPhone 键盘中添加颜文字...
  3. word脚注全部放在最后一页(脚注变尾注)
  4. 126. Word Ladder II \ 507. Perfect Number
  5. ctf 实验吧 围在栅栏中的爱 (最近一直在好奇一个问题,QWE到底等不等于ABC? )
  6. 元组定义 元组运算符
  7. 当前车牌识别相机技术发展现状
  8. ffmpeg(七)合并音视频文件
  9. 水调歌头.明月几时有 小儿拼音版
  10. 2019python二级真题_2019年3月二级python真题,上岸必备!