APP下载

基于嵌入式流媒体服务器的视频点播系统

2016-10-17殷海兵

电视技术 2016年9期
关键词:多播视频点播视音频

陈 晨,殷海兵

(中国计量学院 信息工程学院,浙江 杭州 310018)



基于嵌入式流媒体服务器的视频点播系统

陈晨,殷海兵

(中国计量学院 信息工程学院,浙江 杭州 310018)

移动通信网络流媒体服务资费较高,限制了人们在没有有线电视、宽带互联网连接、无线WiFi互联网连接的地方用手机收看视音频节目。针对这一现状,提出了一种基于嵌入式流媒体服务器的多功能视频点播系统。以ARM板和WiFi网络适配器作为流媒体服务器,设计一款Android手机播放器作为客户端,实现在智能手机上、多个客户端同时免流量接收服务器本地或外接设备推送的高清、超高清视频。该系统适用于公交、广场、电梯、商场、景区等场合,人们用手机观看视音频,实现不用耗费自己的流量,自由快速地选择自己喜欢的节目。

流媒体服务器;安卓播放器;视频点播;视频压缩

全球每天有超过1亿部Android设备被激活,安卓手机因其开源操作系统、开源社区支持、强大的开发工具而占据智能手机主流。但是众所周知,手机流量资费较高,人们用手机收看视音频节目会受到相应数据流量套餐的限制。基于智能手机在流媒体服务方面,使用用户多、流量资费高的现状,推出了一种基于嵌入式流媒体服务器的视频点播系统。为了满足广大用户观看高清、超高清视频的需求,要求高清、超高清视频在流媒体服务器传输过程中,低功耗、失真小,本系统设计了一种对原始图像帧无损压缩算法,通过图像压缩编码技术来降低图像冗余度,从而减小图像的存储容量[1]。相应的,需要开发新的Android手机播放器,对本发明中特定的编码技术进行解码,正常播放视频节目。

本文设计的多功能视频点播系统,基于嵌入式流媒体的服务器[2]既可以存储外接设备的视音频,又可以对外接公共场合摄像机得到的原始视频进行无损压缩存储,最终安卓手机客户端制作两个界面,一个是播放列表、一个是监控列表。播放列表供人们自由选择流媒体服务器存储的视音频,监控列表显示在商场或景区一些人口密集场合,方便用户快速选择距离近且人少的场地,另外也可为工作人员(保安、安防人员)提供公共场所安全情况视频展示,方便不同客户自由点播自己喜欢的节目或者用手机接收视频画面,清楚了解商场、景区等动向,方便出行和工作。在计算机网络中,多播[3]技术是在一个单一传输源,同时把消息或信息传输到一组目标计算机。多播是实现IP组播最常用的,经常用于互联网协议(IP)的流媒体和网络电视的应用程序。多播概念的实现产生于路由级别,路由器在发送数据信息到多播目的地址时,创建最佳的分配路径。类似多播的应用还有视频流媒体服务的需求、网络游戏、音频或视频会议新技术等。因此,选择多播技术和手机客户端接收节目信号相结合,发明一个低成本、免流量资费、终端用户多、便携式的设备是一项有意义的推进。

1 现有技术阐述与分析

已有技术1:无损压缩算法JPEG-LS,把当前像素邻近的几个已编码像素作为其上下文进行预测,得到预测残差,并对这些残差采用Golomb指数编码。该算法只用了上下文预测与Golomb指数编码,没有用DCT变换和算术编码,算法简单,易于硬件实现。

已有技术2:CALIC算法,采用GAP(梯度自适应预测器)对图像进行预测。根据预测邻域水平方向和垂直方向的局部梯度来判断图像是否存在边界以及边界的强弱,并根据计算的结果动态调整预测函数从而得到预测残差。对预测残差采用基于CACM++的自适应算术编码器进行编码。

已有技术3:一种媒体内容共享系统中的媒体文件点播方法,关键技术是EPG在运营支撑系统OSS和终端之间作为媒介,配合URL,实现终端向分布式流媒体发送媒体文件服务请求后,可以正常接收到点播媒体文件的文件流并进行点播。

已有技术4:一种点播多媒体消息业务的方法及系统。在数据业务管理平台、多媒体消息中心、用户之间开展点播源的传输,又设计了多媒体消息中心对接收到的多媒体消息进行判断的功能,根据用户的需求,决定点播流程是继续或终止。

已有技术5:智能手机已经开发了很多播放器。

然而现有技术都存在一些缺陷,由此更体现本系统提出的必要性。

已有技术1的缺陷:压缩率比较低。本发明块级/分层自适应帧内预测、残差系统半定长变长编码(Variable-Length Coding,VLC)、控制字段Huffman变长编码的多技术协作无损压缩使压缩率能达到50%左右。

已有技术2的缺陷:是对整幅图像进行预测,预测效率较低。本发明中采用的宏块自适应帧内预测,支持两种预测模式,即块级预测和分层预测。其中,块级预测支持水平和垂直方向的块间和像素级预测,分层预测支持水平和垂直方向的平均和复制预测。每个宏块根据残差编码比特和控制信息比特,优先选择预测效率高者为最优的预测模式,提高预测效率。

已有技术3和4的视频点播过程比较繁琐,不适合在公交、电梯、景区、商场等小型场合人们的日常生活需求。本发明装置简单,成本低,免流量资费,终端用户多,采用便携式的设备,方便小型场合以简易且价格低廉的ARM板作为服务器,广大人民群众用自己的Android手机作为客户端,实现在智能手机上,多个客户端同时免流量接收服务器本地或外接设备推送的高清、超高清视频,不同客户可以自由点播喜欢的节目或者用手机接收的视频画面清楚了解商场、景区等的动向,方便自己的出行和工作。

相比已有技术5,本发明开发的播放器针对特定的应用,即服务器上的流媒体文件、对某些特定场合录像的原始视频点播,能满足特定的需求,即在电梯、车载、公交、小型广场、景区等场合广大用户的利益。可实现特定功能,即能满足对服务器已有视音频文件和经无损压缩算法编码得到的视频解码回放。

2 系统整体方案

本系统涉及多播技术、原始图像帧无损压缩、UDP[4]控制流、 RTSP[5]传输流、流媒体服务器、智能手机点播的系统方法,最终能达到在一定区域内,多个手机自由、免费、快速地点播服务器本地或外接设备视音频。主要步骤有:1)将Linux系统内核设置为支持多播技术;2)ARM板本地或外接设备存储的原始图像帧以宏块为预测编码的基本单元,支持宏块随机访问,实现无损压缩;3)压缩编码后的视频节目及外接设备存储的完整视音频通过WiFi网络适配器传输给安卓手机客户端,多个客户端通过UDP和RTSP协议实现控制和流传输;4)多个智能手机终端接收到数据资源,显示节目列表,点播视频进行信源解码和回放。系统结构如图1所示。

图1 系统结构图

3 基于嵌入式流媒体服务器的视频点播系统

3.1视频点播步骤

首先,ARM板搭建多播环境,允许多个客户端同时接入流媒体服务器,编译、安装live555,建立RTSP协议流传输连接[6]。多播是一种网络协议操作,允许一个源同时发送数据包到多个端点。多播要求高带宽,点到面应用,如分布式计算、高定义视频流、存储区域网络。从传统意义上讲,多播是实施电子在路由器的网络层中,通过复制和存储在缓冲区中的数据包。然而,通过在网络协议栈的光层迁移组播操作,基于分组的多种功能可以较低的成本得到支持。ARM开发板结合live555,它是目前实现rtsp协议使用最多、用途最广的开源代码,而且它的更新速度很快,方便研究人员根据不同需求开发新功能。Live555已经实现了基于UDP和TCP的传输,支持MPG,MKV,H.264,AMR等文件的点播,有服务器端和客户端两种实现方式。由于本系统是在一个多播环境下实现的,所以需要对其中GroupSock和LiveMedia两大模块进行设计和编译,生成可执行文件live555MediaServer_IMX6S,在后续过程中调用。

流式传输是流媒体技术实现的重要部分。为了保证数据能够正确完整地传输,在传输之前要对流媒体服务器外接设备传送的原始视频进行预处理,即对原始视频采取高效压缩。本文中采用块级/分层自适应帧内预测、残差系统半定长变长编码(Variable-Length Coding,VLC)、控制字段Huffman变长编码的多技术协作无损压缩系统方案;提出的自适应高效帧内预测,支持不同区域不同小块自适应编码,支持宏块级数据随机访问;并基于编码比特消耗最小化的原则,在预测效率和预测残差编码比特效率之间平衡。对原始视频进行无损压缩包括两大步骤:预测和熵编码。1)基于宏块的自适应帧内预测。它支持两种预测模式,即块级预测和分层预测。其中,块级预测支持水平和垂直方向的块间和像素级预测,分层预测支持水平和垂直方向的平均和复制预测。每个宏块根据残差编码比特和控制信息比特,优先选择预测效率高者为最优的预测模式。2)基于小块的半定长变长编码。它将预测残差自适应划分为8个变长的编码区间,并用相应的字段标识,对这些字段采用Huffman编码,并将每个区间内的残差自适应分为不同大小的块,块内采用定长编码[7-9]。高效压缩算法结构如图2所示。

图2 高效压缩算法

基于对视频进行高效压缩使数据量减少,且对视频不要求分组顺序到达,本文ARM系统实现流媒体服务器,选择在数据传输过程中延迟小、数据传输效率高的Socket的UDP双向通信。虽然UDP是无连接通信,但是本系统实现发送端和接收端的双向通信。多个智能手机终端通过UDP协议获取服务器所有高效处理过的视频包含路径、名称的列表。设计在手机端列表只显示名称。

通过WiFi网络适配器实现一个WiFi连接热点,根据手机端列表的路径找到视频节目源,基于RTSP流媒体传输协议在客户端(智能手机)和流媒体服务器之间建立流媒体传输连接,实现视音频数据流(RTSP数据流)到手机的传输。服务器端和手机终端播放器通信流程,如图3所示。

图3 服务器端与客户端通信流程图

设计Android版本播放器支持对视频的编码方法。通过access(访问)、 demux(解复用)、decode(解码)、output(输出)主要步骤处理手机端接收到的节目信息流,制作两个视频点播界面,即播放列表和监控列表。收听视音频的用户可点击播放列表,播放高清、超高清视频节目,完成低功耗视频点播;在商场、景区的用户点击监控列表,对周围要去吃饭或游玩的场所有大致了解;安保或其他工作人员也可以通过监控列表画面快速知晓公共场合的突发事件,有利于提高工作效率。

3.2视频点播效果及分析

用户安装本系统的安卓手机播放器后,在一定范围内,打开网络流界面,输入服务器的IP地址,基于UDP协议服务器在手机端打印出播放列表和监控列表[10],当一个或多个客户端选择资源后,通过UDP协议将控制信息发给流媒体服务器,通过建立的RTSP连接,手机端接收RTSP数据流正常播放视音频。如图4所示。因此,本文多功能视频点播系统产生的有益效果主要有以下几点:1)对ARM板及其外接设备的原始图像无损压缩,为整个装置低功耗做基础,达到视频传输速率快、失真少的目的;2)在服务器的WiFi连接热点内,智能手机终端出现服务器视频节目选单,包括外接设备传输到服务器的视音频,和录像设备传输到服务器并经过压缩的文件,手机播放器显示播放列表和监控列表;3)多个智能手机可同时接入流媒体服务器,通过播放器显示的选单,不同用户分别选择不同的资源,或同时选择同一个资源,可随时切换,安卓手机能够对无损压缩编码的视频源解码,正常流畅地播放文件,实现免流量接收视音频。

图4 视频点播效果(截图)

4 小结

本文采用的便携式流媒体服务器视频点播低功耗装置,解决了服务器外接公共场合摄像机得到的原始视频如何进行无损压缩、压缩编码后的数据和流媒体服务器外接设备存储的视音频流如何传输给智能手机、手机客户端如何接收节目信息列表并对压缩编码视频源解码播放、以及怎样实现多个客户端同时点播视频等难题,实现在没有互联网接入的情况下,多个用户同时接收大量视音频。不仅减少安卓手机用户的流量消耗,还可以给不同客户的工作或游玩带来更快更明显的便利,所以,本系统具有较高的推广和应用价值。

[1]KIM J,KYUNG C M.A lossless embedded compression using significant bit truncation for HD video coding[J].IEEE transactions on circuit and systems for video technology,2010,20(6):810-849.

[2]曾金.嵌入式流媒体服务器的设计和实现[D].南京:南京邮电大学,2011.

[3]赵鹏.视频流媒体多播系统技术的研究[D].大庆:大庆石油学院,2008.

[4]王艳芳,戴永.基于UDP的数据可靠传输技术研究与应用[J].计算机工程与应用,2010,46(3):105-108.

[5]刘大红.基于RTSP流媒体服务器的设计与实现[D].西安:西安电子科技大学,2013.

[6]谭石坚.嵌入式VOD系统的设计与实现 [D].广州:华南理工大学,2010.

[7]XIN L,MICHAEL T O.Edge-directed prediction for lossless compression of natural images[J]. IEEE transactions on image processing,2001,10(6):813-815.

[8]OKANO F,KANAZAWA M,HAMASAKI K,et al. Ultradefinition television system with 4000 scanning lines[R].London,UK:Broadcasters Broadcast,2004.

[9]NIKARA J,VASSILIADIS S,TAKALA J,et al. Multiple-symbol parallel decoding for variable length codes[J].IEEE transactions very-large-scale integration systems,2004,12(7):676-685.

[10]朱哲先.视频监控中流媒体数据转发平台的研究和实现[D].南京:南京邮电大学,2014.

陈晨(1991— ),女,硕士生,主研无损视频压缩、嵌入式计算机网络;

殷海兵(1974— ),教授,硕士生导师,主要研究方向为视频编解码、芯片结构设计和图像处理。

责任编辑:许盈

VOD system based on embedded streaming media server

CHEN Chen, YIN Haibing

(CollegeofInformationEngineering,ChinaJiliangUniversity,Hangzhou310018,China)

Mobile communication network streaming media service charges is higher, where is no cable TV, broadband Internet connections, wireless WiFi Internet connection, people using mobile phone for audio program is limited by a lot. Aimed at the status quo, a kind of multifunctional video on demand system is put forward based on embedded streaming media server. With the ARM board and WiFi network adapter as a streaming media server, an Android mobile player is designed as the client, implementation on smart phones, multiple clients at the same time avoid traffic receiving server or an external device to push local HD, high-definition video. The system is suitable for bus, square, elevators, shopping malls, the scenic area, etc, and people use mobile phones to watch audio. They don’t have to take their mobile phone flow, and can choose their favorite programs free and fast.

streaming media server; Android player; VOD; video compression

TP393

A

10.16280/j.videoe.2016.09.008

浙江省自然科学基金项目(LY15F020022)

2015-12-22

文献引用格式:陈晨,殷海兵.基于嵌入式流媒体服务器的视频点播系统[J].电视技术,2016,40(9):41-45.

CHEN C,YIN H B. VOD system based on embedded streaming media server[J].Video engineering,2016,40(9):41-45.

猜你喜欢

多播视频点播视音频
胖树拓扑中高效实用的定制多播路由算法
用于超大Infiniband网络的负载均衡多播路由
InfiniBand中面向有限多播表条目数的多播路由算法
今年订阅视频点播收入将超票房收入
我国首个超高清视音频国家重点实验室在沪启动建设
中央广播电视总台启动建设国家重点实验室
网络编码与家族体系下的可靠多播方案
流媒体的视频点播系统在微课堂中的应用研究
基于嵌入式Linux平台的网络视频点播系统
基于内容结构特征的Flash电影视音频特征的提取研究