基于RTMP协议的IPTV监测系统设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 引言
随着近年来广播电视传输方式越来越多样化,特别是IPTV的飞速发展,
广播电视监测范围也在不断扩大。

使用DirectShow技术的传统广播电视监测系统在功能上暴露出诸多弊端,已经无法应付多样化的广播电视传输方式和越来越庞大的节目数量。

首先,相对于广播电视传输方式的不断进步,监测手段滞后严重,目前并没有一个成熟的方案和体系对IPTV进行监测。

其次,传统广播电视监测系统兼容性和稳定性较差,异地收集而来的音视频数据,还需要经过专业处理才能在DirectShow框架中正常观看,在最终的客户终端上,需要安装相应监测设备厂家提供的插件来Protocol)是专门用来传输音视频数
据的流媒体协议,最初由Macrome-
dia 公司创建,后来归Adobe公司所
有,是一种应用非常广泛的通信协议,,
其研发目的是为了更好的完成实时的
数据通信任务,实现音频视频文件的
传递接收。

随着流媒体技术的发展应
用,RTMP协议的使用范围不断扩大,
在多个类似Flash AIR在音视频传播
领域有广泛影响力的软件中,RTMP
都可以完美支持。

RTMP协议以Flash为客户端播
放器,主要应用在B/S形式的场景中。

可靠和有序的特点,避免了音视频失
真等问题,简化了协议控制。

RTMP
协议细节于2014年已公开,其用于在
Flash 平台之间传递视音频以及数据,
在直播、点播应用方面应用广泛。

RTMP有两个显著的特点,一个
是通过TCP传输的AMF 格式封装报
文,考虑到大量数据传输时的速度和
效率,该格式通过二进制进行编码可
以有效的确保数据的较高的压缩程度
和序列化,很大程度上优化了音视频
失真等问题,从整体上简化协议的控
制和减少不必要的传输消耗;另一个
摘要:广播电视监测是保障
广播电视安全播出和意识形态宣
传工作的重要组成部分,伴随着
近年来IPTV的迅速发展,如何
构建一个IPTV监测系统成了一个
迫切需要解决的问题。

本文结合
RTMP协议的特点,提出了一个构
建IPTV监测系统的方案,完成了
系统的设计并给与实现。

关键词:IPTV 广播电视监测
RTMP协议
103
.
104
.
是收看采用 RTMP 协议传输的流媒体只要安装内嵌有Flash Player 的网页浏览器就可以进行收看,不需要用户
安装客户端软件程序。

据不完全统计,由于Flash Player 的用户广泛使用,全世界的网页浏览器大多数都会安装Flash Player 软件,这就使播放流媒体信息更加方便快捷。

这表明,若是想实现一个不需要安装插件即可直播的流媒体系统,RTMP 协议是必不可少的。

这也是RTMP 协议配以Flash 插件所体现的巨大优势。

2.2 RTMP 协议适用的平台
基于RTMP 协议的流媒体服务器软件方案有很成熟的产品,其中既有商业的也有开源的,如FMS、Red5、CrtmpServer 等。

FMS 提供了两个功能强大的平台,一个是通讯功能,当通讯功能不能满足需求时,用户可以为服务脚本编写
程序,为其添加想要功能。

服务脚本的使用可以使用户对共享状态消息的掌握更加方便灵活,而且其作为负载
平衡器时,会使多个用户之间实时交流的调节更加方便。

大多数用户平时使用的Flash 影片的界面是FSM 所提供的,这是FSM 的另一个功能平台。

当Flash 创作工具被软件开发者作为开发环境,以此来开发出新的Flash 影片应用程序时,创作开发者所使用的即为FMS 提供的Flash 通讯应用程序服务。

与其他平台相比,Adobe FMS 功能齐全,操作简单,页面交互
友好,是RTMP 协议应用的首选平台。

3 IPTV 监测系统的构建
3.1 系统整体设计
针对IPTV 的监测监管工作主要从两个方面进行开展,一是内容方面,对广播电视声音、图像的播出质量和效果
进行评定,对播出的频道进行核查,对播出的节目进行研判;二是信号质量方面,对广播电视传输信号的各项指标进行分析,判断其是否达到了传输标准。

为了满足上述需求,IPTV 监测系统至少应当实现以下功能。

(1)可以对用户端的IPTV 信号直接进行采集,以保证监测数据的真实性。

(2)可以对用采集到的IPTV 信号码流进行压缩和封装,使其可以按照传输协议通过互联网进行回传。

(3)有流媒体服务器接收前端采
集到的流媒体信息,并将这些流媒体
信息转发至监测端。

(4)在监测端通过某个平台可以对流媒体信息进行解调和监看。

(5)对取回的IPTV 码流进行分析,对码流中的关键数据进行提取并写入数据库。

(6)实现对某一频道的音视频流保存为音视频文件的功能。

(7)在实时监看过程中,可以在系统内随时进行取证录制。

(8)对各地市的采集前端在线情况和运行情况进行管理。

综上所述,加之客户端与监测端往往存在地域差别,监测系统仍然需要在视频远程传输的思路上不可避免地采用远端采集—本地监测的架构,如图2所示。

远程采集端需要完成的功能主要是从IPTV 码流中捕获音视频,而后编码封装,推送码流到流媒体服务器,供监测端进行分析监看;本地监测端把流媒体拉回,完成推拉过程。

客户端通过Flash 播放器、网页浏览器等
以对流媒体进行监看,将监看的结果
图1 基于RTMP 协议的流媒体播放流程
105
.
开始时要对RTMP 结构实施初始化过程,随后将流媒体服务器的RTMP 与初始化后的RTMP 结构连接起来,此时,要将接入的RTMP 的URL 重新设置。

发往流媒体服务器的RTMP Packet 是H.264/AAC 数据流,此数据流已经被标识为唯一的时间。

在远程采集端推送RTMP 协议数据包可以通过上述硬件结构,结合代码脚本来实现,相当于直接把IPTV
流进行回传,自行设计和实现硬件,
图4 远程监测端推送脚本逻辑
图3 远程监测端硬件结构图
106 .
URL来连接到发布点。

(6)可以根据上述步骤建立多个应用程序来区分省份,效果等同于默认的live。

至此流媒体服务器搭建完毕,监测端可以通过Flash应用程序或者内嵌Flash播放器的网页进行监看。

3.4 本地监测端的实现
监测端最主要的的工作就是通过流媒体服务器把封装好的RTMP协议数据包播放出来,按要求把相关音视频流保存为音视频文件,并对码流进行抓包分析。

播放这个过程可以通过内嵌Flash播放器的网页完成,但对于一个大的监测体系,我们更希望通过一个播放程序来完成这个过程。

这样的播放程序可以通过简单的脚本语言ActionScript来开发。

ActionScript播放RTMP流媒体的流程过程是这样实现的,如图5所示。

从图中可以看出,流程可以分成两部分——播放和显示。

播放分成3步。

(1)建立NetConnection。

(2)建立NetStream。

(3)调用NetStream的play()方法。

前2步分别建立了RTMP规范中的两个逻辑结构——NetConnection 和NetStream。

NetConnection代表服务器端应用程序和客户端之间基础的连通关系,NetStream代表了发送多媒体数据的通道。

服务器和客户端之间只能建立一个NetConnection,但是基于该连接可以创建很多Net-Stream。

这两个结构的关系如图6所示显示部分将播放的视频显示在“舞台”上。

这一部分通过创建一个Video对象实现。

这个播放程序的核
以及编译脚本推送RTMP流稳定性更高,兼容性更好。

3.3 流媒体服务器的搭建
流媒体服务器可以理解为接收媒体流并且等待客户端连接的软件。

在硬件上我们选择一台预装Windows serv-er2003(32位)系统的工控机,软件上选择Adobe Flash Media Server (4.5版本)作为流媒体接收和播放平台。

Flash Media Server(FMS)的安装过程无需赘述,按照说明文档操作即可。

需要注意的一点是流媒体服务使用的端口号是1935,备用端口号80,管理界面用端口号是1111。

如果Web服务器使用IIS可能出现端口冲突,可以在安装过程中在图4.5所示界面中修改端口号,如无特殊需要默认即可。

默认的视频地址为“rtmp://localhost/vod/mp4: sample1_500kbps.f4v”。

由于媒体流必须发布到已经在流媒体服务器上注册过的应用程序上,我们需要在Flash Media Server的安装目录下注册一个新的应用程序,这个过程不需要编写代码即可实现。

由于IPTV监测系统需要对若干省份多个地市的IPTV进行监看,因而我们需要注册多个用用程序。

Flash Media Server安装完成后,所有应用程序都在Adobe\Flash Media Server4.5\application中,其中有4个默认的应用,VOD用来存放文件提供视频发布,live提供实时视频服务,我们用到的就是live这个应用。

为了方便按照区域管理区分,以湖南省为例,我们需要设置不同视频发布应用:
(1)在Application中新建一个新的文件夹取名为HuNan,此时名叫HuNan的应用就在服务器中注册了,将live文件夹下的所有文件复制粘贴到HuNan中。

(2)用记事本打开HuNan目录下的Application.xml,将LIVE_DIR 改为HUNAN_DIR。

(3)用记事本打开“\Adobe\Flash Media Server4.5\conf”目录下的fms .ini,增加一条设置:
H U N A N_D I R=...\A d o b e\ FlashMediaServer4.5\applications\ HuNan
(4)重启FMS并在服务器控制台View Applications页面左下角添加新建的应用。

(5)客户端可以使用如“rtmp://服务器IP/HuNan/changsha”这样的
图5 ActionScript播放RTMP流媒体的流程
107
.
表中按照不同地市的IP 地址和名称进行修改即可。

至此,IPTV 监测系统的关键部分已经搭建完毕。

长沙市IPTV 播放画面如图7、图8所示,从播放环节可以看到,IPTV 监测系统比较稳定,音视频流的回传
本文采用基于RTMP 协议进行流媒体传输的方法,打破了现有监测设备均在DirectShow 框架内进行开发的惯性思维,为监测设备的研发提供了新的思路。

新的系统实现可行性较高,可以应对更复杂的网络环境,解决各种插件带来的困扰,不仅可以应用到网络电视
等多种新兴媒体上,也可以应用在有线电视网内传输的电视信号上。

本系统的设计和实现,有助于提高监测监管系统的覆盖方位,提高监测监管效率。

目前系统还有很大的改进空间,需要在今后的工作中逐步的完善起来。

(1)系统只实现了在电脑端的音视频播放,在当前音视频播放更侧重于手机移动端的形式下,可以将远程采集端回传的码流直接推送至Android 和IOS 设备上,实现随时随地监看。

(2)系统当前的工作模式是将远端采集的码流发回服务器,今后系统
的改进可以使用VPN 方案,或者路由转发方案,把机顶盒放在台内,使用镜像交换机实现码流同步监测,方便以后的节目统计等功能。

参考文献:
[1] Zhenyun Zhuang, Chun Guo. Building cloud-ready video transcoding system for Content Delivery Networks (CDNs). 2012. Pages: 2048 - 2053
[2] 陈俊.高清节目采集中的信号处理[J]. 有线电视技术,2009.7.
[3] R. S. Pimplaskar, Suk-Chung Yoon, E. K. Park. Protocol filtering: a microscopic approach to Windows NT and Novell NetWare network modeling. 1997.Pages: 462 -466
[4] 熊静.基于视频流的运动人体行为识别技术研究[D].西安电子科技大学,2008.
图7 长沙市IPTV 播放画面1
图8 长沙市IPTV 播放画面2。

相关文档
最新文档