2017/12/02 ■ 映像機器のタイムコード(LTC/Linear Timecode)をUnityで直接読む Twitterでつぶやくこのエントリーをブックマークに追加このエントリーを含むはてなブックマーク

IMG_20171202_043827410_BURST000_COVER

この記事はドワンゴ Advent Calendar 2017 2日目の記事です。

ドワンゴ Advent Calendar 2016の記事
PSVR「Rez Infinite」を全身で体感するシナスタジアスーツを5740円で自作する
ドワンゴ Advent Calendar 2015の記事
THETA S長時間稼働ジャケットで長時間全天球ライブストリーミング
ドワンゴ Advent Calendar 2014の記事
リアルロボットバトル バトロイド視覚システム解説(Oculus Riftで2mサイズの戦闘ロボットを操縦してみた)


みなさんUnity使ってますか!?

Unityはゲームエンジンといいながらも映像製作や舞台演出、VJなどノンゲームジャンルのリアルタイム映像生成にもかなり広く使われつつあります。というか、私もよくそういう業務で使っています

で。

そういう「イベント現場」のような場面でUnityを使っていると、Unityで生成する映像をほかの機材や演出と同期したくなるんですよね。ちょっとした同期なら「タイミングをあわせてスタートボタンをポチッとする」だけでいいんですが、本当にフレーム単位の同期をがっつりやろうとするとアレッ、どうしよう!?ってなってしまう。

業務用の映像機器の世界では、そんなときのために「タイムコード」があります。映像などのタイミングを厳密に測定・調整・同期するために、映像1フレームごとに番号を振って信号として埋め込み・送出することができるようになっているわけです。

この「タイムコード」。よく使われるものに「LTC(Linear timecode)」と「MTC(MIDI timecode)」があります。とはいってもタイムコードを扱う機材ってなかなか個人では触れることがありませんし、慣れていないとすごい謎の技術っぽい感じがしますよね。が…実は、LTCはただの「音」で、MTCは「MIDI信号」でありどちらも処理するのは意外とかんたんだったりします。

というわけで今回は、このうち「LTC」を実際にUnityでデコードしてみることにしましょう。