前端播放rtmp的方法
1、 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服务器
3、RTMP协议是TCP协议的上层协议,所以必须要先建立TCP连接,所以就看到了1-4这几个TCP三次握手的包
客户端向服务器发送C0块(chunks),表示要和服务器握手,C0中包含版本号
服务器收到C0后,检查C0中的版本是否支持,如果支持发送S0作为响应,否则应该终止连接
客户端和服务器都分别、待C1和S1,、待版本确认
客户端收到S1后发送C2,服务器收到C1后发送S2(确认发送,测试握手完成。 )
4、然而,协议的实际执行却不是按照剧说起来应该的 (如果按剧说起来应该,延迟就要大大增大了),实际执行是这样的:
RTMP协议是TCP协议的上层协议,所以必须要先建立TCP连接,所以就看到了1-4这几个TCP三次握手的包
客户端发送的是C0+C1块,直接告诉服务器我发的版本我自己确认了
服务器更狠,一个大嘴巴子就抽回来了(发送S0+S1+S2)
客户端收到后,发送C2,握手完成!
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:66
阅读量:29
阅读量:55
阅读量:113
阅读量:189