H.264/AVC视频编解码技术详解
课时介绍
大家好,欢迎继续和我一起研究H264视频编解码算法。在之前的视频里,我们已经学习了视频编解码的基本概念、各种视频编码标准的发展历史以及H264视频编码标准的基本理论和主要技术。今天,我们将继续学习这个视频的第四部分。在这个部分中,我们将使用目前市场上比较主流的视频编码器和解码器来进行视频的编解码实际操作。
首先,我们将介绍目前常见的H264视频编码器。目前市场上主要有两种视频编码器,一种是GM,另一种是X264。GM是H264标准的官方参考软件,它被设计用来验证H264的算法和验证平台。除了H264之外,几乎所有的视频编码标准在制定过程中都必须有这样的一套代码和软件来验证算法。由于GM的代码是为了研究H264编码标准而实现的,因此它实现了H264几乎所有的编码特性。然而,由于GM的代码运算较为复杂,并且没有进行快速算法优化,因此它的编码和解码难以达到实时运行。因此,GM的代码主要用于科学研究领域。
另一个比较著名的编解码器是X264。X264是由开源组织VideoLAN开发制定的H264标准开源编码器。它在企业界的应用场景中应用最为广泛,因为相对于GM来说,它进行了大量的优化和简化,并且添加了MMX、SSE等优化。虽然它的编码效率和压缩率比GM略逊一筹,但是它的实时性和可用性要远高于GM。接下来,我们将用这两种不同的编码器进行实际操作。要查找这两款编码器也很简单,我们可以通过一个靠谱的搜索引擎来搜索X264和GM。X264提供了下载工具,包括可执行程序和源代码。我们将在后面的课程中讲解X264的源代码实现、如何进行编译以及如何使用它进行编码和解码。
目前,GM的参考代码托管在德国的研究机构HHI。我们可以从这个机构获取到最新的源代码,但我们也可以下载与基础版的H.264配套的GM8.65这个经典版本,该版本已经足够我们掌握基本概念和研究了。在下载完成后,我们将文件解压并打开tml.sln工程目录。其中,lincode是GM的编码器,我们将其设为启动工程,并将它的输出目录修改为工程目录bin目录下。之后,我们生成lencode这个项目,在工作目录中可以看到已经生成了lencode.exe以及其他中间文件。我们还可以使用format part qsave.uov程序和播放器来播放这些图像。
课程介绍
H.264/AVC是目前业界应用为广泛的视频压缩编码标准,包含了先进而且较为成熟的视频编码技术。本课程将从原理、标准和实现等多个角度,详细讲述了H.264/AVC视频编码标准的整体架构与技术细节,不但讲解了H.264/AVC标准协议文档中的内容,还通过实际的H.264码流分析/解码程序的开发来帮助观众更深入地理解H.264编码标准的原理。
推荐课程

H.264/AVC视频编解码技术详解
殷汶杰 · 81218人在学

FFmpeg系列之33:庖丁解牛之H.264/H.265视频编码
梅会东 · 445人在学

Windows之5:DirectShow+H.264+AAC采集编码
梅会东 · 87人在学

FFmpeg4.3开发系列之15:同步录音录屏并存储或直播实战
梅会东 · 434人在学

rtp协议实战视频教程
杨炳坤 · 369人在学

FFmpeg4.3开发系列之二:音视频基础理论
梅会东 · 1052人在学

JavaCV系列之2:JavaCV音视频基础及麦克风摄像头直播实战
梅会东 · 488人在学

Android视频编码和直播推流教程
杨万里 · 7432人在学

C#零基础入门到精通教程
徐杨 · 6905人在学