音视频编解码小白入门
4、视频编码基础知识
4.1视频和图像和关系
好了,刚才说了图像,现在,我们开始说视频。
所谓视频,大家从小就看动画,都知道视频是怎么来的吧?
没错,大量的图片连续起来,就是视频。
衡量视频,又是用的什么指标参数呢?
最主要的一个,就是帧率(Frame Rate)。
在视频中,一个帧(Frame)就是指一幅静止的画面。
帧率,就是指视频每秒钟包括的画面数量(FPS,Frame per second)。
帧率越高,视频就越逼真、越流畅。
好文章,来自【福优学苑@音视频+流媒体】
4.2未经编码的视频数据量会有多大?
有了视频之后,就涉及到两个问题:
- 一个是存储;
- 二个是传输。
而之所以会有视频编码,
关键就在于此:一个视频,如果未经编码,它的体积是非常庞大的。
以一个分辨率1920×1280,帧率30的视频为例:
共:1920×1280=2,073,600(Pixels 像素),每个像素点是24bit(前面算过的哦);
也就是:每幅图片2073600×24=49766400 bit,8 bit(位)=1 byte(字节);
所以:49766400bit=6220800byte≈6.22MB。
这是一幅1920×1280图片的原始大小,再乘以帧率30。
也就是说:每秒视频的大小是186.6MB,每分钟大约是11GB,一部90分钟的电影,约是1000GB。。。
怎么样呢?
就算你现在电脑硬盘是4TB的(实际也就3600GB),也放不下几部大片呀!
不仅要存储,还要传输,不然视频从哪来呢?
如果按照100M的网速(12.5MB/s),下刚才那部电影,需要22个小时。。。
我的天哪,再次崩溃。。。
正因为如此,屌丝工程师们就提出了,必须对视频进行编码。
好文章,来自【福优学苑@音视频+流媒体】
4.3什么是编码?
编码:就是按指定的方法,将信息从一种形式(格式),转换成另一种形式(格式)。
视频编码:就是将一种视频格式,转换成另一种视频格式。
编码的终极目的,说白了,就是为了压缩。
各种五花八门的视频编码方式,都是为了让视频变得体积更小,有利于存储和传输。
我们先来看看,视频从录制到播放的整个过程,如下:
首先是视频采集。
通常我们会使用摄像机、摄像头进行视频采集。
好文章,来自【福优学苑@音视频+流媒体】
采集了视频数据之后,就要进行模数转换,将模拟信号变成数字信号。
其实现在很多都是摄像机(摄像头)直接输出数字信号。
信号输出之后,还要进行预处理,将RGB信号变成YUV信号。
前面我们介绍了RGB信号,那什么是YUV信号呢?
简单来说,YUV就是另外一种颜色数字化表示方式。
视频通信系统之所以要采用YUV,而不是RGB,主要是因为RGB信号不利于压缩。
在YUV这种方式里面,加入了亮度这一概念。
在最近几十年中,视频工程师发现,眼睛对于亮和暗的分辨要比对颜色的分辨更精细一些,也就是说,人眼对色度的敏感程度要低于对亮度的敏感程度。
所以,工程师认为,在我们的视频存储中,没有必要存储全部颜色信号。
我们可以把更多带宽留给黑—白信号(被称作“亮度”),将稍少的带宽留给彩色信号(被称作“色度”)。
于是,就有了YUV。
YUV里面的“Y”,就是亮度(Luma),“U”和“V”则是色度(Chroma)。
大家偶尔会见到的Y'CbCr,也称为YUV,是YUV的压缩版本,不同之处在于Y'CbCr用于数字图像领域,YUV用于模拟信号领域,MPEG、DVD、摄像机中常说的YUV其实就是Y'CbCr。
▲ YUV(Y'CbCr)是如何形成图像的
YUV码流的存储格式其实与其采样的方式密切相关。
(采样,就是捕捉数据)
好文章,来自【福优学苑@音视频+流媒体】
主流的采样方式有三种:
1)YUV4:4:4;
2)YUV4:2:2;
3)YUV4:2:0。
这里我们简单介绍一下。好文章,来自【福优学苑@音视频+流媒体】
具体解释起来有点繁琐,大家只需记住,通常用的是YUV4:2:0的采样方式,能获得1/2的压缩率。
这些预处理做完之后,就是正式的编码了。
音视频编解码小白入门相关推荐
- 使用FFMPEG进行音视频编解码(C++) 0.简介
FFMPEG介绍 FFMPEG是一个开源的编解码软件,读作"ef ef em peg".官方网址是:http://ffmpeg.org/.FFMPEG几乎支持所有的格式,当然了像一 ...
- 音视频编解码的国际标准
文章目录 1 音视频编解码的国际标准 1.1 音视频编解码相关的组织 1.2 H.265介绍 1 音视频编解码的国际标准 1.1 音视频编解码相关的组织 音视频编解码主要有如下三大组织推动并发展: I ...
- WebRTC 中收集音视频编解码能力
在 WebRTC 中,交互的两端在建立连接过程中,需要通过 ICE 协议,交换各自的音视频编解码能力,如编解码器和编解码器的一些参数配置,并协商出一组配置和参数,用于后续的音视频传输过程. 对于音频, ...
- linux视音频解码教程,音视频编解码:NVIDIA Jetson Linux Multimedia API(总结)
音视频编解码:NVIDIA Jetson Linux Multimedia API(总结) 2020年12月02日 | 萬仟网IT编程 | 我要评论 一.官网链接官网链接:https://docs.n ...
- mplayer 所支持的音视频编解码
这里我把mplayer 所支持的音视频编解码都罗列出来,方便大家查阅: ---------------------------------------------------------------- ...
- 音视频编解码的一些源代码
音视频编解码的一些源代码 (转) 资料名称:音视频编解码的一些源代码 资料成文时间:不详 语言:英文 页数:很多 何人所著(来源): 文件格式:原代码 开发工具:vc++ 说明: 以下上传的源码是我以 ...
- 【ffmpeg for wince】音视频编解码多平台移植(for window/wince)
from: http://www.cnblogs.com/windwithlife/archive/2009/05/31/1492728.html 终于完成了了第二个Client side原型(for ...
- 各种音视频编解码学习详解之 编解码学习笔记(三):Mpeg系列——Mpeg 1和Mpeg 2
最近在研究音视频编解码这一块儿,看到@bitbit大神写的[各种音视频编解码学习详解]这篇文章,非常感谢,佩服的五体投地.奈何大神这边文章太长,在这里我把它分解很多小的篇幅,方便阅读.大神博客传送门: ...
- 必须要知道的多媒体知识-音视频编解码-h265、h264-直播-点播
多媒体知识 文章目录 多媒体知识 音视频编解码 音频编码 视频编码 解码 编解码关键 什么是码率? 码率 码率计算公式 几点原则 什么是帧率? 帧率 h264和h265是什么? 常见的编码方式 h26 ...
最新文章
- 再也不买仙剑正版盘了
- yield python3 知乎_运维学python之爬虫高级篇(七)scrapy爬取知乎关注用户存入mongodb...
- 设计模式——门面(外观)模式
- [云炬创业基础笔记]第九章企业的法律形态测试8
- 北京内推 | 微软亚洲互联网工程院招聘NLP方向研究实习生(可远程)
- ConcurrentHashMap的源码分析-高低位原理分析
- topic数量是指什么_一个网站的IP、UV和PV到底是什么
- 关于JavaScript中cookie的用法的例子
- IIS 部署WCF时遇到这么个错:
- sklearn计算准确率,召回率,精确率,F1函数
- Python输入输出详解
- 为啥学蛇和python10年后的变化
- Protel DXP 2004 SP3_SP4 注册机
- 帝国时代2哪个服务器稳定,20年后的新生,经典永不落幕——《帝国时代2:决定版》体验报告...
- 关于react-router-dom 6.0.1的基础写法 解决Error A <Route> is only ever to be used as the child of <Routes>
- activity_manager_server
- android毕业论文致谢,毕业论文致谢10篇(精选)
- 【FineReport企业日常问题 1.0】帆软决策服务端管理员密码忘记怎么办?
- 波数与波长 matlab,波长与波数的关系为.PPT
- 教资报名照片怎么弄成200k?照片大小怎么改到200k?