技術 : 電子學 : 互聯網 > 時間碼
目錄
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中的時間碼