目录

1.为什么要学习音视频?

2.如何学习系统性音视频?

3.音视频相关的资料

最近有朋友问想学习音视频,应该怎么学,有什么资料吗?

这个问题也困扰我很久,几年前就想开始音视频相关的学习,但是一直找不到门道,坚持不过两周。回看这个系列文章,之前也有写过很多了,虽还不敢说已入门,因为越学越发现 不会的知识、需要学的东西就越多。但为什么相比过去几年的几次尝试,这次持续时间更长、不断有文章输出呢? 这篇文章就和对自己进行检视反思,希望对想学习音视频的朋友也有所帮助。

为什么要学习音视频?

我是做android应用开发,android本身也是有很多需要深入学习的内容,越是底层的、基础的东西越是通用,比如说设计模式、数据结构、算法、通信机制、多线程机制、JVM虚拟机等等。把上面这些内容结合具体业务和场景学好应用好,对自己的提升也是十分有裨益。我的一个学习榜样就是在这方面有很深的认知和能力。

对于我个人而言,音视频的情怀,4-5年前已经埋下,当时做了一款直播点播的体育类app,接触到一些音视频相关的知识,,但是后面由于工作方向的外部原因,以及更重要的是自己认知不足,对音视频的学习和发展道路还没有比较强烈的渴望,就不了了之了。

在2020年国庆期间,重新检视了下自己的规划和年度目标,发现最重要的个人目标“音视频开发上道”,竟然还没有具体迈出第一步。和自己认真对话之后想清楚了两个问题

  1. 为什么要学习音视频

  2. 如何系统性的学习音视频 然后就开始了这一系列的学习实践,主要还是认知的提升、着眼长远、系统性的思维。

随着近些年以抖/快为代表的短视频、以B站为代表的长视频的快速发展,对16年左右比较火热的直播进行了一次变化,但是还是在音视频领域,我们来看下来在“Trustdata大数据”最新的数据

上述内容来源于 [Trustdata大数据] :https://mp.weixin.qq.com/s/otGI_yvvF_Q0L2mDrhtxyg

通过上面的Top20排行榜,我们可以清晰的看到直接和音视频相关的app有5个,更惊人的是这top20的app,几乎都有音视频相关的内容,这就是行业现状或者趋势吧。

现在音视频都已经那么火了,现在学还有机会吗?

右侧追击的理论同样适用于我们的学习实践。音视频行业快速发展的底层是信息通信的越来越高效,芯片设备的越来要强大和智能。随着5G、6G的应用,相信未来音视频不是什么发展方向,而是像水电一样的基础功能。也是基于这个认知的改变,让自己坚信了音视频这条发展的道路。

代码引用[FFmpeg 音视频开发 20 年]中的一段文字

下一个10年,技术还是那些技术,主角或许从移动App,变成了AI,边缘计算。如果不是xx战,今年海思的AI芯片,4T算力的可能会在下探到10个美金以下。芯片的大规模量产,价格下降,会带动行业新一轮变革。 软件开发者,也会有相应的全新的机会,音视频,网络通讯,OpenGL/ES 都是必须要掌握的,从事相关开发,加上OpenCV, Tensorflow-lite. 深度学习基础。 个人一点看法,仅供参考。 所以单纯聊 FFmpeg 已经没有什么意义,聊点音视频,数字图像处理,网络通讯,跟 FFmpeg 相关的,或许更有参考价值。FFmpeg 的未来在哪里? 一项技术只能在一个合适的时间段解决一个特定的问题。 编解码都被硬件做了还需要软件开发吗? 编解码无论硬解软解代码量都很少。几十行代码的事。在一个项目中占比很少。大量的代码在于网络通讯,图像处理,软件自身的逻辑等。

二、如何学习系统性音视频?

项目管理的很重要的一环就是任务的拆解,然后逐步的实现。之前是想走捷径,想一步就学成,哪有什么速成之术,特别对于知识系统很庞大的体系,分布拆解、逐步学习实践是非常重要的。 也是在2020年国庆期间,通过搜索资料结合自己的思考,逐步形成了如下6个阶段的学习:

  1. 音视频基础知识

  2. FFmpeg命令实战

  3. FFmpeg项目实战

  4. 流媒体实战

  5. WebRTC中,高级开发

  6. WebRTC SFU服务器开发

这些非常重要,这些阶段是学习路上的关键节点,构成了认知地图,然后每个阶段,去找对应的资料再把任务拆解成子任务,通过输出倒逼输入,不断迭代自己的学习写作系统。

三、音视频相关的资料(音视频技术点,FFmpeg,学习路线思维导图)

1.音视频开发技术点讲解视频学习资料点击:FFmpeg/WebRTC/RTMP音视频流媒体高级开发

2.FFmpeg相关学习资料,点击学习资料,获取

3.音视频开发学习路线思维导图,点击学习资料,获取

音视频开发——音视频学习资料相关推荐

  1. 音视频开发-音视频面试必问的直播延迟分析丨FFmpeg|SRS流媒体服务器|webrtc|Android NDK开发|HTTP-FLV|RTSP

    音视频面试必问的直播延迟分析 1.直播延迟500ms是极限吗,加上WebRTC能做到多少 2.推流的延迟分析 3.流媒体服务器延迟分析 4.拉流的延迟分析 视频讲解如下,点击观看: 音视频开发-音视频 ...

  2. 洽谈 5G 时代“音视频”开发前景及学习方向

    前言 相信大家可以从日常生活感受到视频类的 APP 已经占据了我们大部分的时间,例如:抖音.快手.最右.小红书.哔哩哔哩等等短视频类型的 APP,亦或者是像虎牙.斗鱼等等直播类型的 APP,还有像腾讯 ...

  3. 从事音视频开发,需要学习哪些知识点?

    总体来讲,音视频开发是有一定的技术门槛的,我觉得至少需要在这个领域踏踏实实积累个3-5年,才能对音视频相关的开发知识有一个整体.深刻的理解. 从技术上来讲,需要从如下两个大类知识点上去积累: C/C+ ...

  4. 音视频开发调研和学习路线

    以下内容是对网上多个博主以及音视频大佬发布的内容进行的总结. 1.音视频开发 1.1音视频开发是做什么的 音视频开发就是将我们摄像机.麦克风采集到的画面(视频像素数据,YUV格式)和声音(音频采用数据 ...

  5. 【Android 音视频开发-音视频硬解码篇】1.音视频基础知识

    这是一个入门系列,涉及的知识也仅限于够用. 最后,写文章过程中,会借鉴参考其他人分享的文章,会在文章最后列出,感谢这些作者的分享. 本文你可以了解到 作为开篇的文章,我们先来看看音视频由什么构成的,以 ...

  6. 音视频开发---音视频同步算法

    目录 ffplay简介 为什么要做音视频同步 音视频同步算法 参考 本文是对音视频同步算法的总结,以阅读ffplay.c源码为基础,结合各位博主的分析, 逐渐深入理解同步算法原理, 并根据自身理解, ...

  7. Moviepy音视频开发:视频转gif动画或jpg图片exe图形化工具开发案例

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 老猿之所以学习和研究Moviepy的使用,是因为需要一个将视频转成动画的工具,当时在网上到处搜索查找免费使用工具,结果找了很多自称免费的工具,但转完 ...

  8. 音视频开发--音视频基础

    音视频基础 一.音视频录制原理 视频录制流程 1.准备摄像头 2.图像帧阶段 从摄像头采集视频数据(图像帧),采集数据格式:YUV或者RGB,YUV和RGB细分的话还包括YUV 4:4:4.YUV 4 ...

  9. JAVA学习第一步-配置JAVA开发环境和学习资料

    写代码配置开发环境非常重要 java开发环境配置 1 windows中环境配置 1.1 JDK工具包 1.2 IDEA 1.3 eclipse安装 2 Linux下安装 2.1 VMware虚拟机 2 ...

最新文章

  1. php未正确拼写字 css,前端Bug解决方案
  2. 严选前端全栈工程师学习笔记
  3. cuba 平台_CUBA平台正在开源
  4. 【学习笔记】第二章——进程的定义、组成、组织方式、特征、状态 转换
  5. java如何获取文件路径_java如何获取文件路径
  6. Facebook语音助手Aloha细节曝光,它的logo竟然是一座小火山?
  7. 【Swift】iOS UICollectionView 计算 Cell 大小的陷阱
  8. php dll是下32还是64位,windows下关于boost 64位和32位库的编译详细介绍
  9. centos7中firewall防火墙命令详解
  10. Matlab系列教程_基础知识_程序控制
  11. 网格员试题计算机,网格员考试 计算机基础知识试题库完整.doc
  12. 【Proteus仿真】51单片机+红外测距仪(GP2D12)+ADC0809模数转换
  13. 摄氏度与华氏度之间的转换
  14. 如何做到在各大搜索引擎搜索自己的网页
  15. Android4.4电池电量命令行查看
  16. 巅峰极客pwn wp
  17. python中的数值类型有哪些,Python中数值类型有哪些
  18. extjs grid选择框默认全选_Extjs gridpanel 加入全选列
  19. 使用ghost 快速安装操作系统
  20. 云服务器文件同步,和云服务器同步文件

热门文章

  1. [量化-021]估值之二 工行的估值
  2. 通过for循环实现百钱买百鸡的问题: 公鸡5元每只,母鸡3元每只,小鸡3只1元,100元买一百只鸡多少种办法?
  3. 【vue3】组合式函数
  4. vn.py全实战进阶课程学习笔记(零)
  5. 继续!Effective Game Design!
  6. Jquery跨域 解决方案
  7. 记Stream的toMap方法引发的问题
  8. Hbase读写数据过程详解(hbase0.96版本之前与hbase0.96版本之后对比)
  9. freeswitch SIP内呼与外呼配置
  10. Python构造函数的使用