单台编码器实现两路视频信号压缩编码的方法
2012-01-31赵向前
赵向前,张 洁
(贵州广播电视信息网络股份有限公司 播控传输部,贵州 贵阳550003)
1 编码器机体过大及单路视频压缩模式工作效率低带来的问题
随着贵阳市城镇社区和县乡农村远程教育站点数量的不断增多,不少的社区站点希望贵阳市党员干部远程教育平台考虑站点的党员干部及社区群众的文化生活需要,增加相应的电视节目。特别对于大多数没有配置数字电视机顶盒的社区,如果平台能播出一定数量的电视节目,将具有非常实际的作用。贵阳市远教办与贵州广电经过多次协商,计划播出18套电视节目。
然而在电视节目播出的前期设备准备工作中,发现平台系统的研发单位所研发的流媒体编码器采用的是惠普ML370 G5服务器,机体过大。按目前机房的标准机柜容纳放置,最多只能容纳2台该型编码器(2台不能并排摆放,只能上下摆放),而机房的空间最多也只能容纳5个标准机柜。更麻烦的是,这种服务器只能完成单路视频信号压缩,工作效率较低。如果要实施18套电视节目的播出,需要对应配置18台这种大机体的编码器,用10个标准机柜来放置,然而这些条件机房都难以满足。所以当务之急就是要把这些问题尽快解决掉,否则18套电视节目播出计划将无法实施。
2 单台编码器压缩两路视频的改进思路及实现方法
2.1 编码器两路视频压缩方式的分析及实现
平台系统的研发单位在研发流媒体视频编码器时,仅从专用服务器性能稳定、确保视频信号压缩的角度和采集卡配置插槽匹配等方面考虑,选用了惠普ML370 G5服务器,而忽视了这种服务器存在的机体过大、只能进行单路视频信号压缩等问题。目前用于视频直播的这种编码器尚有7台,如果更换体积较小的服务器解决问题,那么这些大机体的服务器更换后只能闲置。为避免更换设备造成的不必要设备闲置及双重资金浪费,最好通过技术改进的方法来解决问题。
经过分析,最好的办法就是将单机单路视频信号压缩技术改进为单机2路视频信号压缩,这样只要9台编码器即可完成18路电视信号的播出。
原来的2路视频信号压缩方式如图1所示,改进后的2路视频压缩方式如图2所示。
图1 原来两路视频信号压缩方式
图2 技术改进后的2路视频压缩方式
实现这种解决办法的前提条件是惠普ML370 G5服务器必须有足够的插槽满足第二块视频编码卡、音频压缩卡和网卡插装。HP ML370 G5服务器主板上有嵌入式双NC373i多功能千兆网卡,能满足双网卡数据传输的需要;2个PCI-X 64位/133 MHz插槽,仅使用了其中1个插Digital-Rapids DRC-Stream 500 DRC-500/550流媒体采集卡,剩余插槽空闲可以再插入1块Digital-Rapids DRC-Stream 500 DRC-500/550流媒体采集卡进行第二路视频压缩实验,硬件条件基本具备。
2.2 两路视频编码器的设备系统配置
编码器硬件准备工作就位后,进入软件配置。通电开机后,加装了2块DRC-500/550流媒体采集卡的惠普ML370 G5服务器,显示发现新硬件,这里需要说明的是,2块卡的驱动程序完全相同,第二块卡的设备驱动只须点击自动安装即完成新硬件驱动安装配置。打开硬件设备管理器观察安装的第二块Digital-Rapids DRC-Stream 500 DRC-500/550流媒体采集卡的工作状态基本正常。
原来的Windows Media编码器改命名为1号编码器。1号编码器视频配置选项中选的原来的Digital-Rapids DRC-Stream 500 DRC-500/550 VIDEO项;音频配置选项中也选原来的Digital-Rapids DRC-Stream 500 DRC-500/550 AUDIO项。
HP ML370 G5服务器的2块板载NC373i网卡IP地址需要修改,网卡的IP地址分别是192.168.11.12和198.168.11.13,确保压缩后的IP视频数据包能通过不同IP地址的网卡进入平台系统由播控服务器自动安排流发送服务器的发布点自动发送。
编码器源面板选项中,1号、2号编码器视、音频硬件配置图如图3所示。
图3 1号、2号编码器视、音频硬件配置图
为区别2个编码程序,新的Windows Media编码器命名为2号编码器;2号编码器视频配置选项中选Digital-Rapids DRC-Stream 500 DRC-500/550 VIDEO(1)项;音频配置选项中也选Digital-Rapids DRC-Stream 500 DRC-500/550 AUDIO(1)项。
运行1号、2号编码器,1号编码器能工作正常,但2号编码器出现“信源名称”重复的故障提示,不能运行。经过分析,1号编码器的源名称为“实况”,2号编码器名称是“实况”,显然这是导致故障的原因,把2号编码器的源名称为“实况1”后,再次运行2号编码器,还是有故障依旧。2号编码器调试过程中出现故障提示如图4所示。
图4 2号编码器调试过程中出现故障提示示意图
设置“实况”时发生以下错误:试图获取网络资源失败(0×C0000028)。这个问题似乎是网卡配置项出现问题,检查第一块网卡的IP(192.168.11.12)和第二块网卡IP(192.168.11.13)配置,发现没有出现网址冲突,然而分析0×C0000028代码后,才发现故障是由数据端口地址不明确或相同冲突造成的。打开1号编码器的输出项,编码器拉传递(由服务器或播放机初始化连接)的这项中端口号为8080;打开2号编码器的输出项,端口也是8080,端口相同,这就是出现问题的原因,压缩后的IP视频数据包无法找寻端口输出。因此,把2号编码器的端口修改为8081后,问题解决。
配置工作完成后,分别在1号、2号编码器的Digital-Rapids DRC-Stream 500流媒体采集卡的视、音频输入接口中接入“中央教育2套”和“空中课堂”电视节目的视、音频信号,并运行1号、2号编码器,视频编码工作正常运行。配置完成后的1号、2号编码器的运行工作图如图5所示。
图5 配置完成后的1号、2号编码器的运行工作图
2.3 平台播控服务器SQL数据库配置
1号、2号Windows Media编码器的实验调试工作完成后,需对平台播控服务器等控制播出设备相关的SQL Server[1]数据表项进行添加配置,否则电视节目信号压缩后的IP数据包无法编排送入各远教站点。
1)打开播控服务器的MYSQLCC程序[2-3]的控制面板,找到Database中的mcasticpparty数据栏目后,打开表TABLES在table_channels、tables_curriculum表 项 修改添加配置,CHANNELS_ID,CHANNELS_IP和CHANNELS_PORT项是播控服务器指令编码器压缩数据在固定IP组播发布点的具体位置。
表项中原来1号编码器的CHANNELS_ID为143;发布点CHANNELS_IP为228.16.20.25;CHANNELS_PORT为3001保持不变。2号编码器的CHANNESL_ID添加为144、发布点CHANNEL_IP添加为228.16.20.26、CHANNEL_PROT添加为3001。
播控服务器SQL Server组播IP地址及端口配置图如图6所示。
图6 SQL Server组播IP地址及端口配置图
2)打开播控服务器的MYSQLCC程序的控制面板,打开Databases中LIVECAST1表的tbl_channels,tbl_vidsvr两项,表项中,1号编码器的VIDSRC_ID为112,VIDSRC_TYPE为1,VIDSRC_NAME为编码器2,VIDSRC_PATH为HTTP://192.168.11.12:8080。表明播控服务器指令1号编码器IP数据传输的具体序号、名称、类型及数据发送的IP地址和端口;2号编码器参数配置随1号编码器参数添加,2号编码器的VIDSRC_ID为113,VIDSRC_TYPE为1,VIDSRC_NAME为 编 码 器3,VIDSRC_PATH为HTTP://192.168.11.13:80801。
播控服务器SQL Server编码器IP地址和编码器名称配置图如图7所示。
图7 SQL Server编码器IP地址和编码器名称配置图
3)完成播控服务器的SQL数据库配置项添加后,需要修改视频编码器的播控软件系统配置文件CONFIG.INI,否则编码器压缩编码的IP数据包没有IP地址的指向将无法被播控服务器调动,从而影响视频播出。
打开编码器播控软件的CONFIG.SYS文件,代码为:
[Interface]
LocalAddress=192.168.11.12//原来1号编码器的IP地址
LocalAddress=192.168.11.13//新添加的2号编码器IP地址
ZjzxServID=0305//流媒体播出的ID需要修改
添加完成编码器视频信号压缩数据包的IP地址及站点接收软件目录的设备编号修改后,试运行播出,2个卫星接收机的视音频信号输入到单台视频编码器的2个Digital-Rapids DRC-Stream 500 DRC-500/550流媒体采集卡,经过编码压缩后,平台播控服务器将IP数据包编排发出,在监测电脑上运行客户端接收软件,接收到的电视图像信号非常流畅和清晰。
技术改进后的电视节目视频播出系统如图8所示。方框中,如果编码器按1台单机单视频编码,需要18台编码器。技术改进后,采用的单机双编码方式,9台编码器即可完成18路音视频信号的编码。
图8 技术改进后的电视节目视频播出系统
3 小结
通过技术分析和实践,实现了单台视频编码器完成2路视频信号压缩的设想,原本需要2台编码器才能完成的2路视频压缩变成了1台编码器即可完成,这不仅解决了机体过大带来的问题,更重要的是减少了编码器数量和提高了编码器的工作效率,避免了更换设备造成的设备闲置和资金浪费。
[1]钟玉琢.流媒体和视频服务器[M].北京:清华大学出版社,2003.
[2]白煜,辛向晖.Windows Media与Real网络流媒体案例教程[M].北京:清华大学出版社,2004.
[3]MELONI J C.PHP、MySQL和Apache编程导学[M].李军,译.北京:机械工业出版社,2009.
[4]KOFLER M.MySQL 5权威指南[M].杨晓云,译.北京:人民邮电出版社,2006.