APP下载

高速移动场景下的平稳宽带车载视频点播系统设计

2022-12-01邓博轩李学丰闫尉深

计算机测量与控制 2022年11期
关键词:视频点播传输速率车载

邓博轩,李学丰,闫尉深

(1.长安大学 信息工程学院,西安 710000; 2.华录易云科技有限公司,南京 211800;3.河北省高速公路延崇管理中心,河北 张家口 075000)

0 引言

在高速移动的列车车厢内,用户终端能稳定地获取视频资源是重点研究内容。目前主流的接入网络方式包括4G/5G蜂窝移动通信网络和WiFi无线接入。5G源于移动通信领域,运用超密集组网和大规模天线阵列等关键技术[1],可大幅提高数据传输速率,但是由于载波频率过高,毫米波波段的绕射能力下降,只有密集部署基站才能在室内等障碍物多的场合取得良好覆盖效果,但这在用户较少的地方难以取得良好的经济效益。另外,在高速移动的火车上,由于5G的波长较短,高速移动列车和基站之间的相对运动产生的多普勒频移也要大于4G;而且,沿途变化的地形地貌也会加剧传输信道的时变性,为信道估计提出了更大的挑战。因此,目前将5G应用于列车上还存在一些困难,尚没有较好的解决方案。

WiFi源于计算机网络,属于成熟的移动端无线接入技术,由于覆盖范围和工作载频的限制,基本属于静态的非移动场景下的通信模式。WiFi通常由连接有线光纤网络的路由器提供,不支持终端的快速移动。此外,当前热门的无线CPE,采用大规模天线阵列、正交频分复用等关键技术,在较好的高速条件下,具有允许接入移动网络的能力,但获取的网络带宽不太稳定。

无线局域网下的嵌入式视频点播系统旨在解决网络带宽不稳定所导致的视频播放卡顿的问题,文献[2]提出的网络视频点播系统支持视频媒体编解码,客户端通过以太网接口与视频服务器建立网络连接从而进行数字媒体传输,但该设计采用的通信方式不支持高速移动的车载设备终端且文献中没有对视频传输过程中的网络带宽稳定性进行测试。文献[3]提出的流媒体视频点播系统,重点对原始视频的预处理进行了改进。采用多编码技术协作的无损压缩方案,使得视频数据传输延迟减小从而保证视频播放的流畅性。但文中仅限于对视频点播器的功能效果进行测试,并未对视频传输速率、网络的稳定性等系统性能进行有效分析。文献[4]提出的视频点播技术采用HTTP流媒体传输协议与FFmpeg开源库相结合的方式实现视频信息在终端平台的展示,但对于文中提出的通过减小播放切片个数和切片时长来降低视频播放延迟的理论方案还缺乏系统性的验证与分析。

针对列车旅客在4/5G网络下使用手机浏览视频时网络稳定性差的问题,本文采用一种次优的解决思路,即在通信网络良好的时候,尽可能缓存一些流媒体数据到本地存储器中,以便在网络不稳定时通过释放缓存来延缓卡顿现象,同时可根据用户选择的热度,确定视频资料的保存时效。

本文提出了一种高速移动场景下的平稳宽带车载视频点播系统,用户无须下载客户端,采用通用的HTTP协议,增加了移动终端与服务器设备连接的灵活性,缩短了临时旅客的接入时间。在技术开发方面,使用开源的Linux+Apache+Mysql+Php (LAMP)架构进行软件开发,在高速移动和多用户的环境下充分利用LAMP具有的Web资源丰富、高性能、高并发等优势,支持多个用户同时点播视频。系统提供稳定的网络环境,可实现高清视频的流畅播放,使乘客拥有良好的观影体验。

1 系统设计与硬件平台

视频点播系统由客户端和服务器端组成,客户端为手机或笔记本电脑等移动终端;车载服务器安装在列车车厢内,其搭载无线WiFi模块和以太网MAC控制器,用于构建车载无线通信网络,外接存储单元存储视频资源,本设计的物理拓扑结构如图1所示。

图1 物理拓扑结构图

本系统分别从移动客户端和车载服务器两方面进行设计,如图2所示为系统设计框图。客户端程序是基于浏览器而设计,由于用户终端安装的浏览器不同,故需要对浏览器的类型进行自适应识别。利用HTML5/Flash自适应播放应用[5],播放器可以自动侦测到浏览器类型。

图2 系统设计框图

车载服务器的硬件平台采用模块化的设计方法,由核心板和外围模块接口构成,核心板选用基于s3c6410处理器的ARM最小系统,外围模块接口主要包括RS232接口,固态硬盘接口,JTAG接口和无线路由模块接口[6]。s3c6410是一款高性能的32位处理器,工作主频高达667 MHz,内部集成USB、UART、SDRAM和FLASH控制器,支持丰富的外部设备[7],且在交互式操作较为频繁的状态下具有较快的响应速度。无线路由模块使客服端和服务器处于同一个无线局域网下,在服务器程序启动之后,由无线路由模块提供WiFi信号,客户端连接WiFi并通过浏览器向服务器发出点播请求。无线路由模块选用USR-WiFi232-D2模组,其发射的WiFi信号传输速率高达150 Mbps,为近距离传输提供了较高的数据吞吐量,减少了信道的占用时间,同时可容纳32个WiFi客户端接入,空旷无遮挡物的环境下,WiFi信号可覆盖100 m直径的圆形区域[8],符合本系统的要求。

本设计运行在嵌入式硬件平台上的Linux+Apache+Mysql+Php(LAMP)环境中,客户端与服务器之间采用B/S模式[9]。系统的工作原理如下:移动客户端在良好的无线网络环境下与车载服务器端建立连接,采用HTTP协议通过无线WiFi进行数据交互,移动终端向服务器发送视频点播请求,Apache服务器响应后,交给Php引擎解析文件,处理请求,并将视频点播结果返回给客户端。考虑到服务器端视频资源的实时更新性,将视频资源存放在固态硬盘中的特定文件下,方便用户更新资源。

2 软件系统设计

2.1 操作系统软件的制作

Linux系统除了有开源、稳定和良好的移植性等优点,还支持所有的TCP/IP协议,具备稳定可靠的网络功能。因此车载服务器的操作系统采用Linux作为软件的开发和调试平台。从软件的角度分析,嵌入式Linux系统通常包括引导加载程序、Linux内核、文件系统和用户应用程序这4个层次[10]。

Bootloader是指系统的引导加载程序,可以完成硬件设备的初始化并建立内存空间的映射图,本系统Bootloader采用的是支持ARM体系结构的u-boot。移植过程的关键点是在下载并解压u-boot源码后,需要将解压后的文件导入到本地目录下,并重新配置目录中的Makefile文件,使用配置好的交叉编译工具对系统源码进行编译,生成u-boot.bin文件说明编译成功。

Linux内核位于操作系统的最底层,负责管理外围硬件设备的驱动,而且为系统的应用程序提供合适的运行环境。内核移植需要注意的地方是在配置内核选项时,要根据硬件资源添加所需的驱动程序,主要包括网卡、USB、大容量存储设备等,使最后编译的内核能够支持s3c6410硬件平台[11]。

虽然内核是Linux系统的核心但用户与操作系统交互的主要方式是系统文件。Linux系统开启后,首先加载根文件系统,根文件系统包含系统启动时所必须的目录和关键性的文件,以及挂载其他文件系统所必备的文件。根文件系统的制作,需要利用编译安装好的Busybox工具包,在Busybox生成的install文件下添加bin目录、root目录、etc目录、home目录等,并为每个目录导入对应的设备文件,最后使用mkcramfs工具完成对根文件系统的打包。

2.2 基于Linux+Apache+Mysql+Php的设计方案

面对列车旅客人数较多,常出现同一时刻服务器用户访问量激增导致的视频流传输不稳定的情况。需设计大流量、高并发车载服务器系统架构,在软件架构上选用Linux+Apache+Mysql+Php为组合的LAMP架构,其具备高性能的操作系统、高稳定的Web服务器、高存储量的数据库、高效率的编程语言。

Apache服务器通过HTTP协议响应客户端请求并提供Web服务,拥有快速处理Php程序的能力,不容易出现连接超时的情况,适合应用于访问量较高的站点。Php服务程序以Apache服务器为依托,侧重于对客户端请求的处理并高效率的执行动态网页。Mysql数据库对视频资源进行动态管理,数据存储量大,支持视频流的存储,可与Apache服务器建立稳定连接,同时Mysql数据库没有用户数量限制,多个客户端可同时使用一个数据库,适用于响应多用户请求的系统设计。基于LAMP框架的模块交互流程如图3所示。

图3 LAMP框架模块交互流程图

视频点播系统的设计基于HTTP协议,HTTP协议属于一种请求/响应模式的协议,是实现客户端与服务端通信的常用协议[12]。此外,在多用户访问服务器的情况下,使用HTTP协议有利于减轻服务器的负担,能够将更多的CPU资源提供对外服务。在视频点播系统具备良好通信协议的基础上,用户可在浏览器中输入服务器IP地址,回车触发页面文件名请求,Apache服务器接收到响应后,调用Php服务程序并启动Php引擎对数据库进行访问[13]。Php引擎将会对Apache传送过来的文件从头到尾进行扫描,根据命令从后台读取,处理数据,并动态地生成相应的HTML页面,最终服务器通过HTTP协议将页面返回给浏览器。视频点播流程如图4所示。

图4 视频点播流程图

2.3 服务端播放器程序的设计

Apache服务器采用php程序调用的方式实现与数据库的动态交互。php的程序结构主要主要有四部分组成,分别为服务端应用编程接口、主程序、Php引擎和代码扩展层。服务端应用编程接口位于php框架的最外层,负责与外围模块进行数据交互;主程序主要完成协议的解析、Web服务器的通信、文件流的处理等工作;Php引擎不能单独存在,需要依托Apache服务器,它是Apache功能模块的一种扩展,主要用于解析php程序[14]。代码扩展层主要由类库和函数组成,是扩充php功能的一种方式。采用Php语言编写的服务器端网站主页主要包括视频,图片,书籍,上传几个选项。部分代码如下:

猜你喜欢

视频点播传输速率车载
一种车载可折叠宿营住房
今年订阅视频点播收入将超票房收入
三星利用5G毫米波 实现创纪录传输速率
全球观众已疲于选择新的流媒体平台
奔驰S级48V车载电气系统(下)
车载冷发射系统多刚体动力学快速仿真研究
夏季滨海湿地互花米草植物甲烷传输研究
数据传输速率
基于Web的流媒体视频点播系统在校园网络中的运用
浅谈车载网络技术的应用