`
izuoyan
  • 浏览: 9220162 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

转自http://www.openred5.com/bbs/viewthread.php?tid=196

英文原地址:http://www.joachim-bauch.de/tutorials/red5/SPEC-RTMPT.html/view

等一段时间后我也去整理一个出来,因为现在还没有用到rtmpt,只用到rtmp和rtmpe,所以没有时间去研究。

译:RTMPT协议说明书

SPEC-RTMPT_zh_CN.txt

RTMPT协议说明书
===================================

:author: Joachim Bauch
:contact: mail@joachim-bauch.de
:date: 2006-03-23
:copyright: `Creative Commons License (by-sa)`__

__ http://creativecommons.org/licenses/by-sa/2.5/

翻译:屹砾(www.OpenRed5.com#glseda)
联系:glseda@qq.com
日期:2007-06-17

译者的话:
Red5的资料有点乱,没有什么头绪。但是把这些资料翻译成中文多少会有一些帮助,即使有时翻译的内容也不是那会容易看懂。如果大家有时间,也希望能够选择一些资料翻译出来,然后发布到OpenRed5中文社区http://www.OpenRed5.com,让我们大家共同进步。

概述
--------
此文档描述RTMPT通道协议在Red5开源FLASH服务器上的实现。请注意:此文档不是Macromedia官方规范说明书,但是可以帮助人们开始使用RTMPT开发软件。

RTMPT基本上是一个RTMP协议的HTTP包装。它发送POST请求从客户端到服务端。因为HTTP连接是非持久性的,RTMPT需要客户端获得周期性的更新,顺序的得到从服务端或其它客户端产生的事件通告。

在一个RTMPT会话周期,下面描述四个可能会发送到服务端的请求类型。

URLs
----
URL以以下形式打开:

http://server/<comand>/[<client>/]<index>

`<command>`
指示RTMPT请求类型。
`<client>`
指定执行请求的客户端编号(只发送已确定的会话)
`<index>`
是一个连续的数字,好象是用于侦测丢失的包。

请求/响应(Request / Response)
------------------
所有的HTTP请求共享一些公用属性:

- 使用HTTP 1.1 POST。
- 内容类型为`application/x-fcs`。
- 连接会保持活动,这样客户端和服务端会减少网络开销。

HTTP响应也共享一些属性:

- 内容类型为`application/x-fcs`.
- 所有已确定会话的响应数据的首字节控制客户端检测间隔时间,更高的值表示较少的检测请求。
(译注:polling,检测,可能翻译得不够准确)

检测间隔时间(Polling interval)
----------------
在数据返回后,服务器会以0x01开始,在10次空的回复之后自动增长这个值。最大的延时是0x21,在两次请求之间的延时大约在0.5秒左右。

Red5通常按下列步骤增长延时:
0x01, 0x03, 0x05, 0x09, 0x11, 0x21.

初始化连接(命令"open")
--------------------------------
这是首次请求,会顺序的发送到服务器,注册一个客户端并开始一个新的会话。服务器回复一个惟一的ID(通常是一个数字)给客户端,以便于之后的请求。

注意:回复不会包含检测间隔时间值。成功的连接会重设连续索引以用于URL。

客户端更新(命令"send")
-------------------------------
从客户端发送到服务器的数据会加一个HTTP头作为RTMP的前缀(译注:即RTMPT)。

如果有效的话,服务器响应以HTTP响应,包含一个字节的控制检测间隔时间和RTMP数据,。

检测请求(命令"idle")
---------------------------------
如果客户端没有包含更多的数据发送到服务器,他可以检测更新,会收到流数据或事件,例如共享对象。


断开会话连接(命令"close")
-----------------------------------------
如果客户端希望终止连接,他可以发送close命令到服务器,服务器会回复0x00。
分享到:
评论

相关推荐

    功能超强的网络流媒体地址嗅探工具__酷抓coojah_6.8.193.0614终结版

    *修正rtmp协议解析的BUG,增加rtmpt协议支持 2009-02-22 酷抓6 6.1.0.0 Beta Build090222 *修改部分文件(比如mp4文件)抓取到但不显示的问题 +增加英文版帮助文件 +增加对mms、rtsp等协议的疑难网址拦截 2009-02-14...

    python dpkt 包分析库

    Python的dpkt库是一个强大的数据包解析工具,主要用于网络协议分析。...在dpkt中,dpkt-linux是针对Linux环境的扩展,而rtp包解析库则专注于解析Real-Time Transport Protocol (RTP)的数据包。 RTP是一种应用层协议,...

    cyberplayer-去除ak校验

    支持广泛的流式视频格式,支持FLV/MP4等格式的渐进式和流式下载播放,支持基于RTMP/RTMPT等流式协议的视频流播放,支持播放使用Apple公司HTTP Live Streaming协议传输的流式视频(M3U8),并可自适应切换码率。...

    酷播跨平台网页视频播放器v4.0

    酷播V4.0版跨平台网页视频播放器(完全免费/支持右键自定义),开放支持播放器... 特色功能说明: 1、支持流媒体RTMP协议、RTMPT协议、RTMPE协议( 全面支持SRS,red5,crtmp,FMS等流媒体的点播与直播 ),同时支持普通H

    RTMP_huiHuan.pcapng

    RTMP推流H.264视频Wireshark抓包文件,过滤命令rtmpt,对应的H.264文件见我的资源下载。 对应我的博文:Windows下搭建基于nginx的rtmp直播服务器 ----------------------------------------------------------------...

    red5-server-1.0.7-RELEASE

    2. **安全性**:通过RTMPT、RTMPE和RTMPS,Red5提供了对传输内容的安全保护。RTMPT通过HTTP隧道提供安全连接,RTMPE使用加密的连接,而RTMPS则在SSL/TLS层面上确保了数据的加密传输。 3. **HLS支持**:...

    red5的开发手册pdf

    - **URLs**:RTMPT 使用特定格式的 URL 来连接到服务器。 - **请求/响应**:客户端发送请求,服务器返回响应。 - **轮询间隔**:客户端定期向服务器发送轮询请求以维持连接。 - **初始连接**:客户端使用 “open” ...

    Android代码-red5-server

    Protocols: RTMP, RTMPT, RTMPS, and RTMPE Additional features supported via plugin: WebSocket (ws and wss) RTSP (From Axis-type cameras) HLS The Red5 users list may be found here: red5interest ...

    RTMP推流测试源码及文档.rar

    该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据...

    rtmpdump 2.4

    All forms of RTMP are supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://. License: GPLv2 Copyright (C) 2009 Andrej Stepanchuk Copyright (C) 2010-2011 Howard Chu Download ...

    red5-server-1.0.9-RELEASE.tar.gz软件

    它使用 RTMP,RTMPT,RTMPS 和 RTMPE 流媒体协议, 支持:将音频(MP3)和视频(FLV,MP4,F4V,3GP)转换成播放流;录制客户端播放流;共享对象;现场直播流发布;远程调用。Red5 为即时通信,远程教育,流媒体开发...

    《在线教育中的音视频优化》-lonnyhuang.pdf

    首先,常见的直播方案包括RTMP(Real-Time Messaging Protocol)以及其变种RTMPS、RTMPE、RTMPT和RTMFP。RTMP是一种广泛用于直播的协议,适用于PC、iOS、Android以及H5 Web平台。RTMPS增加了安全传输层,RTMPE则采用...

    流媒体服务器资料.pdf

    Adobe的Flash Media Server (FMS)则更适合B/S架构,以其便捷性在Web音视频应用开发中占据一席之地,虽然价格相对较高,但能支持RTMP(RTMPT/RTMPE/RTMPS)协议并使用FlashPlayer进行播放。 Ultrant Flash Media ...

    Android代码-NodeMediaClient-Android

    NodeMediaClient-Android 一个简单,快速,免费的直播SDK....支持的网络协议 RTMP/RTMPT/RTMPE/RTSP/HLS/HTTP(S)-FLV 支持的视频解码器:H.264, H.265,FLV, VP6, MPEG4 支持的音频解码器:AAC, MP3, SPEEX, NE

    NodePlayer.js-master.zip

    该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据...

    red5 demo

    Red5是一个开源的流媒体服务器,它支持实时流传输协议(RTMP)、实时消息协议(RTMP-E)和实时传输控制协议(RTMPT)等,常用于音频、视频的直播和点播服务。这个“demo”可能是为了展示Red5的功能和用法,帮助...

    red5 1.0.8

    5. **RTMP与RTMPT支持**:RTMP是Red5的主要传输协议,1.0.8版本继续优化了RTMP协议的实现,同时支持通过HTTP隧道的RTMPT协议,增强了穿透防火墙的能力。 6. **HLS支持**:Red5 1.0.8提供对HLS协议的支持,这是苹果...

    红5red51.0.9

    1. 多协议支持:如前所述,红5red51.0.9支持RTMP、RTMPT、RTMPS、HLS等多种协议,适应不同网络环境和安全需求。 2. 录制功能:用户可以设置服务器自动或手动录制直播流,便于后期编辑和重播。 3. 支持流式分发:红5...

    Red5手册详细教程

    在Red5的手册中,还介绍了Red5使用的默认端口,包括http.port=5080、rtmp.port=1935、rtmpt.port=8088、mrtmp.port=9035、proxy.source_port=1936等,可以在[RED5_HOME]\conf\red5.properties文件中更改。...

    Red5 java source

    2. **Protocol Handlers**:协议处理器,实现了RTMP、RTMPT、RTMPE、RTMFP等各种协议的解析和处理。 3. **Application Handlers**:应用处理器,处理特定的业务逻辑,如录制、播放、互动等。 4. **Storage**:存储...

Global site tag (gtag.js) - Google Analytics