我爱Aspx >> VC.Net >> 时间编码时间编码
时间编码
一、概念
这里我们要说明一下媒体流处理中的一个重要概念-时间编码。
时间编码是一个为了视频和音频流的一种辅助的数据。它包含在视频和音频文件中,我们可以理解为时间戳。
SMPTE timecode 是一个SMPTE 时间和控制码的总和,它是一视频和音频流中的连续数字地址桢,标志和附加数据。它被定义在ANSI/SMPTE12-1986。它的目的就是提供一个可用计算机处理的视频和音频地址。
最多SMPTE时间码的数据结构是一个80bit的一桢,它包含下面的内容:
a、 一个hh::mm::ss::ff(小时::分钟::秒::桢)格式的时间戳。
b、 8个4位的二进制数据通常叫做“用户位”。
c、 不同的标志位
d、 同步序列
e、 效验和
这个格式在DirectShow中被定义为TIMECODE_SAMPLE。
时间码分为两种形式,一种是线性的时间格式LTC(纵向编码),在连续时间中每一个时间码就代表一桢。另外一种时间码是VITC(横向编码),它在垂直消隐间隔中储存视频信号的两条线,有些地方在10到20之间。
LTC时间码要加到比如录像带中会非常容易,因为它是分离的音频信号编码。但它不能在磁带机暂停、慢进、快进的时候被读取。另外在非专业的录像机中它有可能会丢失一路音频信号。
VITC时间码和LTC不同,它可以在0-15倍速度的时候读取。它还可以从视频捕获卡中读取。但是它要是想被录制到磁带上可能就需要一些别的设备了,通常那些设备比较昂贵。
SMPTE时间码同时支持有两种模式,一种是非丢桢模式,一种是丢桢模式。在非丢桢模式中,时间码是被连续增长的记录下来。它可以完成时实的播放工作达到30桢,或更高。
【我对这篇文章有话说?】
深度解析MFC线程及机制[05-21]
Effective STL:Item 16:如何将..[05-21]
用户文档[05-21]
C++基本功:从一个左右值问题出发..[05-21]
Policy Tool — 策略文件创建和管..[05-21]
Effective STL: Item 21:永远让..[05-21]
获取系统当前打开的端口(tcp。u..[05-21]
实战DeviceIoControl 之六:访问..[05-21]
By value? Or by reference?[05-21]
一个计算万年历的简单程序[05-21]