想接触音频、视频的编码以及相关的知识,不知有没有一些归纳好的知识点?——知乎大神


https://www.zhihu.com/question/31156766


想接触音频、视频的编码以及相关的知识,不知有没有一些归纳好的知识点?

一方面处于兴趣,一方面出于新项目的一些需求,想学习下音频,视频的知识编码,不止有没有好的书籍,归纳好的知识点? 望指点一窍不通的我,给指条方向?or,有没有公司在做这类服务??
关注者
545
被浏览
10994
7 个回答

我们先假设某人在音视频方面是零基础,也没学过任何数字信号处理相关知识,数学基础基本是高中水准,但是熟悉 C/C++ 开发,至少熟悉某一个平台下的编译调试IDE。

着重研究两个开源项目 ffmpeg 和 webRTC,主要看ffmpeg的视频部分和webRTC的音频部分。

首先,从视频解码入手,这个最简单,调用 ffmpeg视频解码的基本代码只有100行左右,具体可以参考

的blog,有详细示例和说明。视频解码只要搞懂h.264就好了,80%+场景都是这个编码格式了,了解基本的 H.264 的 sps pps NAL等文件格式概念,了解YUV图像格式原理,了解YUV到RGB的转换,这样就可以做图像渲染,可以实现一个简单的视频播放器。

然后,学习视频编码,建议从x264入手,一个简单的调用x264的编码代码也不到100行。编码比解码复杂在于,解码是不需要配置什么参数的,而编码有大量参数需要配置,初期只要了解几个基本概念就好了,比如 帧速率, 常用流控方式 ABR CRF,GOP,I/B/P Frame分别是什么意思。

音频部分的编解码和视频差不多,初期只需要了解两种编码器EAAC+和Silk,了解 声道,采样率等概念,了解 Wave文件格式。可以做一个简单音频播放器。

音频复杂的地方不是编解码,而是音效,看下 webRTC里的 Audio Processing module,理解以下几个概念,去噪NS,消回声AEC,静音检测VAD,自动增益控制AGC,webRTC内置的这几个算法虽然不是最好的,但是可以解决90%+的问题了,值得学习下。

学到了这里需要思考个问题了,自己是想走工程路线还是算法路线,如果是算法路线,那么必须要去学数学了,数字信号处理背后是大量的数学基础理论。如果是工程路线,那么要去学习跨平台开发,学习多个平台下音视频的采集,播放和处理,学习多平台下汇编语言优化。

音视频是个水很深的领域,学一辈子都学不完,但这个领域有个好处,就是知识更新速度比较慢,学的东西不容易被淘汰,经验的积累非常重要。
谢邀。拿一两个开源 codec 代码来读通。
大家都说的差不多了,我补充一个知识点,中间数据,音频是wav,视频是yuv,图像是bmp,早点知道,可以早点上测试数据调试对照
多媒体技术基础,李泽年写的那本。这本是基础书,可以先看。其他的就看视频编解码或者音频编解码的专门教材了。
你是学编解码算法还是编解码器的用法?学算法,先找编码标准来看,再去研究x264,x264,libvpx,lame,fdkaac,opus等的代码,前提是要有相关数学和信息科学功底
学编解码器的用法……这个自行搜索吧,至少得会--help吧
自己寫一個先 多破爛都沒關係 至少你能猜出來你自己需要哪些資料結構
看一下mp3的源代码以及协议吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值