今月中にリリースを目論んでいる動画眼3の新機能について解説します。
動画眼は動画ファイルに対して頭出し用のチャプターを打ってUTやインタビューの見返しを楽にするツールです。チャプター情報はシンプルなフォーマットのテキストデータで生成するのですが、これを別のツール、別の時間で作っても良いぞということで、UT/インタビューの実査中にリアルタイムでチャプター打ちするツールが動画眼マーカーです。
チャプター情報をもつ.dggn.txtファイルは動画の先頭を0分0秒基点としてそこからの経過秒数で管理されています。中身をテキストエディタで見ると、
1 2 |
83.5 [TAB] 本日はお越しいただきありがとうございます [TAB] 1 154.1 [TAB] よろしくお願いします [TAB] 2 |
のようなタブ区切り形式で、1項目がチャプターの位置を示す秒数、2項目がメモ、3項目は話者を示す1桁の数値となります。
さて、これを動画眼マーカーでリアルタイムに作るには、動画の録画開始(0秒点)と同期してタイマーをスタートさせる必要がありました。これが慌ただしい実査現場では負担になってしまったり、うっかりブラウザを終了させてしまったり、録画システム(OBS Studioやクラウド会議ツールの録画機能)側が止まってカウンターがリセットされたりといったトラブルにも弱いということがあります。
そこで新バージョンでは「動画眼マーカー側では一旦時刻をベースにしたタイムスタンプでデータを作り、動画眼3に読み込む時点でその動画の録画スタート時刻を引き算して同期する」というアプローチを取り入れてみました。
例えばセッションが朝10時に開始されたとすると、
1 2 |
10:00:03 [TAB] 開始 [TAB] 0 10:01:35 [TAB] 事前説明 [TAB] 1 |
みたいなログになります。PCの内部時計を参照するので記録開始時に特別な操作は不要になります。
そして事後に動画眼3で動画ファイルとこのログファイルを読み込んだ時に、動画の正確な録画開始時刻(ここでは10時00分00秒とします)を引き算して、
1 2 |
3 [TAB] 開始 [TAB] 0 95 [TAB] 事前説明 [TAB] 1 |
とする仕掛けです。セッションの開始時間は予定より早まったり遅れたりしがちですし、必ずしもそのタイミングで録画開始するとは限りません。必要なのはあくまで録画をスタートした時刻です。その正確な録画開始時刻を機械的に知る方法は3つくらいあるかなと考えています。
- 動画ファイルの生成時刻
- 動画ファイルのファイル名
- 動画内にタイムスタンプを合成しておく
1.はmacOSでもWindowsでもファイルのメタ情報として自動的に記録されます。2.は録画に使うツールによりますが例えばOBS Studioなら標準設定でファイル名に月日時分秒が入るようになっています。これら2つは特に意識しなくても取得できる可能性が高いので次期動画眼3もこれらを反映させるボタンを実装しています。3.については少し準備が必要ですが、これまたOBS Studioでいえば、こちらの記事を参考にしていただくなどして動画の片隅に時刻を入れておき、あとで先頭フレームに映る時分秒を読み取って同期ダイアログに打ち込んでいただく形が考えられます。
単純に映像に時計を映しこんで置くだけでもいいかも知れません。
いずれにせよ、録画側(映し込む時計を含む)と動画眼マーカーを使うPCとで時計が一致していることが望ましいので、PCのNTP(時刻合わせ)サーバーをしっかり設定しておく、電波時計を使うなど時計合わせは気を遣うに越したことはないしょう。
というわけで、
- 動画眼マーカーで時刻ベースのログを出力できるようにする
- 時刻入りログを動画眼3で開いた時に、動画ファイルのメタデータなどを使って換算補正する
と両ツールの同時アップデートにて対応する計画です。
一応実装は完了していて動作チェックしている段階なので、3月中に出せればと思っています。
■その他の機能追加、バグフィクス
同時に長らく対応できずにいたバグ修正や機能追加も色々しています。
- Premiere Proで書き出したcsv形式のマーカーのインポートに対応
- 100分を越えるタイムコードが正しく表示できなかったのを修正
- Premiere Proの書き起こしデータの新フォーマットに対応
是非お試しいただければと思います。