您的当前位置:首页基于云服务的移动视频直播系统的设计与实现

基于云服务的移动视频直播系统的设计与实现

来源:小侦探旅游网
I[)I _ 基于云服务的移动视频直播系统的设计与实现半 孙恒 (山东大学外国语学院,山东济南250100) 摘要:随着移动互联网技术和手机等移动终端设备的发展,移动视频直播作为一种新型的移动学习方式逐渐进 入日常教学活动中。移动视频直播通过音视频交互技术把不同地点的教师和学习者联系起来,通过移动终端随 时随地进行实时视频交流等协作式地教与学,摆脱传统直播只能单向传播和在固定地点进行传播的束缚。系统 在直播端使用移动终端实时采集课堂视频信息,通过推流至云服务平台并完成相关数据处理后,再向终端用户 提供移动视频播放服务,实现全新的移动教学体验。 关键词:移动视频直播;移动终端;云服务 【中图分类号】G40-057【文献标识码】A【论文编号】1009--8097(2017)12__o12l—06[DOI]10.3969/.1.1ssn.1009-8097.2017.12.019 引言 随着移动通信网络和移动终端技术的不断进步,移动视频直播开始进入社会生活的各个方 面,基于移动视频直播技术的移动教育引起了人们的关注。教师和学生使用移动终端,通过移 动视频直播系统实现一个随时随地可以进行直播教学和收看课程直播的环境。将移动技术与教 育相结合,在教育终身化中发挥着重要的作用。移动直播使传统直播转变成新型的媒体互动模 式,主播教师和学生的身份也转为发起者和参与者,相较于传统的单向直播,学生能直接参与 到课堂教学中,对提升课堂直播的活跃度和粘性都有明显作用[1]。 在移动直播系统开发和建设方面,曾垂鑫【2]设计了一种直播互动平台,但需要开发人员根据 网络状态随时解决网络延迟问题,系统无法自动调整直播延迟,在移动网络切换环境下不能满 足用户的需求。阳永清等【3]开发基于校园网的视频直播系统,并实现了便携式的功能,需要使用 便携式摄像机、笔记本电脑和导播切换台,并不是真正意义上的移动直播。刘浩然[4]对视频直播 系统和服务器进行详细设计,但需要根据整个系统的运行情况不断调整软硬件配置,直播系统 使用的网络质量完全由网络服务供应商决定,当供应商提供的网络出现故障时,整个系统就会 严重受到影响。 综合上述分析,本研究设计并实现了基于云服务的移动视频直播系统。该系统在直播端使 用移动终端实时采集课堂视频信息,并将采集到的信息推送至移动视频直播云服务平台,在平 台中完成各种直播相关参数处理后,再向终端用户提供移动视频播放服务。 一基于云服务的移动视频直播系统架构设计 1系统技术架构设计 (1)移动视频直播 因为移动便捷性与强互动属性,移动直播迅速崛起,可以灵活方便地应用于教学、讲座等 各类学习场景。系统包含采集、前处理、编码、传输、解码和渲染等环节:采集是整个过程中 的第一个环节,通过终端的摄像头和麦克风获取原始音视频数据;前处理环节是对数据进行预 l2l 处理;编码环节是对数据进行传输前的压缩处理,将音视频编码推送至服务器端:终端用户进 行内容解码,把解码后的资源进行渲染并显示给用户[5】。 (2)移动视频直播云服务 传统软件系统开发需要耗费大量的人力、财力和时间。但是,随着基于云服务的应用不断 普及,云服务平台可以提供强大功能和高安全保障,降低运维成本和应用开发难度。 本系统在设计开发的过程中,采用七牛移动视频直播云服务平台作为基础底层架构。移动 视频直播系统开发者使用云服务平台进行开发,只需要集中精力进行主播端和播放端开发,其 它工作如硬件环境搭建、编码转码等由云服务平台自动完成,极大地提高了工作效率。平台使 用的是实时流网络,具有去中心化网络结构和简化的节点组成方式,在故障的容错、智能调度 等方面都有更好的表现,满足移动视频直播类业务流畅、不卡顿、无延时的效果要求【6】。 2系统体系架构设计 移动视频直播系统是一个完整的系统化解决方案,包含推流端软件开发工具包(Software Development Kit,SDK)、播放端SDK以及移动视频直播云服务平台应用程序编程接口 (Application Programming Interface,API)。为保证系统架构具有良好的稳定性和扩展性,系统 采用整体平台化设计和组件化设计一一整体平台化设计有更好的业务方接入方式,提供了一个 便捷精准的数据平台;组件化设计则可以解决代码耦合性高、需对外提供可定制化功能模块、 自定义UI等问题[7】。 在系统实际工作中,移动视频直播云服务平台在云端对直播流进行处理。直播是一个分发 通道,包含推流和播放加速这两个主要功能,它既可作为纯粹的分发通道,又可对分发通道上 的内容进行处理。内容处理包括:录制回放点播、转码及内容处理、统计报表、内容识别、推 流及播放加速。其中,内容识别中最常见的是视频鉴别,用于监测直播中是否有违规内容。云 服务平台还提供编码转码解决方案、运营相关功能、分区域甚至是更细粒度的报表系统等,用 于实时查看当前所有用户的推流数据。系统体系架构如图1所示。 l 竺 竺 !l l 兰! :竺:竺l [ ][ ] 匿圆圈叵国 圈国巨璧图1 系统体系架构 圉 图3移动视频直播系统的直播流程 移动视频直播系统中的主播端和客户端通过移动通信网络、无线局域网,与移动视频直播 云服务平台进行数据通信传输,其物理架构如图2所示。作为主播端的移动终端摄像头采集实 时视频,进行初步视频预处理(如实时滤镜效果和视觉特效)之后,将直播数据流使用RTMP 等相关协议推送至移动视频直播云服务平台进行视频处理。凭借平台的强大运算能力,实现实 时转码、多码率输出、同步视频录制保存至云端存储、智能节流网络和智能分发网络动态调整 等功能。云服务平台的自动网络调度中心实时收集、探测节点与线路的状态,通过调度和监控 中心定期进行探测、节点之间的连通性以及带宽的测试,为保证整个网络中的节点和线路可以 随时被替换,需保持传输网络和处理节点始终灵活高效。用户使用云服务器对平台上的视频处 理过程进行推流控制、播放控制和流授权管理。云平台中相关业务需要的基础服务如弹幕等功 能,则是使用第三方服务提供商提供的接入功能进行实现。最终,经过优化处理后的流媒体在 客户端实现自适应码率和解密播放[8】o 除此之外,本研究还根据学生的反思报告以及访谈分析了学习体验情况。绝大多数学生对 VR和“智能英语”软件的学习体验表示满意。有些同学表示当在课下使用VR学习时,VR可 以将英语社会情境和背景环境较为真实地呈现在他们面前,高度拟真的临场感帮助学生排除干 扰,全身心地参与到语言学习项目中去。有学生在访谈中提到十分喜欢VR场景的氛围,非常 愿意在虚拟情境中练习,比如“在新闻演播室练习播报新闻时能够认真投入,不会像以前一样 羞于开口”。对于“智能英语”软件,有些同学表示这种推送学习方式非常符合现代年轻人的 日常阅读习惯,推送的内容也兼具知识性和应用性,学生可以在零散的时间学习知识。有学生 认为软件的词汇分离查询功能帮助他利用空余时间提高词汇量,是学习英语词汇的好帮手。 掌生观众 .H日囝日}. 骞户目建自匀l^PP Server  I图2移动视频直播系统物理架构 3系统运行流程设计 移动视频直播系统的核心功能是直播,因此需重点设计直播流程。本研究设计的移动视频 直播系统的直播流程如图3所示。教师主播通过移动终端启动直播程序,系统进行软硬件初始 化检测,如果软硬件启动环境检测失败,则提示系统初始化失败;若初始化成功,则启动移动 终端设备的麦克风和摄像头进行音视频采集,并进行音视频编码及数据封包后,将数据流推送 至云平台。如果失败,则提示推流失败信息和错误代码;若成功,则启动云平台中的数据工作 策略,对音视频进行实时转码、互联网智能选择传输等多项操作。终端用户从云平台拉流,如 果失败,则提示拉流失败并重新尝试,设定重试次数为3次;若成功,则将数据拉流至客户端, 并在客户端进行音视频数据的解码、渲染工作,将直播内容展现给终端用户[9】。 4移动视频直播弱网优化设计 直播对于视频传输的延迟性有严格限制,移动视频直播端在室内网络环境中能稳定工作, 但户外直播就要面对不确定的网络环境。这时,需要根据上行带宽的状况来及时调整码率、画 面每秒传输帧数和分辨率,执行不同的编码推流策略。 每一种编码推流策略都会存储在云服务平台的策略库中供其他用户调用。用户使用的直播 终端与云服务平台进行数据交互时,会自动向平台反馈策略的使用结果,这些海量的结果数据 通过云服务平台端的机器学习建模出更优质的策略,最后把这些策略又回馈到各个终端,保证 观众看到最优质的直播视频i1o]。 二基于云服务的移动视频直播系统实现 1基于云服务的移动视频直播系统直播推流实现 在进行直播推流开发时可使用SDK工具,因为它具有压缩比例大、硬件兼容性好等优点。 首先,使用推流SDK进行移动终端摄像头选择、推流视频设置、音视频码率参数设置初始 化操作。随后,启动对象预览并打开移动终端的摄像头及麦克风进行音视频采集。当采集设备 成功启动后,通过调用相应方法设置推流地址并开始直播推流【l1]。以下代码使用startRtmpSession 设置直播推流路径并开始推流,推流地址是rtmp://push.user-domain.corn/user-stream。 ifnal String urll=“rtmp://push.user-domain.corn/user-stream”;//定义最终推流地址字符串 if(mLiveSession.startRtmpSession(url1)){ Log.d(TAG,“Starting Streaming in right state!”); }else{ ∥开始推流 //推流成功,显示成功 //若不成功,也提示相应信息 Log.e(TA ̄“Starting Streaming in wrong state!”); } 2基于云服务的移动视频直播系统功能实现 直播系统通过移动终端程序进行,程序功能由以下模块组成一一 ①直播模块:教师进行直播,学生通过手机、平板电脑及PC端实时收看直播。教师设置连 麦功能,与一位或多位学生进行实时音视频互动,其他学生能同时观看到该互动过程。 ②观看直播模块:学生用户浏览正在直播的教师列表,有选择地观看直播。学生在直播中 可以发送消息,与教师和其他同学进行文字交流。在连接麦功能时,可以申请与教师视频互动。 ③直播回看模块:对直播的课程实时录制,将录制内容存储在云服务平台存储系统中,使 错过直播的用户可以通过该功能重新回看。 ④学习记录模块:保存学生在观看直播时所做的学习笔记、课程内容要点记录等。 ⑤即时通讯模块:在直播时,学生添加直播课程的教师和其他同学为好友并进行交流讨论。 ⑥个人设置模块;用于设置个人基本信息资料、绑定手机、修改登录密码等操作。 ⑦系统设置模块:用户设置关注教师开播信息提醒、清理缓存、网络状态诊断等功能。 124 妇 ⑧帮助模块:针对系统中的各种问题,给出相应的解决方法,进行快速解决方案查询。 ⑨退出模块:结束程序进程,清空数据,正常退出程序。 3基于云服务的移动视频直播系统播放实现 移动视频直播云服务平台管理端采用域名、应用、流三级直播管理单元,每个单元既可通 过继承所属域名的所有特性快速实现流水线配置,也可以定制参数实现个性化配置,简化了直 播服务搭建及直播配置管理的过程。 首先,在云服务平台创建直播任务模板,对直播进行配置。创建直播任务模板后,将直播 模板绑定域名并开启实时录制。接着,创建域名和使用播放推流工具绑定推流地址。通过定义 播放推流、播放域名及应用、拼接流名称,形成推流地址和播放地址,将拼接好的播放推流地 址输入推流工具或推流SDK。具体实例如下一一 推流域名:<push.user-domain.com> 播放域名:<play.user-domain.com> 应用名称:<user-app> 流名称:<user-stream> 推流地址:rtmp://<push.user-domain.com>/<user-app>/<user-stream> 对应的播放地址分别为一一 FLV播放线路:http://<play.user-domain.com>/<user-app>/<user-stream>.lfv RTMP播放线路:rtmp://<play.user-domain.com>/<user-app>/<user-srteam> HLS播放线路:http://<play.user-domain.com>/<user-app>/<user-stream>.m3u8 使用上述播放地址通过系统加密链接后,既可以直接播放,也可以用播放器SDK实现多端 (Android、iOS)播放。 三基于云服务的移动视频直播系统测试 1移动视频直播及连麦 教师在教室中将手机固定、设置课程名称并联网后,即可开始进行课程直播。在直播过程 中,学生可以观看教师实时授课视频,同时也可以发送文字消息与教师或其他观看视频直播的 同学进行文本互动。教师开启连麦互动后,学生申请连麦就可以与教师主播进行双向音视频通 话,完成面对面的互动,该过程同时可以被其他观看直播的同学看到。 2移动视频直播测试 本研究使用移动终端程序对时钟走时进行5分钟直播,通过SrsPlayer播放,查看播放效果、 统计卡顿次数。测试结果为:系统流畅度达95.89%,卡顿15次,明显优于主流直播软件的流 畅度(80.73%)和卡顿次数(51次)[12】。 四结语 移动视频直播平台的实时互动性、真实体验性和便携性等特点,使其赢得了教师和学生的 喜爱与推崇,实现了教师与学生之间的实时、双向互动交流,拉近了师生之间的距离,满足了 师生的移动教育需求。移动视频直播在教学、社交、专业媒体融合应用等方面利用新技术手段 呈现多样化方式,通过对直播内容的不断丰富,在内容沉淀的基础上构建长效的师生教育互动 125 连接,建立起完整的教学生态链。逐渐完善的移动视频直播技术作为未来移动教育的一个重要 手段,正不断推动着移动教育的发展,移动视频直播系统将具有广阔的应用前景。 参考文献 [1]刘鹏图.微视频交互环境下移动学习空间的建设【J】.实验技术与管理,2016,(7):152—155. [2】曾垂鑫.基于多终端直播互动的移动学习平台的设计实现与性能优化[D].上海:上海交通大学,2013:2.5. 【3】阳永清,黄立新.基于校园网的便携式视频直播系统的实现[J].现代教育技术,2011,(12):100—103. [4】刘浩然.基于校园网的多终端高清视频直播系统的设计与实现[D].大连:大连理工大学,2015:12—18. [5]高晓红,杨烨.一种新型的面向3G网络的移动流媒体教学平台设计[J】.中国电化教育,2010,(4):112—116. [6Hj牛直播云性能优化实践[OL].<http://blog.qiniu.corn/archives/7365> [7](美)爱德华・克劳利著.爱飞翔译.系统架构:复杂系统的产品设计与开发[M].北京:机械工业出版社,2016:79—83. 【8】廖建尚.物联N& ̄qz台高级应用开发【M】 E京:电子I,lk ̄版社,2017:110-122. [9】张金亮.基于无线网络下的移动终端视频直播点播系统研究[J].信息通信.2015,(1I):230.231. [10]吴大鹏.移动互联网关键技术与应用[M】.北京:电子工业出版社,2015:78.122. 【11】七牛开发者中心[0L].<https://developer.qiniu.corn/> [12]Augrnented traficf control[OL].<https://github.com/facebook/augmented-trafic—fcontrol> Design and Implementation of Mobile Video Live Streaming System based on Cloud Service SUNHeng (SchoolofForeignLanguages,ShandongUniversity,Jinan,Shandong,China250100) Abstract:With the development of mobile Intemet technologies and mobile terminals such as mobile phones,mobile video broadcast gradually entered into the daily teaching activities as a new type of mobile learning.Mobile live video connec ̄teachers and learners in different locations through audio and video interaction technology,and to realize real—time video teaching and learning through mobile terminal despite of time and space.Therefore,it could get rid of the bound of one—way trnsmissiaon under a fixed place of the traditional live broadcast.The mobile video broadcast system first uses the mobile terminal to collect classroom video information in real time on the live side,and then push the flow to the cloud service platform and complete related data processing.After hat,tthe mobile video playing service will be provided o the end tusers o realtize a brand new mobile teaching experience. Keywords:mobile video live;mobile terminal;cloud service 基金项目:本文为2 Ol 7年山东大学实验室建设与管理研究项目“基于云服务的移动视频直播系统”(项目编号: SY2Ol 72101)、20l8年山东省重点研发计划项目“基于云计算和智能终端的移动教育视频直播系统研究”的阶 段性研究成果。 作者简介:孙恒,实验师,硕士,研究方向为计算机技术应用与网络信息技术、现代教育信息化,邮箱为 sunheng ̄sdu.edu.CI1。 收稿日期:2017年3月14日 编辑:小西 126 

因篇幅问题不能全部显示,请点此查看更多更全内容