硬盘播出系统中,视频服务器最主要的应用就是上载和播出,为实现的关键就在于对视频服务器编解码口的控制。
VDCP协议的全程是“视频磁盘通讯协议(Video Disk Communications
Protocol)”作为国际流行的视频服务器的控制协议标准,提供了简洁、通用以及点对点式的控制方式,满足了硬盘播出系统度视频服务器实时、精确、有效控制的要求。作为硬盘播出系统基础性控制协议,广为业界采用。
一、 VDCP的定义
VDCP协议是实现主控端和受控端紧密联系的协议,该标准采用点对点的控制方式,由控制端主动连接受控端。
VDCP遵循OSI(Open System Interconnection开放式系统互联)的参考模型,从而保证所有满足协议的来自不同硬件厂商的设备协同工作,互联互通。
VDCP协议分为6层。包括:物理层、数据链路层、网络层等,由于实际应用较少,不多做介绍。
二、 VDCP的特性
1. VDCP通讯信号特征
1) 同步串行信号;
2) 符合EIA RS422A标准;
3) 全双工通讯通道;
4) 传输速率38.4kb/s。
2.数据位配置
开始位 |
数据位 |
校验位 |
停止位 |
字节时长 |
1位(Space) |
8位 |
1位(odd) |
1位(Mark) |
0.286ms |
3.物理连接定义
PIN针脚 |
COUT ROLLING DEVICE 控制端 |
CO NTROLLED DEVICE 受控端 |
1 |
Frame Ground |
Frame Ground |
2 |
Receive A |
Transmit A |
3 |
Transmit B |
Receive B |
4 |
Transmit Common |
Receive Common |
5 |
Space |
Space |
6 |
Receive common |
Transmit common |
7 |
Receive B |
Transmit B |
8 |
Transmit A |
Receive A |
9 |
Frame Ground |
Frame Ground |
在通道解码口控制中,控制端一般指播控、上载控制终端RS422接口,受控端指视频服务器编解码控制口。
三、 VDCP的语法
VDCP指令长度从2字节到256字节,指令构成规则如下表。
STX |
BC |
TYPE/UA(CMD-1) |
CMD-2 |
DATA-1 |
DATA-2` |
DATA-N |
CHCEKSUM |
|
|
|
|
|
|
|
|
各部分组成定义为:
STX:文本码起始位(02h);
BC:指令字节数;
TYPE/UA:由四个字组成,分别定义12个指令类型;
CMD-2:VDCP指令代码;
DATA-1… DATA-N:数据组,提供指令所需信息;CHECKSUM:校验位。
受控端在收到指令后进行实时反应,如果CMD-1指令为0、1、2类,服务器返回执行成功(ACK)或不成功(NAK);其他指令还需要返回数据,如时码、状态等,服务器端同样按照上述语法返回控制端所需数据。
四、 VDCP指令
VDCP指令是由控制端口发送,通过RS422点对点通讯传到视频服务器对应端口,由服务器实现实时正确地执行,并返回相应参数。在服务器控制应用中,视频服务器存储了大量的视音频文件,因此需要定义文件名加以区分。在VDCP里就建议每个文件以8个字符排列作为其名称,称之为ID。视频服务器需要在运行当中随时提供状态和数据的查询,以确保控制端合理有效的发送指令,因此VDCP里对端口状态、当前时码位置,以及ID文件状态、长度等查询指令进行了定义。此外,VDCP对ID文件拷贝、删除等辅助控制功能指令做了明确的定义,类似控制录像机的PLAY、STOP、CUE等基本指令也有响应的描述。
对视频服务器的控制类类似于录像机,却远远超过录像机,具有更多样的功能。VDCP版本的指令将近80条,分为执行控制、状态查询、数据查询、文件管理、 参数设置以及宏指令等多种类型。其中,执行控制、数据查询、状态查询、文件管理等是视频服务器应用中常见的,具体控制指令语句可查阅VDCP协议原文。
五、视频服务器基于VDCP的应用实现
VDCP的应用是由控制端程序以及服务器端服务程序共同实现的。视频服务器基于VDCP的应用可实现服务器的多种功能,最主要的就是编码和解码,分为上载、回放(编辑审看)和播出。不管哪种情况,其应用流程大部分是按照“初始化”-“开始执行”—“状态跟踪”—“事后处理”的顺序实现的。
视频服务器采用VDCP协议进行通讯,内部通过CPU+I/O的方式对输入、输出信号进行处理。
1. 上载
上载是编码的最主要应用,他实现对一段视音频信号的实时编码。它的过程首先需要定义文件的ID号(由控制端发出),接着启动编码端口就位,然后开始编码和运算。
注:前一个ID Request 查询服务器是否有ID冲突,后一个检查录制ID是否存在。
2. 回放(编辑审看)
回放是视频服务器解码的简单应用。回放可以预览已上载视音频素材,另一个应用就是对文件出入点进行定义,实现视频服务器的简单编辑(不改变物理文件)。控制端按照选定的ID向服务器发送播放指令(Play Cue + Play);在任一时刻发送静止指令(Still),可以观察当前帧画面;也可以以当前位置为基准进行相对位移(Jog);或者进行变速前进或后退(Vair,Play,相当于Shuttle)。编辑文件时,控制端向解码口查询当前帧位置(Position Request),由服务器返回时码值,此时控制端就可以将此位置定义为入点或出点(由应用程序记录)。
3.播出
实现播出就是通过控制服务器预卷指定ID的指定起始帧及时长,接着在适当时间发送播放命令,如此循环直至暂停解码。要实现视频服务器的播出,首先就需要控制端根据播出表逐一检测服务器是否存在表内的所有文件(ID Request),并检测文件长度是否与播出表的记录有冲突(ID Size Request,逻辑长度≤物理长度),如果服务器返回ID不存在或长度不一致,控制端就应该报警并初步修正;如检测无误,控制端则按照播出表在一定逻辑下对解码口持续发送预卷(Cue with Data)和播放(Play);由于播出时文件的解码必须是连续的,因此在控制器需要在当前文件启动解码后对下一文件发送“预卷”命令;另外,为了保证控制端对服务器的控制,控制端还需要不断发送当前位置(Position Request)、文件是否就绪(ID Request)等指令以获取相关信息。
|
|
视频服务器在接收到播出指令后,会首先查询CLIP信息,根据CLIP信息中存储的内容搜索素材文件,然后对相应文件进行解码,把解码后的内容通过PCI总线传递给I/O卡,进行播出。
除了以上应用外,视频服务器基于VDCP的应用还可以通过控制程序实现文件管理、端口配置及信号调整等,充分体现了VDCP协议的实用性和完善性。