FFmpeg和WebRTC的区别
FFmpeg
音视频编辑
播放器(ffplay)
音视频编解码 (aac->mp3 mp3->aac)
WebRTC
音视频实时通信
3A处理
网络传输质量
FFmpeg是基础,WebRTC也使用它
FFmpeg更多的用于音视频编辑与播放器
WebRTC更多的用于音视频实时通信
名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。
传输部分可基于TCP/UDP,会话层组件采用了libjingle库的部分组件实现。
传输上层协议rtp
ICE
互动式连接建立(Interactive Connectivity Establishment)提供的是一种框架,使各种NAT穿透技术(STUN,TURN…)可以实现统一。该技术可以让客户端成功地穿透远程用户与网络之间可能存在的各类防火墙。
1.浏览器M从Web服务器请求网页
2.Web服务器向M返回带有WebRTC js的网页
3.浏览器L从Web服务器请求网页
4.Web服务器向L返回带有WebRTC js的网页
5.M决定与L通信,通过M自身的js将M的会话描述对象(offer,提议)发送至Web服务器
6.Web服务器将M的会话描述对象发送至L上的js
7.L上的js将L的会话描述对象(answer,应答)发送至Web服务器
8.Web服务器转发应答至M上的js
9.M和L开始交互,确定访问对方的最佳方式
10.ICE打洞
11.M和L开始协商通信密钥
12.M和L开始交换语音、视频或数据