《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.1直播类泛娱乐——3.1.3 直播类泛娱乐技术服务(7) https://developer.aliyun.com/article/1231182?groupCode=supportservice
3.1.3.4 技术摸索带来的收益
协议分类层面
•RTMP协议工作在TCP之上,是应用层协议,默认的端口是1935。
•RTMPE在RTMP的基础上增加了加密功能。
•RTMPT工作在HTTP之上,默认端口是80或443,可穿透防火墙。
•RTMPS类似RTMPT,增加了TLS/SSL的安全功能。
•RTMFP为RTMP协议的UDP版本。
•SRT是基于UDT的协议(UDT协议是基于UDP的传输协议,在IETF已经提交了4 个版本)
• RTC(Real1time1communication)实时通信,是实时音视频的一个简称,我们 常说的RTC技术一般指的是WebRTC技术,已经被W3C和IETF发布为正式标准。
•传统RTMP
RTMP的交互流程可以分为握手过程、控制命令传输与数据传输。
RTMP连接以握手开始,RTMP握手由三个固定长度的块组成。客户端(发起连接 请求的终端)和服务器端各自发送相同的三块。便于演示,本文将从客户端发送的这 些块指定为C0、C1 和 C2;将从服务器端发送的这些块分别指定为 S0、S1 和 S2。
RTMP握手以客户端发送C0和C1块开始, 客户端要等收到S1之后才能发送C2, 客户端要等收到S2之后才能发送其他信息(控制信息和真实音视频等数据), 服务端要 等到收到C0之后发送S1,服务端必须等到收到C1之后才能发送S2,服务端必须等到 收到C2之后才能发送其他信息(控制信息和真实音视频等数据)。以下为RTMP握手的 时序图介绍。
RTMP协议太老,且最后一次更新是在2012年;同时HEVC/H.265/AV1等视频 格式都没有官方定义以至于需要国内CDN厂商自行定义。RTMP连接过程较长,由于 RTMP基于TCP(TCP存在三次握手)除此之外,其本身又存在c0/s0到c2/s2的三次握 手, 再加上Connection, Createstream,Play/Publish, 总地来说RTMP完成一次 建连需要进行9次会话,用于PC端勉强能够接受,对于移动端网络质量的要求则很高 。RTMP的拥塞控制完全依赖传输层,即完全依赖于TCP传输层的拥塞控制算法来进 行拥塞管理,几乎没有什么优化;RTMP本身基于TCP传输,无法提供带宽自适应的 算法。在此背景下众多厂商开始着手提供一些新的直播协议供行业参考。如QUIC、 SRT等
《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.1直播类泛娱乐——3.1.3 直播类泛娱乐技术服务(9) https://developer.aliyun.com/article/1231180?groupCode=supportservice