默认

即时通讯音视频开发(十七):视频编码H.264、VP8的前世今生

查看数: 122166 | 评论数: 6 | 收藏 5
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-04-30 15:16

正文摘要:

前言 如果仔细读过前面即时通讯网(52im.net)有关实时音视频开发的文章,应该能想到,至少在目前从开发者的角度来说,音视频编码选H.264还是VP8几乎没有悬念(个人认为这当然是H.264了)。本文重在为读者从技术角度 ...

评论

zruibin 发表于 4 年前
很详细!
haha748123 发表于 6 年前
谢谢楼主
天上一只鸟 发表于 7 年前
谢谢楼主
JackJiang 发表于 8 年前

此文对即时通讯开发中要面临的实时音视频编码问题,从技术概念的角度讲解的很透彻,强烈推荐初学者一读!
JackJiang 发表于 8 年前
文中提到的有关“视频编码”和“视频格式”的解释说的非常好,很多人容易搞混这些概念!

首先需要理清一些基本概念。我们平常笼统说的「视频格式」其实包含三个部分:视频编码、音频编码、容器格式。其中「编码」这个概念其实又包含两个方面:编码和解码。

「视频编码」作为动词指的是将动态的图像信息转化为二进制数据的过程;其逆过程称为「视频解码」。「视频编码」作为名词则通常指的是某种特定的编码方式。同样的概念也适用于「音频编码」,只不过它转化的是声音信息。

大多数「视频文件」都同时包含视频和音频,因此编码后至少都有两组二进制数据,并且两组数据必须按照特定的方式同步起来,否则我们看到的画面和听到的声音将不吻合。为了解决编码后多组不同类型的的数据的存储、传输问题,需要将他们按照一定的规律组织起来,这种组织方式即是「容器格式」。

我们常见的视频文件扩展名包括 .avi, .rmvb, .mp4, .mkv 等。其实扩展名都是指的某种容器格式。这些容器里面存放的数据可能采用了多种不同的编码方式。例如,常见的 avi 文件里面存放的通常是 xvid 或 divx 编码的视频和 mp3 编码的音频。rmvb 文件里面存放的通常是 RV40 编码的视频和 cook 编码的音频。mp4 文件里面通常存放的是 H.264 编码的视频和 AAC 编码的音频。mkv 文件里面存放的则可能包含前面各种。

返回顶部