大家好,欢迎来到停止重构的频道。

本期我们介绍一下视频的一些基础概念,如帧率、码率、分辨率、像素、dpi、视频帧、I帧、P帧、gop等。

会解释多少码率是清晰的,是否帧率越高越流畅等问题。

这些概念是比较杂乱的,我们按这样的顺序介绍:

1、单个视频帧的概念

2、多个视频帧的概念

3、H264、H265的特殊概念

单个视频帧的概念

单个视频帧可以简单地理解为一个图片。

单个视频帧的概念有:分辨率、像素、dpi、色彩空间模型。

分辨率指的是图像的长宽像素大小,分辨率也有720、1080、2K、4K的说法。

由于视频分辨率一般是16:9的,所以1080一般指1920X1080,其他分辨率如图所示。

细心的小伙伴可能会发现,有时候分辨率后面会加一个P,如1080P等。当然,除了1080P,还有1080I 。

这里的P(逐行扫描)、I(隔行扫描-)指的是扫描方式。

虽然理论上隔行扫描(1080I)可以节省带宽,但是,一般来说,1080i这种隔行扫描是电视节目用的。网络视频、视频文件一般都是1080p这种逐行扫描。

这里顺便一提,如果视频播放时出现了锯齿,一般就是采用了隔行扫描(1080I等)的问题。

接下来是像素,像素其实很简单,就是分辨率长宽相乘,如1920X1080分辨率对应的像素就是200万(2073600)像素。

那么多少分辨率才是清晰的呢?这取决于dpi ,也就是每英寸的像素多少。

但是dpi实际上并不是视频的一个参数,dpi理论上取决于显示设备和视频分辨率参数。

至于多少dpi是清晰的,往往是根据实际场景决定的,毕竟观看距离也起了决定性的因素,如海报等印刷品就要求300dpi。

最后是色彩空间模型,色彩空间模型一般是RGB、YUV这些 ,实际上就是像素点记录色彩数据的方式。

不同色彩空间模型决定着色彩的丰富程度,当然也决定着每个像素的数据量大小。

一般来说:网络视频、图片都会采用YUV420这种数据量较少的色彩空间模型,虽然色彩存在一定程度的失真,但是数据量较少,以至于文件不会太大。

多个视频帧的概念

多个视频帧的概念,其概念有帧率、播放时间戳PTS、码率。

帧率就是一秒的视频帧数,单位是fps,可以简单地理解为一秒切换的图片数量。

一般认为,一秒18帧以上才能看起来是流畅的。

但是这需要根据实际场景而定,电影一般是一秒24帧,游戏需要一秒30帧以上才是流畅的。

这涉及到人的视觉对模糊图像和静止图像切换的感受是不一样的缘故,所以会存在一些具体场景的最低要求偏差。

但是一般来说,网络视频、视频文件具备每秒25帧以上就可以了。

但是帧率实际上并不能直接对视频帧的显示造成影响,很多时候,帧率只是一个平均值。

因为帧率并不能说明每一帧的具体显示时间,比如每秒30帧,你会发现1帧的时间是0.033… 是一个无限小数。

真正影响视频帧显示的是播放时间戳PTS,在每一个视频帧数据中,都会记录此视频帧的播放时间戳PTS,每个时间戳都是整数,需要根据时间基才能换算成具体时间。

接下来是码率,码率是1秒的数据量大小,单位是Mbps。

很多人说,码率越大越清晰,感官上确实是这样的。

但是在音视频处理中,如直播转码中,实际上码率的设置是为了限制数据量的大小。

因为这会影响到网络加载时间,如果码率较大,而带宽不足,那视频会一卡一卡的。

一般来说,码率只是一个平均值,在音视频处理时,只需要设置最大码率。

设置最大码率后,编码器可能会对视频数据进行有损压缩,所以较低码率的视频感官上是不清晰的。

这里的有损压缩只是可能,因为是否压缩,取决于原始数据量的大小,原始数据量的大小又取决于分辨率、帧率、图像的色彩空间模型、编码格式等因素。

一般来说,1920X1080分辨率、30帧、H264编码的视频,最大码率设置为2或3Mbps一般都是清晰的。

当然,最大码率的限制需要看具体场景,有时候为了节省手机客户端的流量,可能会设置很低的最大码率。

H264、H265的特殊概念

最后是介绍一下出现在H264、H265编码格式的一些特殊概念:I帧、B帧、P帧、GOP。

浏览器一般都支持H264编码的视频,H265与H264较为相似,只是H265比H264拥有更高的压缩能力,但同时H265编码的视频在播放时消耗性能也会更多。

H264、H265的编解码器是现成的,其具体算法和工作原理是不需要知道的,但是我们仍然需要知道I帧、P帧、B帧的概念。

这其实是为了压缩相似帧的一种手段。

I帧是能独立播放的,是完整的视频帧。

P帧是需要根据前一个I帧或P帧计算所得。

B帧是需要根据前一个和后一个I帧或P帧计算所得。

I帧是数据量最大的,一般会出现在画面突变的位置,所以一些视频识别软件会优先处理I帧图像,这样有利于快速处理。

B帧虽然是数据量最小的,但是它需要后一个帧数据才能计算出来,所以在直播流等场景下,一般是不生成B帧的,这样有利于直播的流畅。

另外,还有一个对于直播流等流媒体来说非常重要的概念gop,gop指的是一组完整的视频帧 。

如gop设置为25,那么编码器会让每25帧的第一帧必定为I帧,如果帧率也是25帧,那每秒的第一帧就必定是I帧。

这样做的好处是,直播流出现画面花掉的概率会降低,信号中断重连后,直播流也能更快地重新播放,因为P帧、B帧实际上都需要依赖I帧才能计算出来,一般对于直播流而言,gop一般设置为帧率的1-2倍。

总结

以上是关于视频一些概念,这些概念非常重要,是视频处理中需要斟酌的设置,至于音频相关的概念,会在之后的内容中补充。

【音视频处理】码率、帧率越高越清晰?分辨率、像素、dpi之间是什么关系?码率的真实作用,I帧、B帧、P帧是什么相关推荐

  1. 音视频——码率、帧率越高越清晰?分辨率、像素、dpi的关系

    一 前言 本期我介绍一下视频的一些基础概念,如帧率.码率.分辨率.像素.dpi.视频帧.I帧.P帧.gop等.我i初步学习音视频,给这些专业词汇进行扫盲 会解释多少码率是清晰的,是否帧率越高越流畅等问 ...

  2. 视频剪辑用计算机,剪辑视频用的电脑该如何配置 真的配置越高越好?

    本文转载自超能网,其他媒体转载需经超能网同意 视频剪辑软件很多,对电脑配置的要求也有些不同,这里以大家常用的PR.AE为主要诉求,可以说,这是很久以来大家讨论的一个问题,可谓众说纷纭,也有不少人云亦云 ...

  3. 2560x1600分辨率高吗_手机屏幕分辨率真的越高越好?它的好处和坏处你知道吗?...

    如果你是新朋友,请点击上方的蓝色字 关注 "高科技爱好者",保证不会让你失望的. 在这个智能手机不断在更新换代的时代,小伙伴们在选择手机的时候又多了很多考量的因素.除了比较普遍的手 ...

  4. 选择海外数据中心是否等级越高越好

    随着全球互联网业务的高速发展,越来越多的游戏.视频.电商.金融.移动互联网等国内企业将互联网业务拓展至海外,作为企业网络基础设置.决定用户体验的海外数据中心则成为了企业海外业务成败的关键因素. 那么该 ...

  5. 什么!FPS难道不是越高越好吗?

    导语 | 在很长一段时间里,手机的刷新率都是60Hz,随着硬件设备性能的提升,各种高刷新率的移动设备层出不穷,移动端也能有120Hz的显示设备.那么手机上的游戏真的是FPS越高越好吗?本期我们就来探索 ...

  6. 详细分析:摄像头像素为何不是越高越好

    以下为文章主要内容:为了提升拍照质量,各大手机厂商都在拼摄像头像素,从 500 万到 800 万,现在到 1300万.1300 万几乎成为了今年智能手机摄像头像素的标准,比如 Galaxy S4.LG ...

  7. unity图片变成马赛克如何取像素并改变颜色_像素和分辨率到底是什么?它们之间的关系是什么?| 手机相机的像素越高越好吗?...

    本/文主要内容 1像素" 百度百科对于"像素"的定义: 像素是指组成图像的小方格,可以将像素视为整个图像中不可分割的单位或者是元素. " 从这段话很容易就能看出 ...

  8. CPU主频越高越好吗

    CPU主频越高越好吗 在单核心时代,CPU主频是越高性能越好,现在是多核时代,并且架构不一样,即使主频一样,性能也不一样,不要被高主频所迷惑了.看看国外专业网站(http://www.cpubench ...

  9. cpuz北桥频率和内存频率_内存频率不是越高越好:寻找三代锐龙的最佳频率

    AMD的Zen 2架构是一个相当有趣的东西,以往的CPU都尽可能多的把东西整合到里面降低延时提升整合度,AMD这次反其道而行,CPU里面封装了单纯的计算核心CCD和整合各种控制器的I/O核心,内存控制 ...

最新文章

  1. ng-cordova和cordova区别
  2. bootstrap 时间日期日历控件(datetimepicker)附效果图
  3. zabbix自定义监控脚本,显示权限不足
  4. python meataclass详解
  5. 后端解决跨域问题---SpringBoot
  6. 253B. Physics Practical
  7. Django1.9开发博客06- 模板继承
  8. 超赞 | 计算机视觉联盟全新Logo!近期精华回顾!
  9. 教你win7免费升级到win10系统教程
  10. 图书馆系统软件测试计划,图书馆管理系统软件测试计划
  11. OpenGL 中的 Render To Texture
  12. 3 整型变量,实型数据(主要是实型变量)2021-01-25
  13. 《如何阅读一本书》读书笔记
  14. 基于matlab的可见光成像通信OOK解调
  15. 曾经是“杀手级”桌面语言,Java桌面开发为何走向衰落?
  16. 风格迁移1-02:Liquid Warping GAN(Impersonator)-源码模型测试-报错解决
  17. c# 使用ExcelDataReader读写excel(.xls,.xlsx)
  18. 深搜和广搜的原理及优缺点
  19. 前后端分离项目-易买网
  20. META 連接 MT6572 平台手機後發生錯誤

热门文章

  1. 计算机cds,CDS
  2. ffmpeg批量转换m4a为mp3
  3. termux目录_手机学编程(2)目录管理命令
  4. 使用wireshark找不到“捕获接口”问题的解决
  5. 记录Mybatis报Mapped Statements collection already contains value for 的错误的原因
  6. bios 刷 灵耀14_华硕笔记本刷完BIOS后一直进不去系统,怎么解决?
  7. 第17次Scrum会议(10/29)【欢迎来怼】
  8. @Kubernetes(k8s)
  9. 基于简单模型KNN——泰坦尼克号获救分析
  10. 电脑退出安全模式后连不上网