技术 : 电子学 : 互联网 > 时间码
目录
No. 1
  英文名称:time code
时间码概念
  时间码(time code)是摄像机在记录图像信号的时候,针对每一幅图像记录的唯一的时间编码。一种应用于流的数字信号。该信号为视频中的每个帧都分配一个数字,用以表示小时、分钟、秒钟和帧数。现在所有的数码摄像机都具有时间码功能,模拟摄像机基本没有此功能。
  由于视频图像记录画面很多,达到每秒25帧(也就是每秒25幅图像),在一盘拍摄完成的磁带里面要想找到一幅特定的画面可不是容易的事情,因此引入了时间码的概念,对记录在磁带上的每一幅画面进行编码也就是时间码,其格式为:xxhxxmxxsxxf,其中的xx代表数字,也就是xx小时xx分钟xx秒xx帧,这样只要记住某一幅画面的时间码,就可以在磁带上很容易地找到它。
  在一盘磁带上,每一幅画面所对应的时间码是惟一的,因此无论何时回放到此幅画面的时候都是同样的时间码,记录完的磁带在进行回放的时候,其时间码的显示是无法清零的,这与磁带计数器不同。 当一盘新的磁带放入数码摄像机里面的时候,摄像机会自动地将时间码清零,即恢复到00h00m00s00f开始记录。如果使用的是一盘以前记录过内容的磁带,摄像机会自动地读出原来的时间码,新记录的图像会接续原来的时间码进行记录,以保证时间码的连续。
时间码解析
  如果你在拍摄一些现场直播的节目,实际的时间就非常重要,譬如说一个小时的节目,我们认定的时间如果和播放的时间有误差,那就是很煞风景的事,譬如说一小时的节目结束了,结果时间还没到整点,或者是电视台显示的时间比你家的钟还慢。如果是短短的商业广告,一分钟掉那么几格我想也没有人会注意,不过如果你仔细观察,早期的影片播放在现在的系统上好像都会些失速的感觉,而现在有许多节目或音乐录影带音乐跟影像好像都对不到,是否是time code没对好呢?
  一般说来,欧洲系统大部分全都使用25fps,即使是24fps,在转换成25fps的过程中会加速4%,对声音及影像都还在可以忍受的范围。针对29.97fps的系统拍摄的影集通常都使用30fps来拍,因为它到时候会再补偿回来,我们稍后会谈。
  29.97fps通常使用于电视、影集以及音乐录音上,虽然有人说用30fps来录制声音时,因为是30fps,所以时间比较精准,不过那样毕竟是不值一提的好处,因为这种音乐一旦要和影像同步就会有很大的问题,所以我们还是推荐用29.97fps来录。
  29.97drop frame则多半使用在现场直播节目如:新闻。30fps drop frame则发生在拍摄现场直播的影集或节目时使用,因为到时候要用29.97fps drop frame来补偿。
  再举个补充与timecode的实例如果你拍摄了一支音乐录影带,想要带回录音室再加进去一些音乐remix,这时候该怎么办呢? 我们拍的音乐录影带应该都是先有画面,放个cd请歌手对个嘴,再搭音乐,现在画面拍好了,首先我们需要有一台betacam的机器来播放母带,然后我们原来的多轨录音机当然要加上我们remix的音乐,还要有另一个具备timecode能力的录制录影带的录影机,这三台机器又该如何同步呢? 省掉那些昂贵的同步设备不说,了解time code还可以帮你省钱耶!
  首先我们的多轨机中应该本来就有一轨29.97fps 的timecode讯号,当然,这轨timecode当然需要传输到播放母带的betacam去,这样betacam主机就可以准确带动多轨机的同步,然后我们录制的母带机,还得同时带动录影机,那么录影机这边的速度应该如何设定? 这当然跟你到时候要播放的系统有关系,欧规? 美规? 取决就是在于它的转速,如果是24/30fps,timecode应该设在30fps,如果是29.97fps,timecode也应该设在29.97fps。
  为什么当母带是29.97fps,我们却要使用30fps的时间码?? 因为当我们这样录制时,录影带上的影片速度会比betacam上的速度还要慢0.1%,但是当我们拍摄影片时,我们是使用30fps的timecode规格,所以当我们用29.97fps的速度去播放时,速度也跟着加快了0.1%,如此一来,两者刚好抵消,又成了原来的速度。当然如果在欧洲,一切都是25fps。
  其次我们来看看现行的time code表示方式一般系统: non-dropframe: 1:00:00:00 - frame部份用冒号来表示 dropframe:1:00:00:00 - frame部份用分号来表示 pal/secam: 1:00:00:00 - frame部份用冒号来表示。
时间码媒体
  时间码(timecode)媒体用于存储quicktime电影中的时间代码数据,其媒体类型为‘tmcd’。
  时间码样本描述
   时间码样本描述用于定义如何解释时间代码媒体数据。该样本描述以标准样本描述头为基础 ,详见“样本描述原子”部分。
  样本描述中的数据格式字段总是设置为‘tmcd’。时间码媒体处理器也会在样本描述中加入一些自己的字段:
  保留(reserved)
  一个32位整数,保留将来使用。请将这个字段设置为0。
  标志(flags)
  一个32位的整数,包含一些标识时间码特征的标志。 已经定义的标志如下:
  丢帧(drop frame)
  指定时间码是否为丢帧。如果为丢帧,则将该标志位设置为1,标志的值为0x0001。
  最长24小时(24 hour max)
  指定时间码在24小时之后是否回绕。如果时间码回绕则将该标志位置1,标志的值为0x0002。
  负数时间值ok(negative times ok)
  指定是否允许时间值为负数。如果时间码支持负数,则将该标志位置1,标志的值为0x0004。
  计数器(counter)
  指定时间值是否对应一个磁带计数器值。如果时间码值是磁带计数器的数值,则将该标志位置1,标志的值为0x0008。
  时间标尺(time scale)
  一个32位的整数,指定时间标尺,用于解释帧的时长字段。
  帧的时长(frame duration)
  一个32位的整数,指定每帧持续多长时间。
  帧数(number of frames)
  一个8位的整数,含有时间码格式的每秒帧数。如果时间是一个计数器,则此字段表示每个计数器滴答中的帧数。
  保留(reserved)
   一个24位的数,必须设置为0。
  源引用(source reference)
  一个用户数据原子,包含源磁带的信息。目前只使用‘name’类型的用户数据列表项,它包含一个描述源磁带类型的文本项。
  时间码媒体信息原子
  时间码媒体也需要有一个媒体信息原子,该原子包含的信息用于管理时间码文本的显示。媒体信息原子存放在基本媒体信息原子里(更多信息请参看“基本媒体信息原子”部分)。时间码媒体信息原子的类型为 ‘tcmi’。
  时间码媒体信息原子包含如下的数据元素:
  尺寸(size)
  一个32位整数,指定时间码媒体信息原字的字节数。
  类型(type)
  一个32位整数,标识原子类型。此字段必须被置为‘tcmi’。
  版本(version)
  长度为1个字节,指定时间码媒体信息原字的版本。
  标志(flags)
  3个字节的时间码媒体信息标志。请将此字段设置为0。
  文本字体(text font)
  一个16位整数,指定应该使用的字体。将此字段设置为0表示应该使用系统字体,如果字体名字字段包含有效的名字,则忽略此字段。
  文本字样(text face)
  一个16位整数,指定字体的风格。将此字段设置为0表示使用正常文本。您可以通过使用下面的一个或者多个位掩码来激活其它风格:
  0x0001 粗体(bold)
  0x0002 斜体(italic)
  0x0004 下划线(underline)
  0x0008 轮廓(outline)
  0x0010 阴影(shadow)
  0x0020 缩短(condense)
  0x0040 扩展(extend)
  文本尺寸(text size)
  一个16位整数,指定时间码文本的点阵尺寸。
  文本颜色(text color)
  一个48位的rgb颜色值,用于描述时间码文本。
  背景颜色(background color)
  一个48位的rgb背景颜色值,用于描述时间码文本。
  字体名称(font name)
  一个pascal字符串,指定时间码文本的字体名称。
  时间码样本数据
  时间码媒体使用两种不同的样本数据格式。
  如果时间码样本描述里的计数器(counter)标志被设置为1,则样本数据是一个计数器数的值。每个样本都包含一个32位的整数计数器值。
  如果时间码样本描述里的计数器标志被设置为0,则样本数据格式是一个时间码记录,如下所示:
  小时(hours)
  一个8位无符号整数,指定开始计数的小时数值。
  负数(negative)
  一个字节,指定时间值的符号。如果这个位设置为1,则时间码记录值为负数。
  分(minutes)
  一个7位无符号整数,指定开始计数的分的数值。
  秒(seconds)
  一个8位无符号整数,指定开始计数时的秒的数值。
  帧(frames)
  一个8位无符号整数,它指定起始帧的数目。这个字段的值不能大于时间码样本描述种帧数量字段的值。
给视频加时间码
  相信有很多朋友在采集dv影像的时候都会发现一个这样的问题,那就是明明在电视机上可以清楚显示的时间码,采集到电脑中却无法正确的显示了,甚至是根本就无法显示。确实,在用dv记录一些珍贵场面的时候,如果添加上拍摄的时间就能显得更有纪念意义,更加的弥足珍贵。然而各大软件厂商就像是约好了一样,在大大小小十几款视频采集软件中居然没有一个能够提供完整的时间码添加功能,甚至连大名鼎鼎的vegas和premiere也不例外。其实在拍摄的时候,dv已经将拍摄的时间信息记录在dv带中了,相信有些朋友可能在采集的时候也已经注意到了,其实大多数视频采集软件也是能够读取到这些信息的,但是如何将拍摄时间显示成字幕一样的效果并且贯穿影片始终确实是一个不大不小的难题。
   以往的解决方法是:
  (1)首先用电视机播放dv视频,然后用带有video in功能的显示卡采集视频。
  (2)用一台dv播放,同时利用另一台dv的av in功能录像,然后再通过1394采集至pc。这些办法一是繁琐、费时,关键是大大降低了dv的画质(实际上变成了模拟信号)。下面笔者来介绍一下如今网上比较流行的一种添加时间码的方法。
  经常看dvd的朋友们都知道,dvd影片是可以显示双语言字幕的,有的甚至能够提供几种语言的字幕,而这些字幕的内容全部存储在dvd光盘中的一个特殊的字幕文件当中的。这时,聪明的朋友一定想到了,那在电脑上是不是可以利用某种软件制作出时间码的字幕文件呢?答案是肯定的。不过,制作的过程稍微要复杂些,为此我们要用到三个软件,它们分别是vobsub 2.23,它是用来修改字幕文件和在播放视频文件时候自动调用时间码的字幕文件,dvsubmaker 1.3 , 用来生成时间码的字幕文件的程序,dvplustimecode ,用来解决前两个软件不兼容的问题。这三个软件除了第一个需要安装以外,其他的都是无需安装的“绿色小软件”,并且都是完全免费的。
  另外要注意的一点是操作系统必须安装directx 9.0,不然可能会出现无法显示字幕的问题。
  安装好这三个软件后,我们可以动手来制作时间码了。
  顺序:添加时间码
  调整时间码位置
   1、首先要利用dvsubmaker 1.3这个软件制作出时间码的字幕文件。首先双击软件,出现运行界面,选择其中的getdv datetime菜单。我们在dv avi file和dv dt file中都选中要添加时间码的avi文件(必须是从dv中采集下来的),
  然后点stat按钮,这时候软件会开始提取avi文件的时间信息,提取完成后会在原目录下生成一个名字和原avi文件名一致,但后缀名为dvdt的文件。
  然后我们再次运行这个软件,这次选择make subs菜单,然后在dv dt file和subtile file中输入刚才生成的dvdt文件,然后再点start按钮(这里还可以设置时间码的显示格式,如图中所示即表示第一行显示为“时:分:秒”,第二行显示为“日:月:年”)。
  这时候会在原目录下生成一个和avi文件名一致但后缀名为sub的文件,这便是时间码的字幕文件了。这时候后你可以尝试着用windows media palyer来播放,呵呵,是不是已经可以看到时间码了呢?
提取出来dv中的时间码
  1、 安装 vobsub 2.23. (all)
  汉化:
  软件名称:vsfilter 2.32 简体中文版
  官方网址:http://sourceforge.net/projects/guliverkli/
  操作系统:win2k/xp
  软件性质:共享软件
  软件简介:vsfilter 是 vobsub 新版的名字,它是一个外挂字幕的程序。
  安装说明:将 vsfilter.dll 复制到 %windir%system32 文件夹下,在命令提示符下于该文件夹下输入regsvr32 vsfilter.dll 即可。
  2、 安装 directx 9.0
  3、 运行 4、dvdatecode
  (1). 按“添加文件”按钮添加需要处理的avi文件。
  (2). 按“处理”按钮生成与avi源文件同路径的sub文件,可自己设置相应的格式。
  (3).“停止”按钮变灰时,所有处理结束,当然也可以点“停止”按钮结束处理。
  4、 运行vobsub中的“directvobsub configure”来调整时间在屏幕上的位置,在“main”页“open”添加文件,在“override placement”打勾,按“h”或“v”的向上/下按钮改变数值(h:大数->右,v:大数->下),按“应用”执行,完成后按“确定”退出(可将h:改为80)。
  5、用 media player 播放
  这时可以看到时间字幕已经按您设置方式显示了。
  6、tmpgenc plus v2.520.54.163安装方法:
  下载(中文版)(ttdown网站工作时可以下载):http://down.ttdown.com/softview/softview_3530l
  里面的两个都下,得到2个文件:
  tmpgenc.plus v2.520.54.163.cn.rar
  tmpgenc plus v2.520.54.163.cn.cr.rar
  分别解压,先进入第一个解压后的... mpgenc.plus v2.520.54.163.cnsetup mpgenc-2.520.54.163-plus-ch-gb.exe,安装后,进入第二个解压后的 mpgenc plus v2.520.54.163.cn.crcrack mpgenc-crack.exe,
  进入程序后找到刚才安装的目录.. mpgenc plus-2.520.54.163 选中文件tmpgenc.exe后选“运行”即破解成功。
  2.520的安装注意,如果你曾安装过其他版本的小日本,须在注册表里看是否有留下的注册信息,如:
  [hkey_current_usersoftwarepegasys inc. mpgenc plus2.5]
  "serialid"="te25-pknb-nppc-5ck8-gjxd"
  如有,需将te25-pknb-nppc-5ck8-gjxd删除。
  7、最后使用 tmpgenc 在转换 avi -> mpeg 时会自动调用 vobsub 并把 timecode 合在mpg中。
irig-b时间码
  irig-b:当今电子技术日新月异的发展,时间同步得到了越来越重要的应用。时间码irig-b作为一种重要的时间同步传输的方式,以其实际优越性能,成为时统设备首选的标准码型,广泛的应用到电信、电力、军事等重要行业或部门。irig是美国靶场仪器组的简称,美国靶场仪器组是美国靶场司令部委员会的下属机构。irig时间标准有两大类:一类是并行时间码格式,这类码由于是并行格式,传输距离较近,且是二进制,因此远不如串行格式广泛;另一类是串行时间码,共有六种格式,即a、b、d、e、g、h。它们的主要差别是时间码的帧速率不同,irig-b即为其中的b型码。b型码的时帧速率为1帧/s;可传递100位的信息。作为应用广泛的时间码,b型码具用以下主要特点:携带信息量大,经译码后可获得1、10、100、1000 c/s的脉冲信号和bcd编码的时间信息及控制功能信息;高分辨率;调制后的b码带宽,适用于远距离传输;分直流、交流两种;具有接口标准化,国际通用等。
包含词
时间码概念时间码解析时间码媒体
纵向时间码给视频加时间码场消隐期时间码
提取出来中的时间码irig-b时间码提取出来dv中的时间码