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

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

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

关注者
545

被浏览
10994

添加评论
分享

邀请回答

收起

关注问题写回答

7 个回答

默认排序

姚冬
程序员、编程、C++ 话题的优秀回答者

210 人赞同了该回答

我们先假设某人在音视频方面是零基础,也没学过任何数字信号处理相关知识,数学基础基本是高中水准,但是熟悉 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%+的问题了,值得学习下。

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

音视频是个水很深的领域,学一辈子都学不完,但这个领域有个好处,就是知识更新速度比较慢,学的东西不容易被淘汰,经验的积累非常重要。

编辑于 2015-07-11
210 20 条评论

分享

收藏 感谢

zpan
音频码农/业余编曲渣/Vimer/应邀看心情

1 人赞同了该回答

谢邀。拿一两个开源 codec 代码来读通。
编辑于 2015-06-15
1 2 条评论

分享

收藏 感谢

San Cheung
C++程序员 / 七零后

1 人赞同了该回答

大家都说的差不多了,我补充一个知识点,中间数据,音频是wav,视频是yuv,图像是bmp,早点知道,可以早点上测试数据调试对照
编辑于 2015-07-11
1 2 条评论

分享

收藏 感谢

Exynos
多媒体方向CSer

4 人赞同了该回答

多媒体技术基础,李泽年写的那本。这本是基础书,可以先看。其他的就看视频编解码或者音频编解码的专门教材了。
发布于 2015-06-14
4 1 条评论

分享

收藏 感谢

知乎用户

1 人赞同了该回答

你是学编解码算法还是编解码器的用法?学算法,先找编码标准来看,再去研究x264,x264,libvpx,lame,fdkaac,opus等的代码,前提是要有相关数学和信息科学功底
学编解码器的用法……这个自行搜索吧,至少得会--help吧
发布于 2015-06-16
1 2 条评论

分享

收藏 感谢

阿怪
一名被音樂耽誤的脫口秀演員

自己寫一個先 多破爛都沒關係 至少你能猜出來你自己需要哪些資料結構
发布于 2015-09-21
0 添加评论

分享

收藏 感谢

张三无

看一下mp3的源代码以及协议吧。
编辑于 2015-06-16
0 添加评论

分享

收藏 感谢

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

  1. 短视频程序的魅力,你为什么喜欢抖音?知乎大神的回答

    短视频可能是我们继王者荣耀之后,接触最多的一种APP了,无论是1.6亿日活的快手还是2.2亿日活的抖音,都是很好用的短视频程序,打开知乎,我刷到了这样一个提问:"你为什么喜欢抖音" ...

  2. 试简介视频编码技术?——知乎大神神回答

    https://www.zhihu.com/question/22567173 我需要宏观的关于视频编码的指导,最好是基于HEVC的编码器原理.如帧间预测编码过程,帧内预测编码过程,熵编码过程.细节可 ...

  3. lv编码vi0055_奢侈品鉴定|深度剖析LV路易威登核心鉴定要点,3分钟秒变大神【升级版】...

    话说:"闻香识女人",这句话用在奢侈品皮具上也有一定道理.如果是刚出炉还没被捂热的新包,你就能够感受到那种浓浓的贵族气息,这是那些假货无法比拟的.但是,这种味道会随着时间的推移及后 ...

  4. 怎么去掉视频上的水印?快速去除水印或字幕的大神技巧

    在制作视频的时候,难免需要在网上下载一些原视频素材,然而这些视频或多或少在画面上都带有一些LOGO水印或者字幕水印,很影响我们后期制作出来的视频效果,因此学会去掉视频上的水印是制作视频必备的技能哦!那 ...

  5. 评价最高影片JAVAlibrary_视频 | 手游大神,动画导演,机圈新贵,极客怎么评价《愤怒的小鸟2》?...

    谁能想到,迄今为止口碑最好的「游戏改编电影」竟然来自一个手机游戏IP?! <愤怒的小鸟2>是有史以来评价最好的游戏改编电影.-- http://Screencrush.com <愤怒 ...

  6. 评价最高影片JAVAlibrary_视频 | 手游大神,动画导演,机圈新贵,极客怎么评价愤怒的小鸟2?...

    谁能想到,迄今为止口碑最好的「游戏改编电影」竟然来自一个手机游戏IP?!<愤怒的小鸟2>是有史以来评价最好的游戏改编电影.-- Screencrush.com <愤怒的小鸟2> ...

  7. 即时通讯音视频开发(七):音频基础及编码原理入门

    前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的. 系列文 ...

  8. 利用ffmpeg提供的库(API)进行音频与视频的编码并生成文件

    Output example.c 目录 [隐藏] 1 概述 2 音频输出 2.1 add_audio_stream 2.2 open_audio 2.3 get_audio_frame 2.4 wri ...

  9. iOS音频AAC视频H264编码 推流最佳方案

    1    功能概况 *  实现音视频的数据的采集 *  实现音视频数据的编码,视频编码成h264,音频编码成aac *  实现音视频数据的发布,将编码好的音视频数据传输到服务器 2 视频和音频编码方案 ...

最新文章

  1. 拖放 DataGrid 列--来自MSDN
  2. LSD-SLAM解读——帧间追踪(详细推导)
  3. 2013年1季度中国汽车品牌口碑研究报告 ——自主A级车
  4. 【PC工具】更新文字转语音、文字文本朗读工具,语音朗读软件,TTS语音合成...
  5. OnItemClickListener,OnScrollListener应用
  6. python安装常见问题_Python常见问题
  7. 学生使用计算机违纪处理,软件学院违纪学生跟踪教育管理办法
  8. 数字特征值 中国大学生mooc 翁恺 C语言
  9. Splash广告界面
  10. AcWing 1210.连号区间 (枚举)
  11. wireshark抓包工具详细说明及操作使用
  12. Apache Impala 3.4.0 —— Admission Control and Query Queuing(动态资源池)实践
  13. 计算机单位 字节,字节是什么意思?字节是什么单位
  14. mysql 用户 多次登录失败_限制用户登录失败次数,在连续登陆失败10次后冻结该用户。...
  15. Live800:如何拯救客服的烦恼,让服务和营销更简单?
  16. dango之day01
  17. NTC电阻短路(高温)电池未停止充电分析
  18. python中的“ ... ”
  19. 火狐插件selenium IDE录制脚本操作
  20. Python Pareto柏拉图分析

热门文章

  1. 启发式合并详解 (基于CF 1620E - Replace the Numbers)
  2. 今天给大家介绍深圳市泰凌微电子对HDBaseT HDMI的区别及应用
  3. 【电商营销】了解“客户旅程”,提高客户忠诚度
  4. gms地下水模拟软件(Aquaveo GMS Premium)破解版 v10.4.5
  5. Switch游戏机一线直连汽车中控屏方案(支持PD100W快充已经视频传输)
  6. Nginx配置反向代理访问内部服务
  7. 简单谈谈操作系统内核的组成和架构
  8. ElasticSearch的matchQuery与termQuery
  9. 论文自动化与计算机的联系方式,计算机和自动化本来是一家.doc
  10. 追逐自己的梦想----------辅助制作第一课:人物属性分析