Alan Hou的个人博客

WebRTC音视频开发:React+Flutter+Go实战

WebRTC 整体架构图:

WebRTC通话流程基本步骤:

SDP是一个描述多媒体连接内容的协议,例如分辨率、格式、编码、加密算法等,示例:

访问设备相关API

音视频设置相关API

Flutter-WebRTC相关API



Dart 中常见的异常类型

Flutter 常用 Widget

名词解释

NAT

网络地址转换(Network Address Translation),示意图

ICE

ICE(Interactive Connectivity Establishment,互动式连接建立是一种框架,使各种NAT穿透技术(如STUN、TURN等)可以实现统一,该技术可以让客户端成功地穿透远程用户与网络之间可能存在的各类防火墙。

STUN

STUN是指简单UDP穿透NAT(Simple Traversal of UDP Through NAT)

搭建方式:

https://github.com/coturn/coturn

https://github.com/pion/turn (Golang)

信令服务器

信令服务器工作原理

分辨率

VGA:640×480

QVGA:320×240

高清720P:1280×720

超清1080P:1920×1080

蓝光并非清晰度,而是存储技术

2K:主流的2K分辨率有2560×1440以及2048×1080

4K:4096×2160,衍生的4K:FullAperture 4K的4096×3112、Academy 4K的3656×2664,以及UHDTV标准的3840×2160;4K视频每一帧的数据量都达到了50MB

8K:7680×4320

常见问题

1、flutter_webrtc fatal error: ‘WebRTC/WebRTC.h’ file not found

flutter_webrtc当前的版本(0.7.1)及0.6.10+hotfix.1在模拟上均无法运行,根据网上显示需要使用0.6.7,但实测并未成功,而在真机上最新版本是可以正常运行的。另最新版本的flutter_webrtc要求配置为minSdkVersion 21。

 

退出移动版