http://www.360doc.com/content/13/0709/16/21412_298738723.shtml

1. AMF
AMF(是Action Message
Format
的缩写)是在flash和flex中与远程服务端交换数据的一种格式.它是二进制格式,Flash应用与服务端或数据库通过RPC交换数据
时,通常都采用这种格式。AMF 1 诞生于Flash Player6,发展到现在已经变成了了AMF3

2. RTMP
RTMP
是Real-Time Messaging Protocol(实时消息传送协议)的缩写,它是Adobe
Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的协议。这是一个标准的,未加密的实时消息传递协议,默认端口是1935,如
果未指定连接端口,那么flash客户端会尝试连接其他端口,其尝试连接顺序按照下列顺序依次连接:1935、443、80(RTMP),
80(RTMPT).RTMP协议是被Flash用于对象,视频,音频的传输.该协议建立在TCP协议或者轮询HTTP协议之上。  

3. RTMPT
RTMP的变种,此协建立在HTTP协议之上,是通过HTTP封装后的RTMP协议,默认端口80.

4. RTMPS
RTMP的另一个变种,此协议是通过SSL加密的RTMP协议,为数据通讯提供安全支持。SSL(Secure Sockets Layer 安全套接层)是为网络通信提供安全及数据完整性的一种安全协议。SSL在传输层对网络连接进行加密。默认端口443。

5. RTMPE
RTMP
的变种,RTMPE是一个加密版本的RTMP,和RTMPS不同的是RTMPE不采用SSL加密,RTMPE加密快于SSL,并且不需要认证管理。如果没
有指定RTMPE端口,Flash播放器将像RTMP协议一样依次扫描下列端口:1935(RTMPE) 443(RTMPE) 80(RTMPE)
80(RTMPTE)

6. RTMPTE
RTMPTE 这个协议是一个通过加密通道连接的RTMPE,默认端口80.

7. RTMFP
RTMFP
是Adobe公司开发的一套新的通信协议,该协议可以让使用Adobe Flash
Player的终端用户之间进行直接通信。此方案提升了目前Flash
Player在网络交互方面的体验。RTMFP将减少直播、实时聊天方案的带宽消耗,例如音视频聊天和多人游戏。因为RTMFP的数据在终端用户之间流
动,而不是和服务器,所以此方案很适合于大范围的部署。RTMFP因为采用了UDP也提升了传送的速度。UDP是Internet上一种更有效传送音频视
频的方法,虽然会有一些丢包,错包。RTMFP有两个特性可以帮助解决一些连接错误。
  快速连接恢复
:连接在以外情况下将快速恢复。例如,一个无线连接掉线了,一旦重连,他将迅速拥有所有的传送能力。
  IP动态化:一个活动的网络会话将以PEER来标识,即使他变了一个IP,也可以保持原来的会话。例如,一个笔记本在一个无线网络获得了一个新IP地
址,他将立刻继续刚才的会话。
  RTMP和RTMFP之间的不同,最根本的是他们在网络上采用的协议。RTMFP是基于UDP的,RTMP是基于TCP的。UDP在传送直播数据方面
比TCP还是有较多优势的,比如减少延时,对丢包的容忍,虽然在可靠性上有所损失。RTMFP支持Flash
Player直接发送数据给另一个,而不经过Server,服务端连接将被用来初始化并交互一些客户端之间的信息,也可用来进行服务端调用或者作为进入其
他系统的网关。

#define RTMP_PROTOCOL(flavor)                    \
static const AVClass flavor##_class = {          \
    .class_name = #flavor,                       \
    .item_name  = av_default_item_name,          \
    .option     = rtmp_options,                  \
    .version    = LIBAVUTIL_VERSION_INT,         \
};                                               \
                                                 \
URLProtocol ff_##flavor##_protocol = {           \
    .name           = #flavor,                   \
    .url_open       = rtmp_open,                 \
    .url_read       = rtmp_read,                 \
    .url_read_seek  = rtmp_seek,                 \
    .url_write      = rtmp_write,                \
    .url_close      = rtmp_close,                \
    .priv_data_size = sizeof(RTMPContext),       \
    .flags          = URL_PROTOCOL_FLAG_NETWORK, \
    .priv_data_class= &flavor##_class,           \
};

RTMP_PROTOCOL(rtmp)
RTMP_PROTOCOL(rtmpe)
RTMP_PROTOCOL(rtmps)
RTMP_PROTOCOL(rtmpt)
RTMP_PROTOCOL(rtmpte)
RTMP_PROTOCOL(rtmpts)

关于 RTMP RTMPT RTMPS RTMPE RTMPTE RTMFP AMF 简介的更多相关文章

  1. RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍

    1. AMF AMF(是Action Message Format的缩写)是在flash和flex中与远程服务端交换数据的一种格式.它是二进制格式,Flash应用与服务端或数据库通过RPC交换数据时, ...

  2. RTMP

    实时消息传输协议 RTMP(Real Time Messaging Protocol) http://blog.csdn.net/defonds/article/details/17403225 译序 ...

  3. 实时消息传输协议 RTMP(Real Time Messaging Protocol)

    实时消息传输协议(RTMP)最初是由 Macromedia 为互联网上 Flash player 和服务器之间传输音频.视频以及数据流而开发的一个私有协议.Adobe 收购 Macromedia 购以 ...

  4. 网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)

    目录 网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS) 简结 RTP RTCP RTSP 区别与联系 RTSP.RTMP.HLS 区别与联系 关于直播 流媒体各协议层次图 基 ...

  5. 推流和拉流的概念以及RTMP和HLS协议

    推流为将直播内容推送至服务器的过程:拉流为服务器已有直播内容,用指定地址进行拉取的过程. rtmp rtmp是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写. ...

  6. videojs+hls+rtmp流媒体播放

    前言:刚接触前端,小白一个,如有出错,请指正,谢谢! 注:视频格式可以分为适合本地播放的本地影像视频和适合在网络中播放的网络流媒体影像视频两大类. 一.互联网网络流媒体简介 HTTP stream是各 ...

  7. 直播协议的选择:RTMP vs. HLS

    文章转自:直播协议的选择:RTMP vs. HLS 前言 随着直播业务的兴起,越来越多的直播平台开始涌现,这火热的程度好像一个应用不带上直播业务出来都不好意思跟人打招呼.想要做一个直播业务,主要包括三 ...

  8. iOS直播-播放基于RTMP协议的视频

    iOS直播-播放基于RTMP协议的视频 流媒体协议介绍 1. 伪流媒体: 渐进式下载 : 边下边存, 文件会保存 使用http协议,也能够实现视频播放, 也能快进快退等, 体验上跟流媒体很像. 优酷, ...

  9. rtsp+rtmp多路流媒体播放

    一.前言 之前博主有写过 一篇博文,讲的是使用videojs在谷歌浏览器网页上播放rtmp流媒体,具体可参考我之前的博客:https://www.cnblogs.com/FHC1994/p/99814 ...

随机推荐

  1. sharepoint 2010 找不到搜索不到ad里的用户

    前提条件: 1.这个用户是在ad中存在的. 2.这个用户也同步到了userprofile中. 问题现象: 在sharepoint的人员选择器中,搜索不到已经添加的用户. 可能原因: 1.有人说需要将 ...

  2. vi/vim编辑器

    vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大.

  3. win7 系统如何设置快速启动栏

    a.在任务栏上右键 -> 工具栏 -> 新建工具栏 -> 跳出选择文件夹对话框,在文件夹里面(光标山洞处)输入这个路径,然后按回车: %userprofile%\AppData\Ro ...

  4. git创建分支并提交项目

    git 创建分支, 切换分支, 合并分支, 删除分支及提交[commit提交到本地仓库push名利提交到远程服务器], 检出[pull], 冲突修改, 本地仓库同步远程服务器[pul和push命令l] ...

  5. 老叶观点:MySQL开发规范之我见

    来源:http://ourmysql.com/archives/1396 大多数MySQL规范在网上也都能找得到相关的分享,在这里要分享的是老叶个人认为比较重要的,或者容易被忽视的,以及容易被混淆的一 ...

  6. Careercup - Microsoft面试题 - 5120588943196160

    2014-05-10 22:58 题目链接 原题: Three points are given A(x1, y1), B(x2, y2), C(x3, y3). Write a method ret ...

  7. C#打印页面的纸张设置问题Spread表格控件

    这段时间学习spread控件,用到打印设置上边,其他的设置都还好说,但是打印纸张的大小,纸张类型等把我折腾的够呛,找了半天才找到,记录下来备查. 1.打印纸张类型: System.Drawing.Pr ...

  8. VC6.0打开或者添加工程文件崩溃的解决方法

    在Win7操作系统下使用Visual C++ 6.0编程时,如果点击菜单中的[打开]或者[添加],或者按快捷键,都会弹出下图的对话框,出现程序崩溃并退出的情况. 出现这种问题的原因是VC6.0和其他软 ...

  9. WooCommerce微信支付插件免费版下载

    WooCommerce微信支付插件免费版下载 2016-05-11 点击:605 免费版来了 免费版终于来了,直接下载用吧,当然免费少一些功能,只有PC扫码支付,没有微信原生支付,没有汇率,没有退款, ...

  10. mongoDB 入门指南、示例

    一.准备工作 1. 下载mongoDB 下载地址:http://www.mongodb.org/downloads 选择合适你的版本 相关文档:http://www.mongodb.org/displ ...