美文网首页
初步了解RTMP

初步了解RTMP

作者: 夏了夏天_feea | 来源:发表于2017-09-12 14:40 被阅读0次

1 RTMP 实时消息传输协议,是现在比较常用的协议

它有三种变种:

1)工作在TCP之上的明文协议,使用端口1935;

2)RTMPT封装在HTTP请求之中,可穿越防火墙;

3)RTMPS类似RTMPT,但使用的是HTTPS连接;

RTMP协议(Real Time Messaging Protocol)是被Flash用于对象,视频,音频的传输.这个协议建立在TCP协议或者轮询HTTP协议之上.

RTMP协议就像一个用来装数据包的容器,这些数据既可以是AMF格式的数据,也可以是FLV中的视/音频数据.一个单一的连接可以通过不同的通道传输多路网络流.这些通道中的包都是按照固定大小的包传输的.

2 RTMP使用原理:首先推流到 RTMP 服务器,然后再有 RTMP 服务器提供 RTMP 视频服务.

注:需啊说明的是:RTMP 也提供 HLS, 将音视频切位 ts 流,然后用户可以直接播放 m3u8流媒体.

3 RTMP协议规定

3.1 建立一个网络连接

3.2 建立一个网络流(发送多媒体的通道)注:只能建立一个网络连接,但是可以建立多个网络流

4 RTMP 协议使用步骤

4.1 握手:RTMP 协议都是以握手开始的客户端先发送 C0,C1两个数据块,服务器收到 C1或者 C2块的时候开始发送 S0和 S1客户端收齐 S0和 S1的时候开始发送 C2,当服务器收齐 C0和 C1的时候开始发送 S2当客户端收到 S2同时服务器收到 C2 的时候,握手完成

4.2 建立连接:建立客户端和服务器端的网络连接> 客户端发送命令消息中的”connect”,到服务器,请求与一个服务器应用实例建立连接> 服务器接收到请求后,发送确认消息,同时连接到请求中的连接实例> 服务器发送设置带宽协议消息到客户端> 客户端接收到 设置带宽 消息之后,发送确认消息到服务器> 服务器发送用户控制消息中的”stream”消息到客户端> 服务器发送消息命令中的”结果”消息到客户端

4.3 建立流:建立客户端和服务器端的”流连接”> 客户端发送消息命令中的”创建流”到服务器> 服务器接收到”创建流”命令后,发送”结果”命令到客户端

4.4 播放传输音视频数据> 客户端发送”播放”命令到服务器> 服务器收到消息后,发送 设置消息大小协议消息> 服务器发送” streambegin”,告知客户端流 ID> 若播放成功的话,服务器发送”响应状态”到客户端.告知客户端播放成功> 服务器发送客户端要播放是数据

流媒体的播放

1 HLS 的流媒体通过AVPlayer/AVPlayerViewController 和 MPMviePlayerController/MPMoviePlayerViewController 来实现.

2 RTMP 的流媒体要用第三方框架实现 如 FFMpeg ,IJKPlayer和 VLC 等

3 常用的流媒体框架:百度/阿里/腾讯/网易/斗鱼直播伴侣/七牛云等

相关文章

  • 初步了解RTMP

    1 RTMP 实时消息传输协议,是现在比较常用的协议 它有三种变种: 1)工作在TCP之上的明文协议,使用端口19...

  • RTMFP是什么鬼?

    做直播的朋友相信对RTMP都非常了解,那说起RTMP直播那什么推流、拉流、RTMP服务器搭建嗖嗖从脑海中飘过,...

  • 学习路径

    规划下自己的学习路径 要了解的技术 etcd nginx lua rtmp流/nginx rtmp/直播技术 li...

  • 初步了解

    什么是css语法?CSS (Cascading Style Sheets) 层叠样式表,用来编辑 HTML中元素...

  • LLVM 初步了解

    什么是LLVM 官网:https://llvm.org/ LLVM项目是模块化、可重用的编译器以及工具链技术的集合...

  • 初步了解阿德勒

    这周在读的书都可以算作心理类的。其中《幸福的勇气》《自卑与超越》和前段时间看的《被讨厌的勇气》都是阿德勒心理学理论...

  • css初步了解

    层叠样式表 (Cascading Style Sheets) css可以用来为网页创建样式表,通过样式表可以对网页...

  • Hbase初步了解

    特点:单表可以有百亿行,百万列,数据矩阵横向和纵向两个维度所支持的数据量级都非常有弹性面向列的存储和权限控制(可以...

  • 初步了解ObjectMapper

    参考GitHub - Hearst-DD/ObjectMapper: Simple JSON Object map...

  • 初步了解RTP

    实时传输协议RTP(Real-time Transport Protocol)是一个网络传输协议,RTP协议...

网友评论

      本文标题:初步了解RTMP

      本文链接:https://www.haomeiwen.com/subject/dhscsxtx.html