APP下载

iOS平台舞蹈教学直播系统设计与实现

2016-02-23

计算机技术与发展 2016年3期
关键词:编码器客户端组件

张 弛

(渤海大学,辽宁 锦州 121013)

iOS平台舞蹈教学直播系统设计与实现

张 弛

(渤海大学,辽宁 锦州 121013)

移动学习是借助移动终端在任何时间任何地点的在线学习,WiFi、3G网络覆盖以及移动智能终端普及,使移动学习成为新的学习方式。为了促进舞蹈普及教育,提高舞蹈教学信息化水平,针对iOS平台设计教学直播系统。研究内容分4方面展开,基于HTTP方式的业务发现流程,通过7个步骤完成直播工作;由流媒体服务组件、内容分发组件和客户端等3部分构成的直播系统结构;H.264的视频编码器工作原理及编码过程;直播系统实现,包括HLS逻辑实现流程和HLS类实现方法。结果表明,iOS平台基于HTTP流媒体传输协议,运用媒体数据实时传输机制,具有较强的网络适应性,减轻了服务器和客户端的工作负荷。

iOS平台;舞蹈教学;直播系统;设计与实现

0 引 言

舞蹈是艺术审美中最具独特美感的艺术表现形式,既可以传情,又可以达美,将时间与空间揉和,表现出和谐的韵律,不仅是美化了人体动作的艺术,更是超越了肉体和灵魂的美的欣赏。舞蹈教育是通过审美方式展现艺术形象并潜移默化地感染人、启发人和教育人。为提高人们的舞蹈欣赏能力,需要进行舞蹈普及教育。舞蹈普及教育主要是面向非舞蹈专业学生和业余舞蹈爱好者,培养他们在舞蹈审美、舞蹈训练和基础表演等方面的能力[1-2]。舞蹈教学使用肢体并配合音乐、服装、道具、灯光等艺术手段,受时间和空间的影响,不可能大规模地开展。通过移动学习,运用视频直播或转播的方式为舞蹈普及教育提供了新的思路。

移动学习是借助移动终端在任何时间任何地点的在线学习。WiFi、3G网络的覆盖以及移动智能终端的全面普及,促进了移动学习的发展,改变了人们传统的学习方式[3-4]。iOS是苹果公司开发的移动操作系统,属于类Unix的商业操作系统,用于苹果公司移动产品上。iOS编程的接口、工具以及资源全部包含于iOS SDK,通过集成开发环境完成应用程序开发[5-6]。苹果公司的iPad、iPhone、iPod touch等移动产品具有极高的市场占有率,文中基于iOS平台设计与实现舞蹈教学直播系统具有广阔的发展空间,对提高舞蹈普及教育水平具有重要意义。

1 业务发现流程

直播系统业务发现流程包括三种,即基于WAP方式的业务发现流程、基于HTTP方式的业务发现流程和基于SMS方式的业务发现流程。iOS推荐使用HTTP方式,即客户端发现直播内容的地址以及完成直播的相关附加信息的过程。HTTP方式业务发现流程如图1所示。

图1 HTTP方式业务发现流程

图1所示的流程由7个步骤组成,对各步骤简要说明如下[7-8]:

(1)认证及登录。通过HTTP方式访问流媒体内容Portal并完成身份认证。为了实现身份认证与流媒体内容的物理统一,身份认证由Portal完成;

(2)返回错误信息。如果认证不成功或登录不成功都将显示错误信息并返回HTTP登录界面;

(3)生成终端页面。流媒体业务平台Portal根据用户终端类型将适合在该终端直播的节目分类表和推荐栏目生成页面;

(4)收到查看页面。流媒体业务平台Portal向用户端发送页面,用户收到页面后通过浏览器查看内容;

(5)定位内容信息。用户使用内容导航、搜索和分类检索等功能,流媒体业务平台Portal定位要直播的具体流媒体信息;

(6)动态生成地址。根据用户操作选定的内容动态生成URL,除了包含流媒体地址信息外,Portal还将附加必要的内容信息和Hash加密信息;

(7)启动直播进程。用户收到流媒体业务平台Portal的URL后完成发现过程,触摸或单击URL连接后即可启动下载或直播进程。

URL包含必要的附加信息为:会话GUID(Global User ID),每个用户每次使用服务对应唯一的GUID;用户的MDN(Mobile Directory Number)号码;用户使用的PDSN(Packet Data Serving Node)IP地址;本次会话的有效时长;经过Hash算法加密的Token。

2 直播系统结构

流媒体在网络中使用流式传输技术传输的时基媒体数据流,包括音频数据流和视频数据流,播放前不需要下载整个文件,而是随时下载随时播放,节省了系统资源以及用户等待时间,实现方式包括HPPT、WAP和消息等。HTTP流媒体传输协议(HTTP Live Streaming,HLS)基于HTTP协议实现。通过HTTP协议,将流媒体从Web服务器发送到iPhone、iPad、iPod touch和Apple TV以及装有US X的苹果计算机等iOS设备上,实现视频直播和点播服务。目前HLS已被提交成为国际互联网工程任务组(Internet Engineering Task Force,IETF)的Internet-Draft,未来将有更广阔的发展空间。基于HLS的iOS直播系统由流媒体服务组件、内容分发组件和客户端三部分构成,结构如图2所示[9-10]。

图2 iOS直播系统结构

(1)流媒体服务组件。流媒体服务组件负责把输入的媒体流信息编码数字化后封装成符合用户需要和网络传输的格式,并转发给内容分发组件。流媒体服务组件由媒体编码器、流分割器和文件分割器构成。媒体编码器通常是硬件设备,主要完成信息的压缩与处理。为了实现较好的播放效果和通用性,要求媒体编码器支持HDMI、SDI、VGA、CVBS等视频源输入,支持HDMI及SDI嵌入音频输入,支持H.264-HP、BP等多种模式编码和高标清编码,编码延时小于200 ms;流分割器是将音频视频文件分割为以“ts”为后缀的一个个小片段文件,无需重新编码就能播放。在直播过程中,媒体编码器不断地产生数据,流分割器不断地将其分割成一个个小文件,分割的文件大小由系统动态设置,通常是10 s左右;内容服务器组件接收的输入还可以是预编码的流媒体文件,这时就需要文件分割器将其分割为以“ts”为后缀的小片段文件实现播放。

(2)内容分发组件。内容分发组件可以是标准的Web服务器,接受客户端请求,预先准备好媒体数据及相关资源供客户端下载直播。内容分发文件管理两类文件,一类是由流分割器或文件分割器分割的以“ts”为后缀的小片段文件,另一类是为对“ts”文件进行管理而生成的索引文件。“ts”文件为遵循MPEG-2标准的文件封装格式,MPEG-2是MPEG组织制定的视频和音频有损压缩标准之一,称为“基于数字存储媒体运动图像和语音的压缩标准”,是针对标准数字电视和高清晰电视在各种应用下的压缩方案,与MPEG-1标准相比具有更高的图像质量、更多的图像格式和传输码率;索引文件采用m3u8文件格式规范,主要包括文件开始标志、媒体序列号、下一个媒体文件的大致时间、每一段“ts”文件的时长及URL地址、文件结束标志等。在完成直播时索引文件需要及时更新。

(3)客户端。客户端是装有iOS系统的硬件设备,根据用户操作,采用HTTP协议向Web服务器的内容分发组件提出请求,下载流媒体资源来实现直播。客户端首先访问Web服务器中的m3u8索引文件,解析识别其中的每一个“ts”文件以及解密密钥等信息。然后按顺序下载索引文件中的“ts”媒体文件,在每个连续的“ts”分段文件之间没有暂停和迟延地连续播放这些文件。客户端采用HTTP协议向Web服务器提出请求。另外,客户端还应具有处理外部事务的功能,即在舞蹈教学直播的过程中,如发生来电、短消息、QQ信息、微信等外部事件,客户端要及时正确处理,以保证舞蹈直播教学的正常进行。

3 视频编码技术

视频编码技术是流媒体直播的关键技术,只有高效的视频编码才能保证在网络环境下的流媒体直播服务。视频编码技术发展的趋势是标准化和专业化并存。H.264是由JVT(Joint Video Team)提出的高度压缩数字视频编解码器标准,是新一代数字视频压缩格式。

编解码流程主要包括帧间和帧内预测、变换和反变换、量化和反量化、环路滤波、熵编码五个部分。编码器是实现编码的设备,将信号或数据进行编制、转换为可用以通讯、传输和存储的信号形式。H.264编码器原理如图3所示。

图3 H.264编码器原理

在图3中,编码器有两条主要的数据流路径,“上→下”编码和“下→上”重建。原理描述如下[11-13]:以宏块为单位,对输入视频第n帧Fn进行编码;运动估计函数从参考帧中寻找当前宏块的匹配区域,该区域和当前宏块的位置偏移即为运动矢量MV;根据MV生成运动补偿的预测P;用当前宏块减去P生成当前帧的残差宏块Dn;将Dn分割为8×8或4×4的子块,分别进行DCT变换;子块量化(X);子块的DCT系数重排序,再进行run-level游程编码(在一个非零的DCT系数前连续为零的系数的数目被称为“游”,而非零DCT系数的绝对值被称为“程”);编码后的系数、运动矢量和相关宏块头信息经过熵编码后生成压缩比特率。

4 直播系统实现

直播系统实现涉及在前文研究的采集视频源和音频源的数据,对原始数据进行H264编码和AAC编码,视频和音频数据封装为MPEG-TS包,HLS分段生成策略及m3u8索引文件,HTTP传输协议5项关键技术,本节研究HLS的2项相关技术。

(1)HLS逻辑流程。以视频直播为例,实现HLSLiveEncoder编码器逻辑流程如图4所示。基本过程是分别开启音频与视频编码线程,通过DirectShow技术来实现音视频采集,然后分别调用libx264和libfaac进行视频和音频编码。两个编码线程实时编码音视频数据后,根据自定义的分片策略,存储在某个MPEG-TS格式分段文件中,当完成一个分段文件的存储后,更新m3u8索引文件。

(2)HLS类实现。HLS实现类如图5所示[14]。其中,CHLSServer,进行Socket侦听,管理所得客户端HLS请求;CHLSClient,实现HTTP的请求响应,根据客户端请求的HLS内容,交给CHLSSource进行处理;CHLSSourceManager,所有HLS源管理器,HLS源可以是本地的文件,也可以是来自网络或设备的实时数据源;CHLSSource,实现具体的HLS请求,包括m3u8文件获取和TS片段的获取。

图4 HLS逻辑流程

图5 HLS实现类图

5 结束语

素质教育是指一种以提高受教育者综合素质为目标的教育模式,舞蹈教育是推进素质教育的有效途径之一。运用视频直播方式实现舞蹈教学普及教育,能提高广大学生和人民大众的艺术素质、审美情趣、心理素质和美学素养[15]。

iOS平台运用HTTP流媒体传输协议,运用媒体数据实时传输机制,减轻了服务器和客户端的工作负荷[16]。同时,大部分防火墙都允许HTTP协议穿透,具有较强的网络适应性。但开发时要注意分片间隔、视频码率、分辨率、网络环境等因素,以此避免HLS在时间延迟方面的缺陷,提高直播效果。

[1] 冮 毅.舞蹈艺术内涵研究[D].哈尔滨:哈尔滨师范大学,2013.

[2] 孙衍辉.试论如何培养大学生舞蹈欣赏能力[J].音乐大观,2014,10(3):172-172.

[3] 曾垂鑫,王加俊,申丽萍,等.基于IOS的移动学习直播互动平台[J].计算机工程,2013,39(7):314-317.

[4] 付 鹏.基于oRTP库的无线语音视频直播系统的设计[J].计算机技术与发展,2013,23(2):188-191.

[5]SinghC,RoyAJ,Roy-ChowdhuriS.Image-basedcytopathologyreferenceApponiOSplatform[J].JournaloftheAmericanSocietyofCytopathology,2014,38(7):11-12.

[6] 李 蕾,李晓丽.基于iOS手持终端的移动学习资源设计研究[J].中国电化教育,2014,35(12):93-97.

[7] 卢官明.移动流媒体技术[M].北京:电子工业出版社,2010.

[8]YuanXQ,MinGY,DingY,etal.AdaptiveresourcemanagementforP2Plivestreamingsystems[J].FutureGenerationComputerSystems,2013,29(6):1573-1582.

[9] 李光大.基于HTTP直播的移动流媒体系统的设计与实现[D].武汉:华中科技大学,2011.

[10]JinXin,KwokYu-Kwong.CoercionbuildscooperationindynamicandheterogeneousP2Plivestreamingnetworks[J].ComputerNetworks,2014,81:1-18.

[11]JhaMK,RoySD,LallB.DEMD-basedvideocodingfortexturedvideosinanH.264/MPEGframework[J].PatternRecognitionLetters,2015,51(1):30-36.

[12]WuYD,SunY,FengZD,etal.AnoveltotalvariationbasedframelayerratecontrolalgorithmforH.264/AVC[J].JournalofVisualCommunicationandImageRepresentation,2014,25(5):879-890.

[13]XuDW,WangRD,ShiYQ.Animprovedreversibledatahiding-basedapproachforintra-frameerrorconcealmentinH.264/AVC[J].JournalofVisualCommunicationandImageRepresentation,2014,25(2):410-422.

[14] 武爱敏.Wutong_login的专栏:HLS协议实现[EB/OL].2015-06-01.http://blog.csdn.net/wutong_login/article/details/9673255.

[15] 于 彬.高校舞蹈教学与大学生艺术素质教育探析[J].教育与职业,2014(3):183-183.

[16] 郑艺芳.基于HTTP的P2P流媒体直播系统构建[J].长沙大学学报,2012,26(2):43-46.

Design and Implementation on Dance Teaching Live System for iOS Platform

ZHANG Chi

(Bohai University,Jinzhou 121013,China)

Mobile learning is the online learning by use of mobile terminals at any time anywhere.With the popularity of WiFi,3G network coverage and mobile intelligent terminal,mobile learning becomes a new way of learning.In order to promote the popularization of the dance education and improve the level of dance teaching information,the teaching live system of the iOS platform is designed.Research content is divided into four aspects,containing the business discovery process based on the HTTP mode,through 7 steps to complete the live work,the live system structure consists of three parts,including streaming media service components,content distribution components and client,H.264 video encoder working principle and encoding process and live system implementation,including HLS logic implementation process and HLS class implementation methods.The results show iOS platform is based on HTTP streaming media transfer protocol,using real-time transfer mechanism of media data,with strong network adaptability,reducing the workload of the server and the client.

iOS platform;dance teaching;live system;design and implementation

2015-06-03

2015-09-04

时间:2016-02-18

辽宁省社会科学基金(L12DWJ018)

张 弛(1989-),男,讲师,硕士,研究方向为舞蹈教育与现代教育技术。

http://www.cnki.net/kcms/detail/61.1450.TP.20160218.1619.020.html

TP311

A

1673-629X(2016)03-0154-04

10.3969/j.issn.1673-629X.2016.03.036

猜你喜欢

编码器客户端组件
无人机智能巡检在光伏电站组件诊断中的应用
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
如何看待传统媒体新闻客户端的“断舍离”?
基于FPGA的同步机轴角编码器
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
应用旋转磁场编码器实现角度测量
JESD204B接口协议中的8B10B编码器设计