我们先假设某人在音视频方面是零基础,也没学过任何数字信号处理相关知识,数学基础基本是高中水准,但是熟悉 C/C++ 开发,至少熟悉某一个平台下的编译调试IDE。
着重研究两个开源项目 ffmpeg 和 webRTC,主要看ffmpeg的视频部分和webRTC的音频部分。
首先,从视频解码入手,这个最简单,调用 ffmpeg视频解码的基本代码只有100行左右,视频解码只要搞懂h.264就好了,80%+场景都是这个编码格式了,了解基本的 H.264 的 sps pps NAL等文件格式概念,了解YUV图像格式原理,了解YUV到RGB的转换,这样就可以做图像渲染,可以实现一个简单的视频播放器。 (第一阶段基本符合)
然后,学习视频编码,建议从x264入手,一个简单的调用x264的编码代码也不到100行。编码比解码复杂在于,解码是不需要配置什么参数的,而编码有大量参数需要配置,初期只要了解几个基本概念就好了,比如 帧速率, 常用流控方式 ABR CRF,GOP,I/B/P Frame分别是什么意思。(再次熟悉X264编码)
音频部分的编解码和视频差不多,初期只需要了解两种编码器EAAC+和Silk,了解 声道,采样率等概念,了解 Wave文件格式。可以做一个简单音频播放器。(做一个音频播放器)
音频复杂的地方不是编解码,而是音效,看下 webRTC里的 Audio Processing module,理解以下几个概念,去噪NS,消回声AEC,静音检测VAD,自动增益控制AGC,webRTC内置的这几个算法虽然不是最好的,但是可以解决90%+的问题了,值得学习下。(学习webrtc音频处理)
学到了这里需要思考个问题了,自己是想走工程路线还是算法路线,如果是算法路线,那么必须要去学数学了,数字信号处理背后是大量的数学基础理论。如果是工程路线,那么要去学习跨平台开发,学习多个平台下音视频的采集,播放和处理,学习多平台下汇编语言优化。(平台相关)
音视频是个水很深的领域,学一辈子都学不完,但这个领域有个好处,就是知识更新速度比较慢,学的东西不容易被淘汰,经验的积累非常重要。

下面来看看音视频开发的学习路线:

1.首先需要学习的是音视频基础知识

有些朋友对音视频学习有些误区,以为需要很多的理论基础才开始去实践,实际上大家只需要懂:

视频:

  • YUV格式
  • RGB格式
  • 帧率
  • 分辨率
  • H264 I P B帧原理

音频:

  • PCM
  • 采样率
  • 采样格式
  • 码率

等这些基础知识即可开启音视频学习的大门。

2.FFmpeg命令实战

很多朋友也对FFmpeg的学习有误区,一上来就撸各种ffmpeg api,其实不然,我们可以先从FFmpeg命令行入手,我们提供了一个《Windows FFmpeg命令行搭建》的文档。从FFmpeg命令行入手可以让我们更明白FFmpeg开源项目能够做什么。

FFmpeg视频学习资料+1035101242(VX同号)免费获取、备注FFmpeg资料。音视频高级开发qun:正在跳转

3.FFmpeg项目实战

使用FFmpeg可以做一个播放器和录屏器

4.流媒体实战

流媒体实战建议大家学习的顺序 RTMP->HLS->HTTP-FLV,有时间可以再学RTSP,为什么说有时间再学RTSP,是因为互联网行业用RTSP的极少。

5.WebRTC中级开发

6.WebRTC高级开发

7.WebRTC SFU服务器开发

上面这些需要学习的内容大多是音视频开发者们必会的技能,如果您觉得音视频自学难,没有学习的方向,大家可以对照上方的路线进行学习。

最后

在这里我也给大家分享一下音视频开发的学习资料及学习路线图,大家如果需要的话,可以点击正在跳转进群获取

5G时代很火的音视频高级开发学习路线及知识点总结相关推荐

  1. C/C++音视频高级开发-开源流媒体服务器SRS环境搭建

    一.环境搭建 1.1 C++环境 sudo apt-get update# 更新软件包 sudo apt-get install build-essential -y # 安装C++开发环境 sudo ...

  2. 音视频高级开发——如何快速学习FFmpeg丨ffplay、ffmpeg命令如何编程实现

    如何更快速地掌握FFmpeg 1.为什么要学FFmpeg 2.FFmpeg面向对象思想分析 3.ffplay.ffmpeg命令如何编程实现 4.流媒体服务器要怎么学 [技术分享篇]音视频开发--如何快 ...

  3. webrtc 判断是否支持_5G时代-WebRTC音视频高级开发

    目录 1,自定义摄像头分辨率 2,码率限制 3,调整编码器顺序 4,Mesh模型多方通话 5,Janus框架分析 6,Janus Web源码分析 7,Janus Android源码分析 8,基于Jan ...

  4. 音视频技术开发周刊 | 142

    每周一期,纵览音视频技术领域的干货和新闻投稿:contribute@livevideostack.com. 架构 使用 WebRTC 进行开源云游戏 我相信云游戏不仅将很快成为游戏的新一代,而且还将成 ...

  5. 2022全网最详细的音视频开发学习路线,零基础到项目实战,从小白到音视频专家

    前言 音视频的历史与前景在这里就不介绍了,小编之前的文章里面都有讲到. 行业现状分析 核心竞争力:定义音视频是程序届的皇冠,掌握音视频意味着拿到通往未来的船票,不用担心会被其他人替代.音视频是有门槛的 ...

  6. FFmpeg/WebRTC/RTMP/RTSP/HLS/播放器-音视频流媒体高级开发【零声学院】

    FFmpeg/WebRTC/RTMP/RTSP/HLS/播放器-音视频流媒体高级开发 学习 音视频流媒体高级开发学习 01音视频基础 [录播]0-音视频开发高级课程简介(22分钟) 免费试学 [录播] ...

  7. 抖音最近很火的烟花表白视频制作教程 附模板源码

    抖音最近很火的烟花表白视频,估计有些朋友也在直播间刷到过,刷礼物才能制作,这些开直播的就是在赚银浪,因浪可以提现的. 这里给大家分享4个模板,2个烟花的适合表白,2个美女的适合装x,里面的文字,图片都 ...

  8. 音视频流媒体高级开发进阶:从音视频基础知识到技术实践

    站在音视频行业风口 站在风口,猪也能飞".在已经到来的2022年,音视频行业依旧是怎么也绕不过去的风口. 一方面,随着各项5G政策的落实,音视频+5G风口,将会深入挖掘音视频产业的无限潜力, ...

  9. 通信专业学python有用吗-通信人不会这项技能,5G时代很难拿到高薪

    原标题:通信人不会这项技能,5G时代很难拿到高薪 得数据者,得天下. 数字的价值,在今天越来越明显.但依然有很多人觉得,那些只是公司和组织才应该重视和追逐的. 因为它可以帮助企业找到商机,找到客户,找 ...

最新文章

  1. 使用Python+OpenCV+GAN实现车牌图像增强
  2. 64位php oracle,64位系统无法加载PHP的oracle扩展问题
  3. 鹅厂机器狗,站起来了!
  4. 深度学习核心技术精讲100篇(二十二)-深度解析数学建模核心知识之搜索与推荐模型中用户建模原理
  5. ctf.360.cn第二届,逆向部分writeup——第三题
  6. 哪里有高中教师教学计算机能力培训,04060406_王世红_高中教师信息技术能力的培训.doc...
  7. c语言divide error,Python numpy.corrcoef()RuntimeWarning:在true_divide中遇到无效值c / = stddev [:,None]...
  8. Android NDK开发之 NDK 局部 全局引用
  9. 大学计算机与应用软件,深圳大学
  10. 基于 电子海图的海上搜救的研究
  11. python爬虫-计算机要点
  12. 海康大华摄像头GB/T28181接入国标视频平台如何选择主码流还是子码流
  13. C++之常用集合(总结)
  14. [554]sklearn提供的自带的数据集(make_blobs)
  15. OSChina 周五乱弹 —— 看来我只适合当一个千斤顶
  16. WIN10系统在中国知网下载期刊封面、扉页、目录的PDF版本
  17. js中exec()函数的使用
  18. 安全狗等级保护建设服务内容有哪些?
  19. 事件驱动架构引领产业技术升级:事件驱动联盟(中国)成立
  20. Go语言学习1-基础入门

热门文章

  1. 方向选择(嵌入式 大数据 java)
  2. 中国石油大学《管理学》在线考试
  3. Linux下如何运行.sh文件
  4. android 时钟翻转,3D翻转时钟插件 3D Flip Clock World Weather
  5. 惠普中国CEO孙振耀退休感言---阿冬专栏
  6. 在vue项目中统一管理api
  7. 【售前运维】选方向必备之售前岗位详解
  8. 本地存储(cookie/localStorage)
  9. 无法解码 url 处的图像_使用 Go 在 WASM 中进行图像处理的实验
  10. mycat 跨库间连表查询解决方案