今年1月份, W3C和IETF正式宣布, WebRTC现已成为官方标准,这意味着它可以将音频和视频通信带到 Web 的任何地方,实现真正意义上的全球互联。
2020年的疫情使数百万人改变了他们的日常生活和工作方式,为了减少身体接触,越来越多的人使用音视频实时通信(如直播互动、在线教育、视频会议,在线问诊等),而这些不同应用场景背后的核心技术就是WebRTC,一个通过简单的API为浏览器和移动App提供实时通信功能的免费开源项目。
距离谷歌正式开源WebRTC实时通信项目,已经有10年时间,这10年中,WebRTC的重要性日益凸显,应用场景也越来越广泛,所以距离标题问题就不用解释了。
于是在此小编花费大量时间收集和整理,以WebRTC为切入点,将WebRTC作为我们源码分析的第一个开源项目,并汇聚了x264、FFmpeg、ijkplayer、JSMpeg、Opus、live555等诸多开源项目进行源码分析。
需要以下这些学习资料可以扫描下方二维码免费领取:
第一章 WebRTC Native 源码导读
- 安卓相机采集实现分析
- 安卓预览实现分析
- 安卓视频硬编码实现分析
- VideoCRE 与内存抖动优化
- 安卓 P2P 连接过程和 DataChannel 使用
- 视频数据 native 层之旅
- 混音
- P2P 连接过程完全解析
- API 概览
- RTP H.264 封包与解包
第二章 X264源码解读
- 概述
- x264命令行工具
- 编码器主干部分-2
- x264_slice_write()
- 滤波(Filter)部分
- 宏块分析(Analysis)部分-帧内宏块(Intra)
第三章 FFmpeg
- FFmpeg 编译和集成
- FFmpeg + ANativeWindow 实现视频解码播放
- FFmpeg + OpenSLES 实现音频解码播放
- FFmpeg + OpenGLES 实现音频可视化播放
- FFmpeg + OpenGLES 实现视频解码播放和视频滤镜
- FFmpeg 播放器实现音视频同步的三种方式
- FFmpeg + OpenGLES 实现 3D 全景播放器
- FFmpeg 播放器视频渲染优化
- FFmpeg、x264以及fdk-aac 编译整合
- FFmpeg + Android AudioRecorder 音频录制编码
- Android FFmpeg 实现带滤镜的微信小视频录制功能
第四章 ijkplayer 源码分析系列
- 整体结构总结
- read_thread流程
- 解码流程
- 渲染流程
第五章 jsmpeg源码解析
- 基础知识 字符处理 ArrayBuffer TypedArray
- TS码流 PAT PMT
- 源码buffer.js对Uint8Array的封装
- 源码ts.js TS格式解析流程
- 源码mpeg1.js MPEG1码流结构
- 概要总结
第六章 Live555源码解析
- GROUPSOCK
- MEDIUM媒体基础类
- MEDIASOURCE、MEDIASINK、
- MEDIASESSION、MEDIASUBSESSION
- FRAMEDSOURCE、RTPSOURCE、RTPSINK
- GENERICMEDIASERVER、RTSPSERVER、RTSPCLIENT
- testRTSPClient
- ServerMediaSession、ServerMediaSubsession、live555MediaServer
第七章 Opus源码解析
- 简介
- 编解码器使用
- 手撸一个Opus编码程序
- Opus解码程序实现
- OggOpus封装器全解析
- Opus编码基础之认识声音
- Opus编码基础之压缩编码
未来
借用谷歌产品管理总监的Serge Lachapelle 的发言:WebRTC今时今日的地位已经非常重要。它还在不断地迭代中,但我已经不再参与其中的工作了。我非常高兴看到云计算给通信带来的进步。使用高级算法可以消除背景噪音,使以前无法实现的通信成为可能。我们看到,WebRTC已经不再限于通信。当时谁能知道,9年以后,它能用在基于云的游戏上呢?没有WebRTC,这一切都不可能。