随着基础设施的完善(光纤入户、wifi覆盖、5G普及)的影响,将短视频、直播、视频会议、在线教育、在线医疗瞬间推到了顶峰,人们对音视频的需求和要求也越来越强烈
音视频开发还具有许多方向,比如:
-
如果对音视频传输感兴趣,就可以学习各种传输协议、各种信令的控制、数据传输安全等
-
如果对编解码感兴趣,视频可以学习 H264、H265、VP8, AV1 等,音频可以学习 PCM、G72x、ilbc 等
-
如果对特效感兴趣,可以学习图形学的知识,从各种转码、美颜、滤镜、模糊处理、锐化处理等方向入手
-
如果对服务端感兴趣,可以学习搭建媒体服务器入手、包括音视频数据转发、信令数据处理、拉流、推流协议的处理等
-
如果对各种音视频格式感兴趣、可以学习音视频数据格式封装、包括 MP4、MVK、FLV、TS、RMVB、MP3、ogg 等
-
当然可以深入学习一些开源库,包括 FFMPEG、WebRTC、x264、live555 等
总的来说:音视频知识庞杂,通俗易懂的资料非常少;而且网上充斥着大量的错误信息,使得很多初学者掉到坑里就爬不出来了
但既然我们前面已经提到了技术痛点这个关键词,那学习门槛还是有的。就比如:
-
抖音和快手的短视频需要应用图像处理和视频编码技术,如何在保持高画质的情况下,尽量减少视频文件的大小,是很难也很重要的;
-
连麦直播则需要懂 RTC 和直播技术,如何能够保证在各种网络状况下实现超低延时、降低卡顿率是一个非常难的问题;
-
视频会议则需要你十分熟悉 RTC 和转码合流服务等技术,几十上百人的大型视频会议,如何保证流畅度、卡顿率、画质等指标也是十分具有挑战性的。
目前市场上对于音视频人才的需求,市场招聘音视频岗位薪资亦是水涨船高,但音视频开发这块目前的确没有比较系统的教程或者书籍,网上的博客文章也都是比较零散的。只能通过一点点的学习和积累把这块的知识串联起来。
这里给大家推荐一套学习路线,并附有相关《音视频开发核心知识点及源码解析笔记》和配套视频,相信可以给大家提供一些帮助,有需要的朋友们也可以拿去查漏补缺, 这些已经整理成了 PDF 文档,如果你有需要完整版,可在评论区下方留言,或者私信发送 “音视频进阶” 即可 直达获取
第一模块:WebRTC Native源码导读
-
安卓相机采集实现分析
-
安卓预览实现分析
-
安卓视频硬编码实现分析
-
VideoCRE与内存抖动优化
-
安卓P2P连接过程和DataChannel使用
-
视频数据native层之旅
-
混音
-
P2P连接过程完全解析
-
API概览
-
RTP H.264封包与解包
第二模块:X264源码解读
-
概述
-
x264命令行工具
-
编码器的主干部分
-
x264 slice _write0
-
滤波(Filter) 部分
-
宏块分析(Analysis) 部分帧内宏块(Intra)
第三模块:FFmpeg
-
FFmpeg编译和集成
-
FFmpeg + ANativeWindow实现视频解码捅放
-
FFmpeg + OpenSLES实现音频解码捶放
-
FFmpeg + OpenGLES实现音频可视化播放
-
FFmpeg + OpenGLES实现视频解码播放和视频滤镜
-
FFmpeg播放器实现音视频同步的三种方式
-
FFmpeg + OpenGLES实现3D全昱播放器
-
FFmpeg播放器视频渲染优化
-
FFmpeg. x264以及fdk-aac 编译整合
-
FFmpeg视频录制-视频添加滤镜和编码
-
FFmpeg + Android AudioRecorder音频录制编码
-
Android FFmpeg实现带滤镜的微信小视频录制功能
第四模块:ijkplayer源码分析系列
-
整体结构总结
-
read.thread流程
-
解码流程
-
渲染流程
第五模块:jsmpeg源码解析
-
基础知识字符处理AreyBufer TypedAray
-
TS码流PAT PMT
-
源码Buufer.js对UntBarray的封装
-
源码ts.js TS格式解析流程
-
源码mpeg1.js MPEG1码流结构
第六模块:Live555源码解析
第七模块:Opus源码解析
-
简介
-
编解码器使用
-
手换一个Opus编码程序
-
Opus解码程序实现
-
OggOpus封装器全解析
-
Opus编码基础之认识声音
-
Opus编码基础之压缩编码
现在还会有人质疑说:“做音视频给人的感觉就是个小众市场呀!发展前景会好吗?” 这里我有必要再强调和说明下。那是过去,由于网络带宽的限制,以及音视频技术本身的一些原因,音视频技术无法被广泛地应用。但现在不一样了,随着近几年技术的发展,音视频已经越来越被广泛地应用于各行各业。
另外,让人欣喜的是随着 Google 对 WebRTC 的推动, 在浏览器下实现音视频应用变得极为简单,这大大降低了非音视频专业的开发人员学习成本,并且其应用前景也变得更加广阔。
如果你对学习音视频还无从下手,这份笔记手册非常适合你,已经整理 PDF 文档,如果你有需要完整版,可在评论区下方留言,或者私信发送 “音视频进阶” 即可 直达获取