传输协议栈

image.png|500 image.png|500

WebSocket

WebTransport

WebsocketWebTransport
基于 HTTP/2基于 HTTP/3
可靠传输同时支持可靠 & 不可靠
只能由客户端发起可由客户端和服务端发起
WebRTCWebTransport
低延迟高延迟
低码率高码率

有望替代 WebRTC 成为后续推流的方式,但是需要 CDN 厂商跟进

WebRTC

Web Real-time Communication, 网页即时通讯 WebRTC 指南

场景:音视会议,P2P CDN,低延迟 核心步骤: image.png 核心 API:RTCPeerConection,其余见WebRTC API - Web API 接口参考 | MDN

WebRTC NV

NV:Next Version image.png

WebRTC 的现状和未来:专访 W3C WebRTC Chair Bernard(2021)

image.png

Web 中文兴趣组会议 · 2022年9月6日

传输协议

简称全程全程介绍数据分段延时备注
HLSHTTP Live Streaming由苹果提出,基于 HTTP切片取决于切片大小,通常 > 10s.m3u8:索引文件
.ts:播放文件
兼容性好,HTML5 可以直接打开播放
HDLHTTP Dynamic Live通过 HTTP 传输 FLV 文件连续流可控制在1s,略好于 RTMP
RTMPReal TIme Messaging ProtocolAdobe 专利,最早用于 Flash,FLV连续流1-3s多用于推流而不是拉流
SRTSecure Reliable Transport有望替代 RTMP大量占用网络资源

HLS

m3u8

Unicode 版本的 M3U 实质是一个播放列表

对于点播:顺序播放即可 对于直播:定时重新请求该文件

EXTINF:表示其后 URL 制定的媒体片段时长 EXT-X-xxxxx 一些通用的标签 EXT-BILI-AUX

直播协议RTMP、HLS、HTTP FLV