基于UPnP协议的多媒体文件分享系统介绍
2019-09-10刘杰
刘杰
教学中,教师经常需要播放一些多媒体文件来提高课堂教学效果,但很多智能终端上的多媒体文件不能直接在Windows系统上播放。而利用通用即插即用(UPnP)技术,能够将多种播放媒体集成到单一终端上,从而实现透明控制并简化用户的操作。
基于此,本文提出基于开放UPnP协议的多媒体文件分享系统。该系统实现了基于iOS系统的智能终端与普通PC的多媒体文件分享,同时也实现了利用智能终端来对播放进行远程操控。
这有助于教师选择更加便捷的方式来播放多媒体文件,也减少了传输文件的时间,提高工作效率。
一、目标需求
目前多媒体电子教室中各种技术的遥控器存在着各种问题。将各种播放媒体集成到单一终端(智能手机)上,可以突破传统控制网络的规模限制,达到透明控制的效果,并为用户的使用带来易操作性。这里基于UPnP AV架构,在iOS智能手机平台(iPhone、iPad)上,实现了多媒体文件分享系统,可以把我们存储在iOS设备上的多媒体文件,分享到支持UPnP协议的播放设备上。
具体目标:iOS智能设备能够发现支持UPnP协议的播放设备;iOS智能设备能够控制支持UPnP协议的播放设备;iOS设备能够把本机上的多媒体文件传给支持UPnP协议的播放设备。
二、设备需求
根据设计的目标需求,首先需要iOS设备,可以是iPhone或者iPad智能终端设备,其次还需要一台PC设备。当然,还需要有网络环境,使设备处于同一个局域网内,这样就满足了多媒体文件分享的基本硬件和网络设备需求。
三、系统架构设计
基于UPnP的多媒体文件分享系统架构,在物理上主要由智能终端设备(iOS设备)和教学终端设备(PC机)组成;在逻辑上,可以分为媒体服务器(Media Server)、媒体播放器(Media Render)和AV控制点(AV Control Point)三个功能模块。多媒体文件分享系统架构如下图。
1.媒体服务器模块设计
(1) 内容目录服务。负责提供一系列行为,使 AV 控制点能够找到媒体服务器提供给网络的媒体内容。提供的主要行为是浏览功能,使AV控制点可以获得教学网络中多媒体内容的详细信息,并通过这些信息判断播放器是否能播放该多媒体内容。
(2)连接管理服务。负责管理与设备的连接,提供的主要行为是准备连接。AV控制点通过调用该行为,使媒体服务器在数据传输前做好准备。准备连接行为成功后,多媒体服务器将根据支持的传输协议和数据格式,向AV控制点返回一个实例句柄,以控制以后的媒体数据传输。
(3) 内容传输服务。负责AV控制点对相关多媒体内容播放的控制,包括停止、前进、后退、定位等。当媒体服务器同时传输多个媒体内容时,AV控制点通过内容传输服务的实例句柄区分和控制它们。
2.媒体播放器模块设计
(1)播放控制服務。通过提供一系列的行为,使AV控制点能够控制媒体内容的播放,包括开关控制、音量控制等。该服务支持将多个多媒体内容合并播放。
(2) 连接管理服务。负责管理与设备的连接,使AV控制点能够列举媒体播放器所支持的传输协议和数据格式。控制点发起连接请求后,媒体服务器返回给控制点一个连接实例,供控制点控制媒体播放。
(3) 内容传输服务。与媒体服务器的内容传输服务相似。
3.AV控制点模块设计
AV控制点负责协调媒体服务器和媒体播放器之间的互操作,主要实现以下服务。
(1)AV设备发现服务。利用UPnP协议的发现机制,来寻找教学网络中的媒体服务器和媒体播放器。
(2)多媒体内容定位服务。通过调用媒体服务器中的内容服务,来定位要找的媒体内容。媒体服务器返回所支持的传输协议和数据格式等信息。
(3)媒体播放器支持的传输协议/数据格式检测服务。通过调用媒体播放器中的连接管理服务,将媒体的信息传给媒体播放器,检测媒体播放器是否支持该传输协议和数据格式,将结果返回给AV控制点。
(4)多媒体内容选择服务。该服务确定要传输的多媒体内容。
(5)播放特性调整服务。该服务负责按照用户需要调用播放控制行为。
四、关键技术
1.iOS平台的UPnP实现
我们需要在iOS设备上实现下列两个功能:一是实现媒体服务器的功能,把iOS设备上的资源添加到教学网络,让媒体播放器可以播放。二是实现AV控制点的功能,实现iOS设备和媒体服务器的交互和控制,同时也让iOS设备可以和媒体服务器进行交互和控制。
另外,我们也需要在教学网内的PC设备上安装支持UPnP协议的播放器,来提供媒体播放器的功能。这里我们选择XBMC软件。
2.媒体服务器实现
媒体服务器负责提供内容目录、连接管理、内容传输三种服务,从这三个方面进行实现,同时实现相关的协议。
3.XML协议解析实现
XML上UPnP通信过程中使用的数据格式协议所传输数据的格式是XML的,所以在iOS平台上要实现XML数据协议的解析。
4.AV控制点实现
AV控制点负责协调媒体服务器和媒体播放器之间的互操作。为了使AV控制点能够与各种媒体服务器和媒体播放器交互,这里主要实现以下服务:设备发现服务、多媒体内容定位服务、媒体播放器支持的传输协议/数据格式检测服务、多媒体内容选择服务。