前言
2020年,直播带货又把直播的技术重燃了一把火。回望一下几年前,我们在手机上阅读方式,还只是图文;如看小说、读新闻,学习还是书本(包括电子书)。再看一下现在,大家的阅读方式,早已经变成了视频或者音频;看动画、听小说、看视频教程。音视频、流媒体,我们需要打好这门功课的基础。因为从前人的经验看,越到后面,越会发现,这些真是太重要,都是提升高度越不过的东西。
1. 流媒体(Streaming media)
是指将一连串的多媒体资料压缩后,经过互联网分段发送资料,在互联网上即时传输影音以供观赏的一种技术与过程,此技术使得资料数据包得以像流水一样发送,如果不使用此技术,就必须在使用前下载整个媒体文件。
实时流媒体是指互联网内容的实时传输,就像电视直播通过电视信号在电波上播放内容一样。互联网流媒体直播需要一种形式的源媒体(如摄像机、音频接口、屏幕捕捉软件)、将内容数字化的编码器、媒体发布者和内容传输网络来分发和传递内容。直播流媒体不需要在源点进行录制,尽管经常需要录制。[wiki]
直播、会议、音视频通话都是属于实时流媒体的概念。从这个概念上,我们看出流媒体这个过程有三个方面(1)压缩;(2)分段传输;(3)接收组装显示。我们做一个比喻,我们要把西天取到的真经快递发送给佛祖。这个真经实在是太多了,我们必须要分成小部分,分开发送。发送的时候,我们怕这个真经损坏,所以一般要加包装。经过包装的部分真经,到达佛祖那里之后,佛祖就要将包装打开,将真经拼在一起阅读。这个实际上就是这个流媒体的过程,先将音频和视频编码(压缩),再以某以长度进行包装,包装盒子就是我们的封装格式,是为了便于传输和保护数据。到达观看端之后,先解开封装,再解码,最后读取并显示音视频数据。
我们可以用下面的图来表示一个流媒体或者文件播放历经的过程:
(1)采集;通过手机摄像机或者电脑采集音频和视频的信息;
(2)编码及封装;编码为了压缩,封装之后便于传输
(3)网络上进行传输
(4)到达接收端之后,首先需要解封装(demux)
(5)然后进行解码得到原始的音视频数据
(6)进行音视频同步
(7)最后视频渲染到界面上,音频进行播放
2. 音视频封装格式
封装格式(也叫容器),就是将已经编码压缩好的视频轨和音频轨按照一定的格式放到一个文件中,也就是说仅仅是一个外壳,或者大家把它当成一个放视频轨和音频轨的文件夹也可以。说得通俗点,视频轨相当于饭,而音频轨相当于菜,封装格式就是一个碗,或者一个锅,用来盛放饭菜的容器。 下面是几种常用的 视频文件后缀类型 与其相对应的 封装格式。[音视频学习(一)-- 基础知识准备]
视频文件格式 | 视频封装格式 |
---|---|
.avi | AVI(Audio Video Interleaved) |
.wmv、.asf | WMV(Windows Media Video) |
.mpg、.mpeg、.vob、.dat、.3gp、.mp4 | MPEG(Moving Picture Experts Group) |
.mkv | Matroska |
.rm、.rmvb | Real Video |
.mov | QuickTime File Format |
.flv | Flash Video |
- (1)、AVI 格式,对应的文件格式为 .avi,全称 Audio Video Interleaved,是由 Microsoft 公司于 1992 年推出。这种视频格式的优点是图像质量好,无损 AVI 可保存 alpha 通道。缺点是体积过于庞大,并且压缩标准不统一,存在较多的高低版本兼容问题。
- (2)、DV-AVI 格式,对应的文件格式为 .avi,英文全称 Digital Video Format,是由索尼、松下、JVC 等多家厂商联合提出的一种家用数字视频格式。常见的数码摄像机就是使用这种格式记录视频数据的。它可以通过电脑的 IEEE 1394 端口传输视频数据到电脑,也可以将电脑中编辑好的的视频数据回录到数码摄像机中。
- (3)、WMV 格式,对应的文件格式是 .wmv、.asf,英文全称 Windows Media Video,是微软推出的一种采用独立编码方式并且可以直接在网上实时观看视频节目的文件压缩格式。在同等视频质量下,WMV 格式的文件可以边下载边播放,因此很适合在网上播放和传输。
- (4)、MPEG 格式,对应的文件格式有 .mpg、.mpeg、.mpe、.dat、.vob、.asf、.3gp、.mp4 等等,英文全称 Moving Picture Experts Group,是由运动图像专家组制定的视频格式,该专家组于 1988 年组建,专门负责视频和音频标准制定,其成员都是视频、音频以及系统领域的技术专家。MPEG 格式目前有三个压缩标准,分别是 **MPEG-1、MPEG-2、**和 MPEG-4。MPEG-4 是现在用的比较多的视频封装格式,它为了播放流式媒体的高质量视频而专门设计的,以求使用最少的数据获得最佳的图像质量。
- (5)、Matroska 格式,对应的文件格式是 .mkv,Matroska 是一种新的视频封装格式,它可将多种不同编码的视频及 16 条以上不同格式的音频和不同语言的字幕流封装到一个 Matroska Media 文件当中。
- (6)、Real Video 格式,对应的文件格式是 .rm、.rmvb,是 Real Networks 公司所制定的音频视频压缩规范称为 Real Media。用户可以使用 RealPlayer 根据不同的网络传输速率制定出不同的压缩比率,从而实现在低速率的网络上进行影像数据实时传送和播放。
- (7)、QuickTime File Format 格式,对应的文件格式是 .mov,是 Apple 公司开发的一种视频格式,默认的播放器是苹果的 QuickTime。这种封装格式具有较高的压缩比率和较完美的视频清晰度等特点,并可以保存 alpha 通道。
- (8)、Flash Video 格式,对应的文件格式是 .flv,是由 Adobe Flash 延伸出来的一种网络视频封装格式。这种格式被很多视频网站所采用。
另外,在wiki上有比较全面的比较
视频封装格式比较(Comparison of video container formats)
视频编码比较(Comparison of video codecs)
3. 音视频编码方式简介
之所以会有视频编码是因为一个视频,如果未经编码,它的体积是非常庞大的。
以一个分辨率1920×1280,帧率30的视频为例。1920×1280=2,073,600(Pixels 像素)每个像素点是24bit(RGB888)也就是每幅图片为 2073600×24=49766400bit, 8 bit(位)=1 byte(字节),所以,49766400bit=6220800byte≈6.22MB。
这是一幅1920×1280图片的原始大小,再乘以帧率30,也就是说,每秒视频的大小是186.6MB,每分钟大约是11GB,一部90分钟的电影,约是1000GB。所以必须要对视频编码。
编码,就是按指定的方法,将信息从一种形式(格式),转换成另一种形式(格式)。
视频编码,就是将一种视频格式,转换成另一种视频格式。
编码的终极目的,说白了,就是为了压缩。各种五花八门的视频编码方式,都是为了让视频变得体积更小,有利于存储和传输。[从.JPG到.AVI:视频编码最强入门科普]
3.1 视频编码格式
- 视频编码的作用: 将视频像素数据(RGB,YUV 等)压缩成视频码流,从而降低视频的数据量。[参考总结]
名称 | 推出机构 | 推出时间 | 目前使用领域 |
---|---|---|---|
HEVC(H.265) | MPEG/ITU-T | 2013 | 研发中 |
H.264 | MPEG/ITU-T | 2003 | 各个领域 |
MPEG4 | MPEG | 2001 | 不温不火 |
MPEG2 | MPEG | 1994 | 数字电视 |
VP9 | 2013 | 研发中 | |
VP8 | 2008 | 不普及 | |
VC-1 | Microsoft Inc. | 2006 | 微软平台 |
(1)、H.26X 系列
H.26X 由国际电传视讯联盟远程通信标准化组织(ITU-T)主导,包括 H.261、H.262、H.263、H.264、H.265。
- H.261,主要用于老的视频会议和视频电话系统。是第一个使用的数字视频压缩标准。实质上说,之后的所有的标准视频编解码器都是基于它设计的。
- H.262,等同于 MPEG-2 第二部分,使用在 DVD、SVCD 和大多数数字视频广播系统和有线分布系统中。
- H.263,主要用于视频会议、视频电话和网络视频相关产品。在对逐行扫描的视频源进行压缩的方面,H.263 比它之前的视频编码标准在性能上有了较大的提升。尤其是在低码率端,它可以在保证一定质量的前提下大大的节约码率。
- H.264,等同于 MPEG-4 第十部分,也被称为高级视频编码(Advanced Video Coding,简称 AVC),是一种视频压缩标准,一种被广泛使用的高精度视频的录制、压缩和发布格式。该标准引入了一系列新的能够大大提高压缩性能的技术,并能够同时在高码率端和低码率端大大超越以前的诸标准。
- H.265,被称为高效率视频编码(High Efficiency Video Coding,简称 HEVC)是一种视频压缩标准,是 H.264 的继任者。HEVC 被认为不仅提升图像质量,同时也能达到 H.264 两倍的压缩率(等同于同样画面质量下比特率减少了 50%),可支持 4K 分辨率甚至到超高画质电视,最高分辨率可达到 8192×4320(8K 分辨率),这是目前发展的趋势。
(2)、MPEG 系列
MPEG 系列由国际标准组织机构(ISO)下属的运动图象专家组(MPEG)开发。
- MPEG-1 第二部分,主要使用在 VCD 上,有些在线视频也使用这种格式。该编解码器的质量大致上和原有的 VHS 录像带相当。
- MPEG-2 第二部分,等同于 H.262,使用在 DVD、SVCD 和大多数数字视频广播系统和有线分布系统中。
- MPEG-4 第二部分,可以使用在网络传输、广播和媒体存储上。比起 MPEG-2 第二部分和第一版的 H.263,它的压缩性能有所提高。
- MPEG-4 第十部分,等同于 H.264,是这两个编码组织合作诞生的标准。
3.2 音频编码方式
音频编码的作用: 将音频采样数据(PCM 等)压缩成音频码流,从而降低音频的数据量。 常用的音频编码方式有以下几种:
名称 | 推出机构 | 推出时间 | 目前使用领域 |
---|---|---|---|
AAC | MPEG | 1997 | 各个领域(新) |
MP3 | MPEG | 1993 | 各个领域(旧) |
WMV | Microsoft Inc. | 1999 | 微软平台 |
AC-3 | Dolby Inc. | 1992 | 电影 |
在wiki上有比较全面的比较 音频编码格式比较
(1)MP3
MP3,英文全称 MPEG-1 or MPEG-2 Audio Layer III,是曾经非常流行的一种数字音频编码和有损压缩格式,它被设计来大幅降低音频数据量。它是在 1991 年,由位于德国埃尔朗根的研究组织 Fraunhofer-Gesellschaft 的一组工程师发明和标准化的。MP3 的普及,曾对音乐产业造成极大的冲击与影响。
(2) AAC
AAC,英文全称 Advanced Audio Coding,是由 Fraunhofer IIS、杜比实验室、AT&T、Sony 等公司共同开发,在 1997 年推出的基于 MPEG-2 的音频编码技术。2000 年,MPEG-4 标准出现后,AAC 重新集成了其特性,加入了 SBR 技术和 PS 技术,为了区别于传统的 MPEG-2 AAC 又称为 MPEG-4 AAC。 AAC 比 MP3 有更高的压缩比,同样大小的音频文件,AAC 的音质更高。
(3)WMA
WMA,英文全称 Windows Media Audio,由微软公司开发的一种数字音频压缩格式,本身包括有损和无损压缩格式。