Webrtc 调试

Android

Posted by LXG on April 18, 2022

音视跳动

本文图片来自李超的《WebRTC音视频实时互动技术》

WebRTC音视频实时互动技术

AV_plugin

媒体协商过程

webrtc_sdp

视频服务质量指标

  1. 分辨率: 图像占用屏幕上的像素的多少
  2. 帧率: 视频每秒播放的帧数量
  3. 码率: 视频压缩后每秒数据流的大小

解决实时通信问题

  1. 增加带宽
  2. 减少数据量
  3. 增加时延
  4. 提高网络质量
  5. 快速准确的评估带宽

webrtc_opt

客户端架构

webrtc_arch_2

  • 接口层
  • 会话层:媒体协商,收集Candidate
  • 核心引擎层:音频、视频、网络传输
  • 设备层

源码树


webrtc$ tree -L 1
.
├── api
├── audio
├── AUTHORS
├── BUILD.gn
├── build_overrides
├── call
├── CODE_OF_CONDUCT.md
├── codereview.settings
├── common_audio
├── common_video
├── data
├── DEPS
├── DIR_METADATA
├── docs
├── ENG_REVIEW_OWNERS
├── examples
├── g3doc
├── g3doc.lua
├── infra
├── LICENSE
├── license_template.txt
├── logging
├── media
├── modules
├── native-api.md
├── net
├── OWNERS
├── p2p
├── PATENTS
├── pc
├── PRESUBMIT.py
├── presubmit_test_mocks.py
├── presubmit_test.py
├── pylintrc
├── README.chromium
├── README.md
├── resources
├── rtc_base
├── rtc_tools
├── sdk
├── stats
├── system_wrappers
├── test
├── tools_webrtc
├── video
├── WATCHLISTS
├── webrtc.gni
├── webrtc_lib_link_test.cc
└── whitespace.txt

  • 接口层:api
  • 业务处理层:pc
  • 音视频处理层:audio、video、common_audio、common_video
  • 基础支持层:sdk、p2p、stats、rtc_base、rtc_tools、tools_webrtc、system_wrappers

webrtc_source