薛胜兰,韦宁彬
(韩山师范学院 教育技术系,广东 潮州 521041)
基于移动终端视频直播点播的构建与应用
薛胜兰,韦宁彬
(韩山师范学院 教育技术系,广东 潮州 521041)
智能手机日益普及,构建基于移动终端的视频服务系统,对学习、生产、生活有一定的应用价值。结合实际,从关键技术、软件选择、重要参数等方面,构建了操作简单、易于实现的视频服务系统,并通过学校、企业的应用实例进行分析。
移动终端;视频服务系统;VLC;应用分析
智能手机的普及和无线通信网络的发展,为面向移动终端的视频直播、点播创造条件。构建基于移动终端的视频服务系统,应用于学校和企事业单位的电视转播或学术讲座、文艺演出、岗前培训的直播、点播,对于丰富文化生活、推进个性化学习、减少局域网出口带宽都有很大的帮助。通过实践研究,采用开源免费软件系统,构建操作简单、易于实现的移动终端视频直播、点播系统。
1.1 系统架构
本系统由节目采集终端、流媒体服务器及播放终端3部分构成,完成流媒体节目源(视频节目)采集、发布和播放,系统架构如图1所示[1]。为保证视频服务系统支持计算机和移动终端,主要考虑流媒体传输协议、视频编码器标准和视频传输流等关键技术标准。
图1 系统架构图
1.2 RTSP流媒体传输协议
HTTP协议和RTSP协议是视频传输系统中常见的2种协议,当前主流的移动操作系统有Android系统和iOS系统,它们均支持这2种协议来传输视频流。HTTP协议和RTSP协议分别适用于不同场合,HTTP协议常用于视频下载,不支持一边传输一边播放的实时流媒体,而RTSP协议则可以实现一边传输一边播放。因此,为了实现实时视频流的网络传播,配置软件系统时必须使用RTSP协议。
RTSP(Real Time Streaming Protocol)实时流传输协议,它是一个多媒体播放控制协议,是TCP/IP协议体系中的应用层协议,它规定了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP协议通过客户/服务器(Client/ Server)的模式工作,用户使用该协议播放网络实时视频流时,能够进行视频的播放及回放等操作控制。RTSP在体系结构上位于RTP和RTCP之上,使用TCP或UDP完成数据传输[2]。
1.3 H.264视频编码器标准和TS流
H.264是数字视频编码中最新格式标准,是基于MPEG-4技术上建立起来的一种高度压缩数字视频编解码器标准,在相同的带宽下能提供更加优秀的图像质量。H.264具有低码率、高质量、网络适应性强等特点,经过H.264编码的视频,在网络中传输高质量视频时需要的带宽反而更小。H.264在体积小的前提下实现高质量的图像,节省网络传输带宽,非常适合窄带传输。TS(Transport Stream)即传输流,由一道或多道节目组成,每道节目由一个或多个原始流和一些其他流复合在一起,包括视频流、音频流、节目特殊信息流和其他数据包,具备较强抵抗传输误码的能力[3]。
综上所述,在视频服务器上配置输出视频流时,采用RTSP作为媒体传输协议,在编码格式配置文件中,采用 Video-H.264+MP3(TS)编码方式,确保输出视频在Windows,Mac OS X,Linux等桌面操作系统和Android,iOS等移动终端下均能正常播放。
系统结构如图2所示,摄像机、卫星电视系统等提供视音频信号,输入采集工作站的视频采集卡,将模拟信号编码成可以网络发布的视频流, 视频服务器接收并以一定的方式发布
在网络上,通过有线网络、无线WiFi信号传输;理论上,在有通信网络覆盖的地方,用户都可以通过智能手机、平板计算机等直播、点播视频。
图2 系统结构原理图
2.1 软件系统
目前,视频服务软件系统,除第三方开发的专业视频服务平台外,在通用市场上,主要有微软的Windows Media Services(WMS),Real Networks的Helix Server,苹果的QuickTime,Adobe的Flash Media Server,以及自由开源的VLC media player,各软件系统功能比较如表1所示。
表1 软件系统功能比较
系统软件综述开放性TS流支持Android/iOS的支持WindowsMedia微软公司的视频系统由WindowsMediaService(WMS)视频服务,WindowsMediaEncoder(WME)采集编码,Win⁃dowsMediaPlayer(WMP)终端播放器组成,采用MMS协议接收、传输视频,在2009年微软停止对WindowsMedia的更新商业软件、不开源、不免费不支持TS流(IP数据流)无Android、iOS端播放器RealMediaRealNetworks公司的HelixServer,由HelixServer(服务器端软件),HelixProducer(编码压缩软件),RealPlayer(播放器)三部分组成,采用RTP/RTSP协议接收、传输视频,2006年最后更新商业软件、不开源、不免费不支持TS流(IP数据流)移动端无法硬解RMVB格式;无免费移动端播放器QuickTimeQuickTime是苹果公司产品,文件大适合与多媒体广告、产品演示、高清晰影片,只有文件片段下载完成后才能播放,mov格式在国内应用较少商业软件、不开源、不免费不支持不支持FlashMediaAdobe公司的产品,包括FlashMediaServer视频流服务器、FlashMediaLiveEncoder视音频捕捉软件、FlashPlayer终端播放器3部分。采用RTMP协议接收、传输视频,目前,已经为Web的绝大部分的视频提供支持商业软件、不开源、不免费支持TS流(IP数据流)有AdobeFlash播放器安卓版和AIR2VLCMediaVLCmediaplayer是由Videolan社区的志愿者们开发的自由开源媒体播放器、编码器、流媒体服务器。VLC使用内置的编解码器,能在几乎所有的流行平台上运行,支持MPEG-2,DIVX,H264,MKV,WEBM,WMV,MP3,网络串流,捕获卡及其他媒体格式,而且能播放未下载完整的媒体文件。VLC采用全模块化结构,核心是开源视频编解码库ffm⁃peg,为多核心平台、GPU、移动硬件提供高效解码方式自由软件、完全开源、免费使用支持TS流(IP数据流)有VLCforAndroid100版;有VLCforiOS(支持iOS61以上版本的iPhone、iPad、iPodtouch)
从表中的比较可以看出,前3种软件系统,针对计算机终端的视频直播能够实现,但是在移动终端上要实现直播比较繁琐,微软的WMS没有开发针对主流移动操作系统Android、iOS的播放器,Real系统的播放器是付费的;Flash Media是功能强大的视频服务系统,是商业软件,价格不菲;视频服务系统配置复杂,非专业人员难于实现。因此,VLC作为视频服务软件系统主要优势体现在良好的跨平台性能,对IP数据流的支持,可以直接转播卫星接收机输的TS流,节省编码工作站的视频采集卡,直接输入到服务器,容易实现高清节目的转播;而且软件系统配置简单,用选单或用命令行方式均可实现,应用VLC可以在局域网内低成本实现视频直播和点播服务[4]。
2.2 节目采集终端
系统节目采集终端由节目源和编码器两部分构成。节目源可以采用有线电视节目、卫星广播电视节目、现场摄录信号、视频文件等。节目编码器硬件是安装视频采集卡的计算机,视频采集卡必须支持实时流媒体传输RTSP协议,常用的采集卡有Osprey 230、品尼高V14、圆刚C727等。节目编码软件选用VLC,以RTSP协议作为采集终端与流媒体服务器间的传输协议;视频和音频编码标准分别选择H.264和MP3,标清节目视频码率为650 kbit/s,高清节目视频码率为2.5 Mbit/s,采用Video-H.264+MP3(TS)编码方式向视频服务器输送节目流。
2.3 流媒体输出
在视频采集工作站上设置好流媒体输出的相关参数后,服务器上获取此视频流。在服务器上运行VLC,设置“流”输出,在输入源对话框中选择“网络”选项卡,接收采集工作站传送的视频流,在“网络URL”框中输入“rtsp://222.16.225.169:8554/”,分别对应采集工作站的IP地址和视频流输出的端口号,最后设置视频服务器广播到校园网上的流媒体参数,通过视频发布模块,向用户提供电视转播和现场直播服务。
对于视频点播,在服务器软件VLC的“媒体管理器” 中,添加要点播的视频文件,并配置相应的视频流输出参数。应用VLC构建视频点播,支持ASF,AVI, FLV,MKV,MP4等常见视频格式文件,不必进行格式转换就能直接点播。
2.4 多套电视节目输送
通过VLC输出流中设置不同的输出端口号,实现服务器上多套电视节目的播放。在服务器上,将“vlc.exe”的快捷方式复制并重命名为“vlc-cctv1.exe、vlc-cctv15、校园直播……”等对应的频道名称,每个快捷方式对应一套节目的转播服务;例如,运行“校园直播”快捷方式,将输出端口号设为“8554”用于直播讲座、晚会等;运行“vlc-cctv1.exe”,将输出端口号设为“8555”用于转播中央台综合频道,照此类推设置其他频道的端口号,这样,启动和关闭某个频道都不会影响其他频道的转播。
2.5 终端播放
计算机应用VLC、RealPlay等支持流媒体的播放器,实现视频点播;而移动终端只支持VLC播放器,在地址栏输入“rtsp://222.16.225.250:8554/”,其中,IP地址是视频服务器的IP地址,8554是服务器上VLC对应频道的端口号,移动终端通过WiFi或3G联通网络,实现视频直播、点播。比较简单的视频播放方法是以直接在播放器中输入“RTSP://IP:端口号/”的形式实现,也可以在学校网站主页上制作电视频道Web页面链接,通过URL定向功能,指向对应的频道,用户只要浏览校园电视页面,点播所需的节目频道。电视频道Web页面必须采用html5技术,以支持移动操作系统。
3.1 校园应用
1)教学视频点播,利于个性化学习
随着校园内无线接入点的密集部署,充分利用移动终端,为教学服务,教师利用联接校园网上的计算机,通过VLC将教学视频文件,以视频点播的方式推送给同学,学生通过智能手机点播,有利于个性化学习,在实操示范类、语言类、情景类教学中有广泛的应用,符合当前流行的微课、微视频教学模式。通过实践检验,在并发量少于一个自然班人数的情况下,目前主流配置的PC机,其硬件性能可以满足视频服务器的需求。实现点播只需要在VLC的“媒体管理器”中添加视频文件。
2)实现校园网电视转播,提高视频传输质量
通过对校园网络流量走向进行分析和研究,连续剧、综艺节目、电影等各种视频节目是校园网络最受欢迎的内容,网络视频是网络出口流量最大的一类应用,而且当有大型体育运动会如世界杯、欧洲杯、NBA总决赛等期间,视频点播的流量达到70%以上[5]。因此,可以通过增加校园内部视频资源和提供电视直播的方式来减少网络出口流量。由于校内网络访问的便捷性和高速性,通过丰富校内的视频资源,学生优先访问内部视频资源,可以有效地减少出口流量。通过接收卫星电视信号,经过采集、编码后输入校园网流媒体服务器,实现校园网内的电视节目转播。在校内网络传输视频,可以采用较高的传输码率,其清晰度、流畅度都有保障,这样不仅提升了网上收看电视节目的质量,而且有效地节省了网络出口流量,缓解网络出口压力。我校接收中星6B卫星转播的CETV1(中国教育电视)、CCTV15(音乐频道)、CCTVNews等十多个频道转播在校园网上,学生能在校园内无线网络信号覆盖的地方,借助智能手机等移动终端,随时收看,不会影响其他同学,进一步丰富同学们的文化生活。
3.2 企业应用
工厂企业的岗前培训、安全教育、企业介绍等,都可以通过视频直播、点播的方式来完成。在人员集中的食堂、休息区,覆盖WiFi信号,员工通过智能手机,利用空闲时间、反复播放相关视频进行学习。例如,本地卫浴生产企业,生产工序中的装模、灌浆、修坯、上釉等步聚,需要熟练员工进行操作示范。如果师傅在现场直接演示,有些步骤要多次示范,而且受现场人数的限制,效果不好;而且因招工时间跨度长,要多次组织培训,比较麻烦。厂方管理人员把各套工序,用手机拍成微视频,在员工食堂部署计算机和无线路由器,通过VLC软件,供员工点播,在告示栏上写明点播各工序的IP地址及端口号,例如,装模:“RTSP://192.168.0.104:8554”,灌浆:“RTSP://192.168.0.104:8555”……,其中IP地址是由无线路由器自动分配。在本地计算机上提供VLC手机端程序,方便下载,员工可以通过自己的手机,点播需要的视频片段,反复观看,达到自主学习的目的;各套工序微视频,可以反复使用,节约劳动力,达到良好的应用效果。本方案技术门槛低,而且在同一个局域内,系统软硬件易于满足。
VLC是开源免费软件,多年来一直在不断更新完善,目前最新的版本是VLC2.2.1,早期版本存在的一些问题,如不能播放RMVB、VOB格式文件,都已经解决,系统各方面的性能有大幅度的提升,但仍存在播放画面质量、系统稳定较低的问题。
4.1 提升播放质量
1)花屏、绿屏
VLC在刚打开播放界面时,画面会出现花屏、绿屏的情况,可以通过增大播放器“网络缓存”,减少花屏、绿屏的时间;在“工具—首选项”中,找到“网络缓存”选项,缓存值不能太小,否则播放视频过程中会停顿,设置值应在300以上。
2)画面马赛克、停顿问题
经过比较检验,播放画面出现马赛克、停顿现象,主要原因是网速和机器性能。在通常情况下,影响播放效果关键条件是机器性能和网络带宽,播放终端计算机或手机的配置低,或软件系统过于臃肿,必然会影响播放效果。播放视频数据流量大,对有线无线网络带宽要求较高,如果无线网络信号较差,也会出现相同的情况,解决的方法是改善硬件系统的性能及提高网络的质量。另外,经测试,同一种视频封装格式,编码位率越小,服务端发送给客户端的数据越小,解码耗费的时间越少,花屏现象越少,通常设置视频编码位率在800~1 024 kbit/s。
3)字幕乱码
VLC在播放网络流媒体、DVD、视频文件,有时会出现字幕乱码,也就是播放视频时文字显示为小方块,也就是乱码,主要是因为VLC系统选择的字体与节目源不一致造成的,可以通过“工具—首选项—字幕和OSD”中选择合适的字体,重启播放器即可解决。
4.2 提升视频服务系统的稳定性
随着版本的不断更新,VLC视频服务软件系统在一直优化,整体稳定性已经得到了大幅度的提升。由于VLC是开源软件,其源代码是公开的,某些方面可能不如商业软件考虑得周全,存在程序上的一些漏洞,影响到系统运行的稳定性;同时,由于停电、硬件故障或网络拥塞等其他不可预知的外部因素,会造成系统运行故障。VLC可以通过命令行启动的方式来进行管理和维护[6]。例如,要启动“CCTV1综合频道”的转播,可以通过下列命令来打开该频道的转播:
Start VLC安装目录路径vlc-cctv1.exe--meta-title “CCTV1综合”
rtsp://222.16.225.253:855--sout=#transcode{vcodec=h264,scale=自动,acodec=mpga,ab=256,channels=2,samplerate=44100}:duplicate{dst=rtp{sdp=rtsp://:8554/},dst=display} :sout-all :sout-keep
因此,当系统出现问题时,用户可以通过执行相应的命令行代码来重启转播服务,通过PHP动态网页执行cctv1.bat命令(文件名称根据需要起名)。此处需要通过PHP执行VLC相关命令,注意不能直接运行cctv1.bat批处理文件,否则服务器将一直等待,执行代码为:
?>
新建cctv1.Bat文件,包含下列语句:
@echo off
goto restarttv2
:restarttv2
//重新启动服务前先停止原来的cctv1频道服务
ntsd -c q -pn vlc-cctv1.exe
//启动cctv1频道服务
start VLC安装目录路径vlc-cctv1.exe--meta-title “CCTV综合”
//启动rtsp转播服务
rtsp://222.16.225.253:8554:sout=#transcode{vcodec=h264,scale=自动,acodec=mpga,ab=256,channels=2,samplerate=44100}:duplicate{dst=rtp{sdp=rtsp://:8554/},dst=display} :sout-all :sout-keep
goto exit
:exit
本校用一台戴尔R520服务器(CPU Xeon E5-2403,内存8 Gbyte×2)作为转播主服务器,共转播十多套有线电视、卫星电视节目源,外加2个校内频道,为了提高系统转播的可靠性,在转播的每个频道后面添加重启链接;当用户发现某个频道无法收看时,点击其后面的重启链接,即可恢复节目的正常发布。
应用VLC构建移动终端视频直播点播的操作比较简单,关键是选择正确的流媒体传输协议和视频编码方式,非专业教师、工作人员都能完成;系统硬件构成比较简单的,如果并发量在100个以内,只需要一台普通计算机、一个无线路由器,就可以实现将视频节目流发送到手机上,非常适合于临时、小规模现场活动的直播转播,在学校的社团之夜、教学观摩等活动中有广泛的应用。
[1] 张永强,余伯平.一种支持移动终端的校园网络电视服务系统的设计与实现[J]. 武汉大学学报:理学版,2012(10):365-370.
[2] 陈涛,石伟胜.流媒体技术及其在校园视频直播中的应用研究[J].计算机技术与发展,2012(5):21-24.
[3] 彭宏,吴海巍.基于流媒体的移动视频直播系统的设计与实现[J].电子技术应用,2014(9):111-114.
[4] 姜开达,卓柳迎.利用VLC 实现高标清电视转播[J].中国教育网络,2014(12):45-46.
[5] 吕鹏,李莎.构建基于VLC的网络电视直播系统[J].电脑知识与技术,2013(3):75-76.
[6] 王洪涛,陶永.基于WMS和VLC的视频直播平台的建立[J].微计算机信息,2010(12):130-131.
Construction and Application of Video Living Broadcast and VOD Using Mobile Terminals
XUE Shenglan,WEI Ningbin
(DepartmentofEducationalTechnology,HanshanNormalCollege,GuangdongChaozhou521041,China)
The smartphone is more and more popularized,building a video service system based on mobile terminal will be of certain value to our study,production and life. Combined with the actuality, a video service system is build which is easy to use and achieve from the aspect of key technology,software selection, important parameters etc, and the analysis is made based on the application examples of schools and enterprises.
mobile terminal; video service system; VLC; applied analysis
教育部2014年度人文社会科学规划基金项目(14YJA880035)
TN943
A
10.16280/j.videoe.2015.17.013
2015-04-17
【本文献信息】薛胜兰,韦宁彬.基于移动终端视频直播点播的构建与应用[J].电视技术,2015,39(17).
薛胜兰(1973— ),高级实验师,主要研究校园信息化环境和教育科学相关专业实验室建设与管理。
责任编辑:闫雯雯