湖南广播电视台 蒋云山
摘要:一方面,电视制作设备的高清化、文件化,另一方面,因电视节目制作高标准的要求,不容错过任何一个可能精彩的镜头;这两个因素的同时出现,形成了海量素材,扑向猝不及防的非线性编辑制作网原本设计狭小的USB端口。文件化素材上载的速度问题、网络安全问题直接给出了最为严峻的考验。面对海量素材的困局,急需全面设计一个高速的文件安全传输系统,本文主要介绍了文件安全传输系统设计的过程,包括系统的构成、原理、特点。
关键词:海量素材、非线性编辑网、数据传输、数据安全、USB3.0
随着电子数字技术的进步,纵观目前市场上的电视摄录编播设备,各种设备的更新有几个非常重要共同的特点:高清化、文件化、网络化。这种技术进步,已经渗透到电视台摄录编播的各个环节,在逐步让我们的电视制作全流程高清化、文件化、网络化,毫不夸张的说,已经引发了电视节目生产的业务流程和管理模式的巨大变革。
一、困局
大数据时代来得如此突然,我们都还没来得及准备:我们做《爸爸去哪儿》,一集95分钟节目,高清素材量约500小时,视频码率各异,但总量也得超过20000GB;《我是歌手》的素材量基本上一样;《我的纪录片之中国毒蛇》,三集共90分钟节目,素材量相对小一些,约9000GB,全高清文件。
这对目前的非线性制作网络是一个什么概念呢?
目前的Windows操作平台的非线性制作网络,制作流程普遍如是:一般的制作网配一台文件导入工作站,部署在外网,编导首先得进行外部文件存储介质杀毒,通过USB端口拷贝到文件导入工作站,再从文件工作站摆渡或类似的办法进入制作网存储,最后编辑软件将素材信息写入网络数据库(以下简称入库),才可以开始制作。
我们以《中国毒蛇》节目制作为例来分析:
一、 外部存储介质杀毒:杀毒是一个耗时间的过程,而且时间不定,排队是经常出现的,这是一个很耽误编导制作时间的事情;编导会不会自觉杀毒?答案是不一定,这就是制作网的安全隐患。
二、 拷贝到外网导入工作站:普遍还是用USB2.0的端口,USB2.0的理论速度是60 MB/s,但实际传输速度一般约20 MB/s。传输9000GB的素材超过120个小时,这还不包括人工编目分类时间,加上起码的吃饭、休息时间实际上7天也传不完。
三、 入制作网存储:可能使用的链路不一样,时间也不一样,如果用USB2.0摆渡方式,那至少又得5天时间。
四、 入库:根据编辑工作站的配置及软件的性能的差异,时间也不尽一样,9000GB的素材,导入时间不会短,有一线制作经验的朋友一定不会否定。
五、 还有更多的现实问题我们还没解决,比如转码、多人上载排队等候问题。
如此以来,十天半个月过去了,我们依然还没开始制作,就算多加3、4台导入工作站,那也得3-5天呀!这是电视市场竞争白热化时代绝对无法忍受的事情!我们必须对这种现状通过技术手段进行全新的改革。
二、技术改革
改革目标:
(1)、全面适应文件化素材上下载;
(2)、根据目前制作需求,每天能由外部存储介质向制作网内传输文件大于4000GB;
(3)、降低编导上载排队等候时间;
(4)、自动入库;可释放用非线性编辑软件的素材导入时间,提高编导的工作效率和设备使用效率;
(5)、具备主动安全杀毒功能;
(6)、为编导提供素材预选功能,减少非必要上传文件,提高存储使用效率;
(7)、具备素材转码能力,;释放用非线性编辑工作站的转码时间,提高设备使用效率。
目标分析:
(1)、要全面适应文件化素材上下载,系统开放的各类端口要尽可能地丰富;
(2)、每天大于4000GB的传输能力,设备按每天工作20小时计算,那么实际平均传输速度要大于57MB/s;
(3)、根据制作量适当增加导入工作站,并部署多格式播放器和转码软件,可以减少编导上载排队时间,也可以解决素材预览、筛选、转码的问题;
(4)、自动入库,可以要求软件提供商编写对应程序;
(5)、自动杀毒的问题,可以利用程序按条件自动启动杀毒软件的自定义杀毒功能。
我们纪录片生产主要使用大洋非线性高清编辑制作网,所以以大洋非线性编辑制作网做了技术改革实验。
通过业务流程的梳理,做出安全传输系统的软体设计方案(如图一):
1、 编导通过客户端,对所有素材进行预览、筛选,剔除肯定不再需要的素材。
2、 根据素材文件编码规范(我们自行制定的规范),对不符合视频编码要求的素材提出转码需求信息。各种摄像机生成的素材文件视频编码多种多样,比如常见的H.264编码视频文件,理论上绝大部分非线性编辑软件都可以直接制作,但实践过程中,无论是苹果的FCP7还是大洋的EDIT3,我们都不建议直接制作,比如在使用FCP7时,我们建议用Apple ProRes 422(HQ)或者DVCPRO HD,在使用大洋的时候,我们建议使用MPEG 2-IBP,因此,所有素材文件入库前,都会统一文件的视频编码。
1、 安全传输系统的客户端将编导需要上载的素材文件迁移到外网服务器缓存区;
2、 系统的新文件自动检测模块对制定的缓存区定时扫描,一旦发现新的文件进入,立即启动自定义杀毒模块进行杀毒。此功能是该系统的核心技术之一,系统调用杀毒软件的自定义杀毒模块的思路得益于迅雷早期的版本,记得早期迅雷版本有一个下载完成后自动杀毒功能,并且能由用户手动设置为指定的杀毒软件,比如赛门铁克、比特梵德、卡巴斯基、ESET NOD32等。后来在实践的过程中,我发现某些品牌的杀毒软件新版本已经修改自定义杀毒接口参数了,并且不再公开,这就需要自己去摸索或者直接请教杀毒软件的提供商了,因涉及第三方权益,不在此讨论。对发现有病毒感染的文件能处理的及时处理,不能处理的放入隔离区,交由用户手动处理。
3、 对安全的素材实体文件,交由USB3.0安全传输网关的摆渡模块进行分析、传输到内网在线存储EMC。摆渡模块是该系统的又一关键技术。
由于外网和内网在物理网络链路是不通的,基于该业务需求,设计USB访问数据库功能,即外网的应用程序通过安全传输网关的USB链路,访问内网的数据库。USB摆渡逻辑设计如图二。
外网程序调摆渡A的服务,把请求数据包发送给摆渡A,摆渡A负责传递(通过USB线)数据包到内网的摆渡B,摆渡B直接将数据包传递给中间件,中间件收到数据包,进行解析,根据不同命令去访问据库;中间件收到数据库的请求反馈,将结果数据包传递给内网的摆渡B,摆渡B直接通过USB线传递给外网的摆渡A,摆渡A调用外网程序服务,将结果传递给程序。
其中 程序和摆渡A,以及摆渡B和中间件之间的访问,都是通过WebService的方式访问的。
1) 程序对应关系:
外网程序--------------------DYMediaCapture
摆渡A、摆渡B-----------DST
中间件-----------------------DYDBAccessAdaptor
2) 预计程序访问数据包内容包括:
a) ID,唯一标识(请求时自动生成,返回时使用请求时的ID,这样反馈到请求端就知道是什么请求了,类似于请求流程ID);
b) 源Web服务地址(请求时为外网程序服务地址,返回结果时为中间件地址);
c) 目标Web服务地址(请求时为中间件地址,返回结果时为外网程序服务地址);
d) 传输数据类型,指示传输的数据内容类型;
e) 传输反馈状态,指示访问数据库的返回状态;
f) 数据内容,是string,可以设计XML格式;
故有用到嵌套XML形式,可以使用CDATA的方式,对于gsoap是可以直接支持嵌套XML的,而摆渡这边使用Qt的qdom接口,也是有CDATA操作的接口。
数据结构定义可以参考如下:
struct SUSB_DATA_INFO
{
CString strRequestID;
CString strSourceAddr;
CString strTargetAddr;
UINT nTransType;
int nResult;
CString strDataInfo;
}
3) 程序部署
a) DYMediaCapture: 在DYMediaCapture.ini配置文件中,[DSTWSAddress]中的USB_DB字段设置内网中间件的服务地址;(外网)摆渡服务地址使用原有的配置AddTaskInfo字段;
b) 摆渡无需配置,内、外网程序启动即可;
c) DYDBAccessAdaptor: 在DYDBAccessAdaptor.ini配置文件中,[ServiceConfig]中的DSTService字段设置(内网)摆渡的服务地址;ServicePort字段设置为适配器的服务端口号;
d) MediaCapture可以与外网摆渡配置在一台机器上;DBAccessAdaptor可以与内网摆渡配置在一台机器上。
4、 每个素材文件在每个重要处理过程中,都将产生信息文件,记录各种用户信息、处理信息,以便与其他模块进行信息交接。系统根据这些信息文件,可以向用户提供文件实时跟踪功能,比如,包括杀毒状态、传输状态、入库状态等;更重要的是文件管理功能,一个素材文件入库完成后,之前产生的各种过程文件、缓存区的源文件,以及备份文件都要在一个约定的时间内清理干净。
系统的软体方案设计完成之后,就是物理链路的搭建,物理链路初步设计如图三,详细配置如表一。
设备 |
型号 |
数量 |
技术参数 |
外网工作站 |
DELL OptiPlex 9020 |
1台 |
Intel 酷睿i5 4570@ 3.2GHz,4G内存,2TB硬盘/1000Mbps以太网卡/2×USB3.0; Windows 7,旗舰版; 安全网关客户端; |
以太交换机 |
3750G |
2台 |
利旧 |
内、外网服务器 |
DELL C6220 2U Sled |
1台 |
主板*2/E5-2603@1.8GHz,/8G内存,2TB硬盘; 操作系统:Windows2008 r2 64bit企业版 ; 杀毒软件:Kaspersky Endpoint Security for Windows |
安全传输桥 |
|
1套 |
USB3.0 |
表一:安全传输网关初步方案详细配置
北京中科大洋的研发团队根据我的设计要求进行了软件开发,对于软件的各模块功能测试,由他们在公司内完成,在此不表述。我自己对新的系统进行了性能测试:
测试方法是采取链路分段测试和全链路实测,测试软件为SANergy,测试文件X.DAT,文件大小10000MB。
1、 通过外网工作站测试移动硬盘读写速度:
移动硬盘:西部数据,2T,USB3.0(7.2Krpm)
结果:读速度为105MB/S;写速度为102MB/s
2、 通过工作站测试缓存区读写速度:
映射外网服务器内置硬盘: 2T,SATA(7.2K Krpm),以太链路;
结果:读速度为84MB/S;写速度为65MB/s。
3、 通过内网服务器测试EMC存储读写速度:
映射EMC存储卷: 25T,以太链路,无其他工作站同时读写EMC存储;
结果:读速度为91MB/S;写速度为78MB/s
4、 USB3.0传输测试:
保证内网存储读写带宽能到500MB/s以上,只用网关进行传输,测试底层USB3.0链路的速度。
结果:平均传输速度127MB/s,峰值180MB/s。
5、全链路测试:
将移动硬盘上的47个素材文件,共306GB,不经过转码传输到EMC存储上,实际耗时约2个小时20分钟,实际平均速度37.3MB/s。如此算来,每天传输入库最大能力约3000GB,离每天4000GB的要求相差甚远。查找到各种原因,主要就是链路瓶颈和闲置:1、显然是缓存区的读写速度和映射EMC存储的写速度成为整条链路的瓶颈;2、杀毒模块与分析、传输模块之间衔接不合理,遇到大文件时,杀毒模块很快完成任务,处于闲置状态,传输模块一直在忙碌,遇到大量小文件时,杀毒模块忙碌,传输模块很快完成后闲置;3、其他人为因素导致链路空闲,如素材浏览时,链路空闲,这是无法避免的,在实际节目制作过程中,这类时间还会增加。另外还有一个可以预测到的问题就是,因为外网服务器上的数据盘需要承载缓存区的任务和备份任务,因此空间不够。
因此,采取了几个措施:措施一、增加到4台外网工作站;措施二、外网服务器缓存区磁盘改为4个硬盘,做RAID5冗余阵列,并使用两个网口绑定技术,实现双以太链路;措施三、增加一条USB3.0安全传输网关;措施四、内网服务器到EMC存储改为光纤链路;措施五、优化软体处理方式,改进后的物理链路如图三,详细配置如表二。
设备 |
型号 |
数量 |
技术参数 |
外网工作站 |
DELL OptiPlex 9020 |
4台 |
Intel 酷睿i5 4570@ 3.2GHz/4G内存/2TB硬盘/1000Mbps以太网卡/2×USB3.0; Windows 7,旗舰版; 安全网关客户端; |
外网工作站 带1394端口 |
HP Z420 |
1台 |
Xeon E5-1603, 2.8GHz,/ 4GB/2TB硬盘/2×IEEE 1394a 端口/4×USB 3.0 端口/Intel 82579双端口千兆网卡 Windows 7,旗舰版; 安全网关客户端; |
以太交换机 |
3750G |
1台 |
利旧 |
内、外网服务器 |
DELL C6220 2U Sled |
1台 |
主板*2/E5-2603 1.8G*2/8G*2/3.5寸2TB*4,7.2K RPM SATA,RAID5/1000Mbps以太网卡(外网)/LPe1150光纤卡(内网); 操作系统:Windows2008 r2 64bit企业版 ; 杀毒软件:Kaspersky Endpoint Security for Windows |
安全传输桥 |
|
2套 |
USB3.0 |
表二:安全传输网关改进方案的详细配置
开始再次测试,测试软件为SANergy,测试文件X.DAT,文件大小10000MB。
1、 通过外网工作站测试移动硬盘读写速度:
移动硬盘:西部数据,2T,USB3.0(7.2Krpm)
结果:读速度为107MB/S;写速度为101MB/s
2、 通过工作站测试缓存区读写速度:
映射外网服务器内置硬盘: 2T*4,SATA(7.2K Krpm),双以太链路;
结果:读速度为186MB/S;写速度为165MB/s。
3、 通过内网服务器测试EMC存储读写速度:
映射EMC存储卷: 25T,FC链路,无其他工作站同时读写EMC存储;
结果:读速度为209MB/S;写速度为188MB/s
4、 双USB3.0传输测试:
保证内网存储读写带宽能到500MB/s以上,只用网关进行传输,测试底层USB3.0链路的速度。
结果:平均传输速度219MB/s,峰值257MB/s。
链路分段测试结果非常理想,开始新一轮的软体修改和优化。
三、实际运用
北京中科大洋根据自身的技术和经验,经过长达2个多月的时间,做了大幅度的修改和完善。相比我第二次的设计,系统的主要原理基本一致,主要有两个改进:一是增加传输方式,包括FTP、本地、共享;二是多级多路由方式,即多级安全网关串联增强安全性能。
在新的系统搭建好之后,恰逢纪录片《小学时代》杀青归来,正好以此节目的素材上传作为实测。
《小学时代》最复杂的拍摄场景时用了18个机位,有佳能5D Mark III、Sony z5c、Sony EX280等等,甚至还有苹果4S、三星智能手机拍摄的,带回来的高清素材文件和资料视频,其编码和格式是五花八门,共计7643GB。
安排了4个实习编导,利用4台外网工作站根据场记进行筛选,然后按照编码规范进行编单上传。4个实习编导共花费不到3个小时即完成,其他工作都交给了系统自动运行,包括杀毒、转码、入库。全程在17个小时后,所有素材文件全部入库成功。筛选后入库的素材共计5612GB,实际平均速度为93.9MB/s。
至此,完全达成技术改革目标。当然,有细心的读者注意到,我整个过程只考虑了文件化素材入内网的问题,没有考虑从内网传出文件的问题。这个问题就简单了,把相关程序反向部署就成了。
但实际运用中,也暴露了不少我原本没有考虑周到的问题:1、图文序列采集功能前置到外网客户端;2、分类文件夹的入库操作问题:导演在拍摄地时就可能对数千文件做了一定规则的分类,入库后,肯定希望在素材窗口中保持原有的分类形式,以免数千文件又混到了一个文件夹里了,不幸的是因为考虑欠周到,这种问题确实出现了。3、其他文件的导入问题:因传输过程启用了文件分析与校验,把所有非视音频文件全部拦截了,必须要在系统里为安全的其他文件开辟一条通道来。
需求是技术进步的永恒动力,继续改。
四、结束语
经过反复的修改与完善,一个全新的系统上线了。它在当今的非线性制作网中最突出的现实意义在于:解决了海量文件化素材上载时间长的问题;扫除了编导不自觉杀毒的安全隐患;采集、转码工序前移,提高了非线性工作站的使用效率。自这套系统上线以后,我们纪录片生产团队的导演可以放肆使用多机位,竭尽可能地去捕捉每一个或许精彩的镜头,让纪录片制作不在有遗憾。
编辑:曹炜阳梓