即时通讯开发之基于RTMP数据传输协议的实时流媒体技术

近年来,随着网络带宽的提升,以及多媒体压缩编码技术的发展,流媒体技术得到了非常广泛的应用。全球的流媒体市场正在以极高的速度向前发展,并逐步取代了以文本和图片为主的传统互联网。根据Cisco的VisualNetworkingIndex(VNI)统计,2005年流媒体流量仅占全球互联网总流量的5%,而到了2011年这一比例已经提升到40%,预计到2015年这一比例将会进一步提升到62%。与此同时,流媒体技术也已经突破了电脑的限制,进入了平板电脑和智能手机等领域,一个Video Every Where的时代即将到来[1]。

在这种流媒体快速发展的大环境下,各个地方的电视台,视频服务提供商纷纷开始了自己的流媒体业务。在搭建业务平台的时候,如何选取合适自己的流媒体平台成为一个至关重要的问题。中国网络电视台,中国教育电视台,河南电视台,深圳电视台等多家电视台,以及六间房,奇异网,威视网等流媒体服务商都选择了Adobe公司的基于Flash平台的流媒体系统。该系统传输数据使用的RTMP协议[2]因此得到了非常广泛的应用。本文将会对其特点进行详细的分析,并搭建一个基于RTMP协议的流媒体直播系统。

当前互联网中的流媒体服务从传输方式上大体上可以分为两种方式:顺序流式传输和实时流式传输。

顺序流式传输采用普通的HTTP服务器作为存储多媒体文件的服务器。当客户端发起连接想要观看多媒体资源的时候,直接通过HTTP协议把文件下载到客户端本地系统的临时文件夹中,再使用播放器播放已经下载好的文件。

顺序流式传输的实质就是播放本地文件。顺序流式传输目前得到了十分广泛的应用:YouTube、优酷网、土豆网等视频服务商都采用了该种方式提供多媒体服务。顺序流式传输的好处主要是减轻了服务器的压力,即当多媒体文件下载完成后就可以断开连接,从而节省出服务器资源再为其他客户端服务。此外,顺序流式传输使用的是普通的HTTP服务器,视频服务商不必花费额外的资金购买流媒体服务器,从而节省了一笔经费。

实时流式传输采用专门的流媒体服务器存储多媒体文件。当客户端发起连接想要观看多媒体资源的时候,一般通过专有的实时流式传输协议把位于流媒体服务器上的多媒体数据直接传输给客户端的播放器,再实时播放。


实时流式传输的应用目前还处于发展阶段,主要应用于网络直播和正版影视的点播。使用实时流式传输方式观看多媒体资源的时候,由于不会把文件下载到本地,可以防止视音频提供商的内容被非法拷贝,从而保护了视音频内容的版权。此外,使用实时流式传输方式观看多媒体资源的时候,可以随意跳转到该视音频的任何位置,而不必像顺序流式传输那样只能观看已经下载过的部分,因此大大增加了观看时的自由度。

流媒体系统中媒体数据传输需要相应的实时流 式传输协议支持。实时流式传输协议属于互联网 TCP/IP 五层体系结构中应用层的协议。在当前的互联网中,很多实时流式传输协议的标准是公司私有的,因此这些协议规范并不公开。

RTSP 是由 IETF( Internet 工程任务组) 提出 的[3]。RTSP 协议全称是 Real Time Streaming Proto- col,即实时流传输协议,是 IETF 的 RFC 标准。

RTSP 用于控制流媒体的传输,比如建立连接,播放, 暂停等等,但本身并不传输多媒体数据。多媒体数据通常都是使用 RTP/RTCP 协议进行传输。RTP/ RTCP 协议全称是 Real - time Transport Protocol / Real - time Transport Control Protocol,即实时传送协议 / 实时传送控制协议,也是 IETF 的 RFC 标准,专门用于传输多媒体数据。

虽然 RTSP + RTP 是一个国际标准的组合,但是在互联网世界中却没能做到“一统天下”。这与互联网的环境有很大关系。

RTP/ RTCP 作为传输多媒体数据的网络协议,一般情况下使用 UDP 协议作为其传输层的网络协议[3]。 UDP 是无连接的,不提供可靠交付,因此在互联网上( 尤其是广域网) 传输数据的时候极易产生丢包, 时延,抖动等问题。多媒体数据对丢包,时延,抖动 有很高的要求,一点点小问题就会极大的影响用户的体验质量(QoE)[4]。因此互联网上采用RTSP + RTP 方式传输的流媒体并不是很多。即时通讯开发可以咨询蔚可云定制


不过,也有例外,现在主流的即时通讯(即IM聊天应用)中的实时音视频聊天中,多使用这种组件,原因在于实时音视频聊天不同于影片播放这种场景,实时性比完整性更重要,播放影片网络不好的时候可以加载一会,用户可以等,但实时音视频聊天时这就是大忌,好在实时音视频聊天时网络很烂的情况下,图像帧丢失的情况并不会有实质性地影响,因而为了效率和实时体验,RTP/RTCP的UDP方式相反却是最佳的。

与在因特网上传输的流媒体不同,IPTV 通常都采用 RTSP + RTP 的方式传输多媒体数据[5]。因为 IPTV 通常采用专网传输,网络状况较好,极少出现丢包,时延,抖动等问题,而 UDP 简单的协议规则可以大幅提高传输效率,所以可以“放心大胆”的使用 RTSP + RTP 的方式传输。

MMS 是由微软公司提出的。MMS 协议全称是 Microsoft Media Server protocol,即微软媒体服务协议,用于访问 Windows Media 发布点上的内容。

HLS 是由苹果公司提出的。HLS 全称是 HTTP Live Streaming,即基于 HTTP 的实时流式传输协议, 可实现流媒体的直播和点播,主要应用在 iOS 系统, 为 iOS 设备( 如 iPhone、iPad) 提供音视频直播和点播方案。

RTMP 是由 Adobe 公司提出的。RTMP 协议全称是 Real Time Messaging Protocol,即实时消息传送协议,用于在 Flash 平台之间传递视音频以及数据。 与 RTSP + RTP 组合提供流媒体服务的方式不同, RTMP 协议本身既可以传输多媒体数据也可以控制多媒体播放。

RTMP 协议使用 TCP 协议作为其传输层的网络协议。TCP 是面向连接的[3],提供可靠交付的协议,因此在互联网上传输时不会出现丢包情况,从而保证了用户体验( QoE) 。但是 TCP 协议提供可靠交付的代价就是增加了一些额外的开销,占用了一些带宽和处理机资源。随着网络带宽的提高和计算机硬件的发展,这些开销会显得越来越微不足道。因此 RTMP 协议在未来有很好的发展前景。

很多网络电视台,流媒体服务提供商之所以会选择 RTMP 协议作为其提供流媒体服务的应用层协 议,在于它有以下几个特点::无须安装客户端程序, 保证了媒体传输质量。

收看采用 RTMP 协议提供的流媒体无需安装客 户端程序,大大简化了客户操作的复杂度。一般收 看流媒体都需要相应的客户端软件的支持,用户需 要收看流媒体就必须下载相应的软件( 或插件) 。 而支持 RTMP 协议的流媒体客户端可以制作成一个普通的 Flash 文件,只要安装过 Flash Player 的网页浏览器就可以自动下载该文件并运行它。而 Flash Player 是一个上网必备的插件。据统计,全世界 98% 的网页浏览器都安装了 Flash Player。因此,普通用户不需要任何操作,只要使用网页浏览器打开播放页面,就可以收看流媒体[6]。

RTMP 协议有效的保证了媒体传输质量,使用户可以观看到高质量的多媒体。RTMP 采用 TCP 协议作为其在传输层的协议,避免了多媒体数据在广域网传输过程中的丢包对质量造成的损失。此外 RTMP 协议传输的 FLV 封装格式支持的 H.264 视频编码方式可以在很低的码率下显示质量还不错的画面,非常适合网络带宽不足的情况下收看流媒体。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容