今年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,这一切都不可能。