博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
音视频学习路线
阅读量:5248 次
发布时间:2019-06-14

本文共 1254 字,大约阅读时间需要 4 分钟。

视音频基础知识——视音频解码——视音频编码——视音频转码——视音频播放——具体应用——其他高阶内容

其实就对应于你在通信原理里学过的基本通信模型,下面以流媒体传输系统为例画个对应项示意图,基本上除了中间信道的部分,都是编解码生涯中要研究的东西。

image

下面我针对学习路线中的各部分单独做一下介绍

视音频基础知识:

  1. 视频、图像、音频的格式。这里的“格式”是一个广义的概念,既包括MP4,FLV这样的封装格式,也包括H264,MPEG2这样的编码格式,还包括420 422 444这样的取样格式,甚至RGB,HSV,YUV这样的彩色空间也可以算作一种格式,将来在应用时还可能会遇到RTMP,HLS这样的流媒体传输协议或者其他的协议,都可以算作格式。这些纷繁复杂的格式就好比学英语时要背的单词,初学的时候可能觉得看不见摸不着,将来落实到代码上却是一目了然的,但是这个“背单词”的过程一定不能省。在一些论坛里经常能看到很多写代码的高手受困于不懂这些基本的概念,大概就是基础没打好。
  2. 信息论以及压缩编码入门。在你学习前面的各种格式时不可避免地会涉及到一些压缩编码的知识,随便拿一本讲视频编码的书,前面的绪论也都会简单讲讲信息论知识。简单来说,你需要知道视音频为什么要压缩编码,为什么可以实现压缩编码,怎样评价压缩编码的质量,以及具体编码过程中的一些概念,比如型(profile)和级(level),GOP,IPB帧,NAL单元,宏块,运动矢量、量化参数,帧内编码(当然你首先要知道帧率、场频这类的概念),帧间预测,这一大堆的概念,在不同的编码标准中还会有各种专属的概念。觉得前途黑暗想要放弃吗?不要怕,下面我会给你推荐一些参考书,看上一两本就差不多入门了。

如果说前面的各种格式相当于英语中的单词的话,这部分很显然就是语法了。

  1. 其他。相信你已经感觉到了,视音频基础知识确实是非常杂的,除了前面提到的“单词”和“语法”之外,还会有“视音频质量评价”这样的概念,我也不知道要怎么归类,差不多可以算是应用吧。说到视音频技术的应用,流媒体应用是很大的一块,那么这其中又涉及到很多的计算机网络知识。再比如高阶应用中的“硬件加速”,就又涉及到更多高端内容了。这些东西在你以后的工作中慢慢积累就好,还是那句话,不要怕。

  2. 扯蛋。闲着没事的时候玩玩单反、摄像机、非编软件,学校或者自己有条件的话去参观一下电视台,关注一下索尼佳能尼康松下等厂家的产品彩页及说明书,实践对于加深理解基础知识非常有用。

视音频编码、解码、转码:

在你学过前面的基础知识后,是时候上手实践了。编解转码方面有很多开源工程在业内外都得到了广泛的应用,最著名的是ffmpeg。你的编解码生涯有一半可能都要耗在ffmpeg身上了,这个项目是如此庞大,如此牛逼,我都不知道该怎么介绍了,而且你在学习这个项目的过程中也可以接触到包括x264在内的一大票其他开源项目。

转载于:https://www.cnblogs.com/linhaostudy/p/11225968.html

你可能感兴趣的文章
getApplicationContext()、getBasecontext()、getApplication() 、getParent()
查看>>
[导入]玫瑰丝巾!
查看>>
国内UED大全
查看>>
倒计时浏览器跳转JavaScript
查看>>
自动从网站上面下载文件 .NET把网站图片保存到本地
查看>>
【识记】 域名备案
查看>>
STL uva 11991
查看>>
MY SQL的下载和安装
查看>>
自定义OffMeshLink跳跃曲线
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
简述spring中常有的几种advice?
查看>>
[詹兴致矩阵论习题参考解答]习题6.8
查看>>
牛客网——华为机试(题21:简单密码)(Java)
查看>>
Inno setup 卸载时删除程序文件夹(文件)
查看>>
Python--一些基础内容
查看>>
Servlet服务器端编程之再体验
查看>>
【书摘】The Joshua tree epiphany
查看>>
Multiple Database Block Sizes and the Buffer Cache
查看>>
【读后感1】读《我是一只it小小鸟》有感
查看>>
Netty(2) - HelloWorld
查看>>