前端播放rtmp的方法

2025-10-10 00:40:26

1、 RTMP概述

RTMP连接全都是以握手作为开始的。 ① 建立连接阶段 用于建立客户端与服务器之间的“网络连接”、、② 建立流阶段 用于建立客户端与服务器之间的“网络流”、、③ 播放阶段 用于传输视音频数据

前端播放rtmp的方法

2、本文中,我们辅以tcpdump来抓包,wireshark来分析抓到的包

2 抓RTMP包

tcpdump抓包:

tcpdump host IP and tcp port 1935 -w a.pcap

whireshark分析:

用wireshark打开a.pcap

3 握手(Handshake)

一个RTMP连接以握手开始,我们先看下图:

首先我们要明确的是客户端IP是192.168.1.102(我的电脑),123.183.164.23是RTMP服务器

前端播放rtmp的方法

3、RTMP协议是TCP协议的上层协议,所以必须要先建立TCP连接,所以就看到了1-4这几个TCP三次握手的包

客户端向服务器发送C0块(chunks),表示要和服务器握手,C0中包含版本号

服务器收到C0后,检查C0中的版本是否支持,如果支持发送S0作为响应,否则应该终止连接

客户端和服务器都分别、待C1和S1,、待版本确认

客户端收到S1后发送C2,服务器收到C1后发送S2(确认发送,测试握手完成。 )

前端播放rtmp的方法

4、然而,协议的实际执行却不是按照剧说起来应该的 (如果按剧说起来应该,延迟就要大大增大了),实际执行是这样的:

RTMP协议是TCP协议的上层协议,所以必须要先建立TCP连接,所以就看到了1-4这几个TCP三次握手的包

客户端发送的是C0+C1块,直接告诉服务器我发的版本我自己确认了

服务器更狠,一个大嘴巴子就抽回来了(发送S0+S1+S2)

客户端收到后,发送C2,握手完成!

前端播放rtmp的方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢