動画眼マーカー→動画眼3→動画眼Liteの最新ワークフロー解説(時刻同期方式)

動画眼マーカーと動画眼3が時刻で同期可能になったので、改めて動画眼ファミリーの使用方法を解説してみたいと思います。ユーザーテストやインタビューの動画記録にインデックス(チャプター点)をつけて、特定の箇所を素早く見返したり、プレゼンしたりといったことを目的としたソフトウェア群です。

■登場人物紹介

動画眼3(動画にインデックス付け)

中核となるソフト。Windows & Mac対応。要インストール。

動画ファイルを再生しながら特定の位置(話題やタスクの切れ目や注目箇所など)にインデックスを打て、それをダブルクリックすることでその箇所を瞬時に頭出しできます。できるだけ省力化できるよう再生操作(指定秒数スキップなど)などはキーボードショートカット化してあり、また定型文をFnキー1~5で一発挿入することも可能。

動画眼マーカー(リアルタイム記録)

Webアプリ。PCやスマホのブラウザからURLにアクセスするだけで使えます(データーはサーバーには一切保存しませんし、必要なら一式GitHubからダウンロードしてローカル環境で動かすこともできます。ただし非SSL環境ではモバイルブラウザのセキュリティ制約でコピー、共有がでません)。

動画眼3が録画したファイルに対してインデックスをつけるソフトなのに対し、こちらはUTやインタビューのセッション中にリアルタイムで「今ここを区切りたい!」って時にマーキングすることができます。作成したデータをファイルで保存し、別で録画した動画ファイルと一緒に動画眼3に食わせると、すぐに動画にインデックスがついた状態で見返し分析作業ができます!

動画眼Lite(配布用ビューワー)

WebアプリというかHTMLファイルセット。原則PC向け(スマホは想定していません)。

動画眼3でインデックスをつけた状態でチームで閲覧したりクライアントに納品したいことがあると思いますが、「動画眼3をインストールしてください」とは言いづらいことも多いでしょう(企業さんでは申請が必要だったり)。そこで編集機能はもたないものの簡単に、動画ファイル、HTMLファイル、インデックスデータファイルの3点セットで渡すだけで、ブラウザ上で即閲覧可能にするビューワーを作りました。動画眼3から簡単に生成することができます。

■ワークフロー解説

0. 動画を撮る

セッション中、なにがしかの動画は撮っているものとします。今ですとOBS Studioで様々な映像ソース(画面キャプチャ、手元、表情など)を合成して1つの録画に撮るなんてことも簡単ですし、リモート実施ならZoomなどの録画機能で記録しているかも知れません。

ポイントはその動画の録画開始時刻が正確にわかることです。OBS Studioならデフォルト設定でファイル名が録画開始時刻なので「2023-12-10 16-46-36.mp4」みたいなファイル名になると思うので、それで大丈夫です(.mkvで保存している場合は、「録画の再多重化」でmp4に変換しておいてください)。

ビデオカメラで録画したMP4ファイルを使う場合、そのファイル名や作成日時が録画開始時刻を指しているかどうか確認してみてください。もしそれも難しい場合は、秒まで正確な電波時計やスマホの時計アプリなどを映した状態で録画ボタンを押しておくでも良いです。とにかく録画開始した瞬間の正確な日時が重要になります。

また動画でなくICレコーダーなどで録った音声ファイル(mp3、wavなど)でも使用可能です。

1. 動画眼マーカーでセッション中に記録する

こちらが動画眼マーカーの画面です。PCでもスマホでも基本は同じです。余裕があればモデレーターが操作してもいいですし、見学者、記録係が担当しても良いでしょう。

下の方に青字で表示されているのが現在時刻です。

ピンクの部分になにかテキストを打ち込んでEnterキーを押すか、右のペンボタンをクリックすると薄緑のエリアにチャプターが書き込まれます。特にメモは不要でチャプターだけ打てれば良いという時は単にペンボタン押していくだけでもOKです。

タイムスタンプは修正不可能ですが、メモはクリックすると編集できます。

一番下段のF1~F5ボタンは定型文ボタンです。現在のバージョンでは内容をカスタマイズはできません(GitHubからソース一式をダウンロードしていただいてHTMLファイルを直接編集すれば可能です)。

セッションが終わったら右上のローカル保存ボタン(下向き矢印アイコン)を押して、テキストファイルとして保存します。スマホの場合は共有ボタンになっているので、ご利用のアプリやサービスなどにアップロードするなどして保存してください。その左のボタンでクリップボードにコピーもできます。ようはただのテキストデータなので、最終的に動画と同じフォルダに同じファイル名で保存し、拡張子を「.dggn.txt」にします。例えば上のOBS Studioで撮った動画が「2023-12-10 16-46-36.mp4」なら「2023-12-10 16-46-36.dggn.txt」にして同じフォルダに置きます。

こんな形になっていればOKです。

なお.dggn.txtという拡張子ですが、末尾は.txtです。つまるところメモ帳やテキストエディタで開けるしタイムコードと形式さえ変えなければメモ部分は編集しても大丈夫です。

2. 動画眼3に読み込んで確認する

では動画ファイル(MP4)とチャプター記録ファイル(DGGN.TXT)を合わせて動画眼3で読み込んでいきます。

まず動画ファイルを動画眼3の黒い部分にドラッグ&ドロップします。これで同じフォルダ、名前の.dggn.txtファイルも自動的に読み込んでくれます。ただしタイムスタンプが動画眼マーカーで記録した時刻形式だった場合、写真のような「時刻変換」ダイアログが出てきます。これがVer 2.10.1のキモです。

ファイル名から録画開始時刻を取得した状態

ここに動画の録画を開始した時分秒を入れてあげればOKなわけですが、それを支援するボタンが2つあります。

・動画ファイルの生成日時から取得

動画が記録後に変換や編集を一切してない生ファイルの場合、おそらくファイルのタイムスタンプは録画開始時点になっていると思います。その場合はこのボタンを押して取得できます。

ただし録画ソフト/機器によっては録画終了時点になるものもあるかも知れません、mkv->mp4などの変換を行ったり編集をした場合はその作業をした時点のタイムスタンプに書き換わってしまうので、この方法は使えません。

・動画ファイル名から推測

OBS Studioのように録画開始時点の日時をファイル名に入れてくれるものの場合、こちらのボタンを押せば推測して入れてくれます。「推測」と書いたのはそのファイル名の記載ルールが多岐に渡るため、すべてのパターンには対応しきれないからです。特に「:」はファイル名に使えないので、かわりにハイフンだったりアンダーバーだったり、区切らずに6桁数字だったりします。日付との区別も問題です。現状OBS Studio形式をはじめ何パターンかに対応させていますが、上手くいかなかったらごめんなさい。「こういうファイル名ルールに対応してほしい」などリクエストを上げていたらければできる限り対応していきたいと思います。

以上、どちらの方法も上手くいかなかった場合は、手入力で録画開始の時分秒を入れてください。

下の写真が時刻同期が成功した状態です。

動画の録画開始が16時46分36秒でした。そして動画眼マーカーで記録した最初のチャプターは16時49分47秒でした。チャプターの時刻から録画開始時刻を引き算してあげることで、動画開始から3分11秒目が1つ目のチャプター位置、ということになっています。これで「3:11」となっている水色の部分をクリックすれば、当該箇所にジャンプできるはずです。

もちろん動画眼3上で新しいチャプターを追加したり、既存のチャプターをクリックして編集したりもできます。

ちなみにチャプターは最終的にタイムスタンプとメモテキストのペアがあれば良いので、必ずしも動画眼マーカーや動画眼3上で作成する必要はなく、例えば動画音声を文字起こししたデータを使って作ることもできます。現状はPremiere Proの書き起こし出力ファイルからの変換や字幕データの標準フォーマットであるSRT形式からインポートすることもできます。

3. 動画眼Lite形式で配布する

さて、動画眼3上で良い塩梅にチャプターが打てたとします。これをそのまま閲覧可能な状態で誰かに渡したいとします。もちろん相手に動画眼3を入れてもらって、mp4とdggn.txtファイルをセットで渡せば良いのですが、相手によってはソフトのインストールは難しいケースもあると思います。その時は、動画眼3の「ファイル」メニューから「動画眼Lite形式で書き出し…」を選び、次いでダイアログで「ダウンロード」を選択してください。

そうすると、同じフォルダに.htmlファイルと.json.jsという2つのファイルが生成されます。

この状態でhtmlファイルを開くと、お使いのブラウザが開いてこのような画面になるはずです。これが動画眼Liteです。

標準ブラウザが使われるので、お手元のPCの設定次第でEdgeだったらいChromeだったりFireFoxだったりで開かれますが、基本的にはどれでも使えるはずです。編集機能はありませんが、

  • チャプター該当箇所の頭出し
  • ショートカットによる指定秒数スキップ
  • 特定文字列を含むチャプターの検索、絞り込み

などは動画眼3と同じように使えます。

必要があるのは赤枠で囲んだ.html、.json.js、そして.mp4の3点です。(.dggm.txtは動画眼3で編集を行わないなら不要)。動画以外のファイルのサイズなど誤差レベルですし、ソフトウェア自体は含んでいないので、気軽に渡せるんじゃないかと思います。使用時は必ず同じフォルダに同じファイル名(拡張子違い)で置いてもらってください。

■まとめ

以上、2023年12月時点の最新版を使った時刻同期によるワークフローを解説してみました。パッと見ややこしく見えるかも知れませんが、流して感覚を掴んでもらえればそこそこシンプルで汎用性も高い方法なんじゃないかと自負しています。それでもわかりづらい、使いづらいなどありましたらご意見いただければと思います。

本ツール群が製品開発のためのUT/インタビュー業務にお役立ていただければ幸いです。またこんな用途で使っています、などありましたら是非お聞かせください。

OBS Studioで黒画面を一瞬出し自動で戻す

次期動画眼での機能追加について書いたばかりですが、またひとつ思いつきました。

動画眼はUT(ユーザテスト)やインタビュー録画にチャプターを打って分析を効率化するというツールですが、後で見返す時ではなく、その実査中(録画中)にどうやって誰が手軽にチャプターを打つかというのも大きな課題です。そのひとつにWebアプリと時計を同期してポチポチしていく動画眼マーカーがありますが、今回全く別の方法を思いついて実験を始めました。

それは「動画の真っ黒なフレームを検出してチャプターにする」というアプローチです。例えばATEM MiniですとFTB(Fade To Black)ボタンがあります。1回押すとフェードアウトで画面が真っ暗になり、もう一度押すと解除されてフェードインで元の映像に戻ります。モデレーターなり録画オペレーターがタスクの切れ目などでこれを押しすぐ解除することで、録画/配信される映像が一瞬暗くなります。これを動画眼側で検知することでチャプターに自動変換できるのでは、と考え実証コードを書きました。どれくらいの黒を閾値とするかなどチューニングは必要ですが基本的に動いてる感じです。

■OBS Studioで黒フレームを作る

UT/インタビューの収録でATEM Miniを使っているモノ好きはそう多くはないので、OBS Studioを使った場合も検討してみます。単に画面を真っ黒にするだけなら何もないシーンを作ってそれに切り替えるだけです。ホットキーを設定しておけばキー操作1つで実現可能です。ただそこから戻すのにもう1操作必要になります。空シーンに切り替える->1秒待つ->元のシーンに切り替える、という手間が生じるのは不便です。戻し忘れたらコトです。これを1操作で自動化するのが本記事のテーマです。

真っ黒いシーンを作る

シーン一覧の「+」ボタンで新規シーンを作ります。名前をBlackとかBlankとかわかりやすいものにしておきます。中身(ソース)は空っぽのままでOKです。

ホットキー(キーボードショートカット)を割り当てるには「設定」画面から「ホットキー」を選び、作成したシーンに対する「シーン切り替え」の欄に希望のキー操作をセットします。

ちなみにOBS StudioのホットキーはOBSがバックグラウンドにいても反応します。録画中、同じPCでメモ取りなども兼ねる場合、CommadやCtrlキーなどの組み合わせにするとか、ファンクションキーなど間違って押さないキーアサインにしておきましょう。ここでは録画中他の操作はしない想定で「B」キーを割り当てます。

なおOBS Studioではシーンをかえると音声セッテイングも独立になるので、そのままだと音がなにも鳴らない状態になってしまうのでご注意ください。音声系ソースを元シーンからコピーするとか、このシーン自体を新規で作らず、「元シーンを複製して映像系ソースを消す」などして作った方が良いかも知れません。シーンを作り分けるか、特定ソースのON/OFFを制御するかどちらが楽かはケースバイケースだと思います。

プラグイン「Advanced Scene Switcher」をインストール

OBS Studio単体では実現できなそうなのでプラグインの力を借ります。Advanced Scene Switcherを使います。最新版はOBS Studio 28〜対応です。OBS Studioは27までと28以降でプラグインの規格が変更され互換性がありません。Advanced Scene Switcherの最新版を使う場合はOBSも28以降にしてください。どうしてもまだOSBを28以降にできない人はプラグイン側の旧バージョンを探してみてください。今回はOBS Studio 29.0.2にAdvanced Scene Switcher 1.20.5を使用しています。

またMac版だとOBS、プラグインともにAppleシリコン(M1/2)版とIntel版が分かれています。お使いのOBS Studioにあわせてプラグインをダウンロードしてください。GitHubのダウンロードページにはmacos用だけでもx86(Intel用)、arm64(Appleシリコン用)、Universal(両用)があります。.pkgはインストーラー版でしかるべきフォルダに自動でインストールしてくれますが、セキュリティチェックが厳しい端末だとかえって手間かも知れません。そういう場合は.zipを落として自分でプラグインフォルダにD&Dで入れると良いでしょう。

自分(M1 Max機)はOBSをAppleシリコン版にするのを忘れていて、プラグインだけAppleシリコン用を入れてメニューに出現しないなと思って悩みました。

インストールに成功すると、OBS Studioの「ツール」メニューに「Advanced Scene Switcher」が出現します。

「自動シーンスイッチャー」というのが標準であって紛らわしいですが別モノです。

Advanced Scene Switcher設定 〜マクロ設定(Macroタブ)

「ツール」メニューから「Advanced Scene Switcher」を開き、「Macro」タブに移動します。

ここで、「Blackシーンに切り替えられたら1秒後に元のシーンに戻す」というマクロを作成していきます。いきなり完成形がこちら。

まず①のブロックで「+」から空の新規マクロを作成し、名前を決めます。ここでは「Blank and Back」としましたがなんでも良いです。

次に②のブロックでマクロ処理が発動する条件を定義します。ちょっと手順がややこしいですが、まず「If(もし)」「Scene(シーンが)」を選びます。すると下段に「Current scene is(現在のシーンが)」が選ばれて「–select scene–(シーンを選択)」が選択可能になるので、「–select scene–」を真っ黒シーンである「Black」にします。これで「シーンがBlackになった時」という発動条件が定義されました。更に冗談で時計マークが「No duration modifier(遅延指定なし)」にかわると思いますのでこれを「For at least(少なくとも)」に変更し「1.00」「seconds(秒)」にします。これで、「シーンがBlackになって最低1秒経過したら」という意味になります。

最後に③のブロックで「その時何が起きるか」を設定します。まず上段で「Switch scene(シーンを切り替える)」を選びます。すると下段に3つのセレクターが出るので、それぞれ「Previous Scene(前のシーン)」「Current Transition(今のトランジション)」「0.20」などとします。「Previous Scene」はBlackシーンにする前に選択されていたシーンを覚えておいてその状態に戻してくれます。もちろん特定のシーンを選べばそちらに移ってくれます。そこは好き好きで。2番目は切り替わり時の効果に関するもので「カット」ならスパっと瞬時に切り替わります。「フェード」ならふわんと切り替わります。「Current Transition」は普段スタジオモードでデフォルトで使っているものが自動で選ばれるんだろうと思います。3番目の秒数はフェードする場合にかける時間です。カットだと突然映像が途切れた様にも見えるので、ごく短めのフェードくらいがいいんじゃないでしょうか。

これで「Blackシーンが選ばれたら1秒後に元に戻す」という動作のマクロ「Blank and Backが完成しました。

Advanced Scene Switcher設定 〜一般設定(Generalタブ)

最後に忘れてならないのがAdvanced Scene Switcherプラグイン自体の動作をオンにするという操作です。このプラグインは動作条件に当てはまる状態にあるかどうかを常に監視するために多少なりとも負荷がかかります。ので必要な時だけオンにする方が良いんじゃないかと思います。

タブを「General」にします。

赤枠の「Start」をクリックすれば起動します。すぐ上の「Inactive」が「Active」になっていれば起動中ということです。その下の項目で起動の自動制御ができます。

On startup of OBS: OBSの起動時

Automaticaly start the scene swither when: 録画や配信を開始した時

また先のホットキー設定画面でON、OFF、ON/OFF切り替えのショートカットを割り当てて手動操作することもできます。

個人的には録画や配信を開始した時に一緒にスタートするようにしておくのが無難な気がします。

■まとめ

ということで、かなりニッチなニーズだと思いますが、OBS Studioで「画面を一瞬真っ黒にして戻す」を1操作で実行する設定を解説しました。

動画眼で自動認識するのに、画面全体が真っ黒になるのをキーにするか、いやそれだと見ている人がびっくりしちゃうので、例えば画面の片隅だけちょこっと黒くなるのを探させるか、なども思案中ですが、仮に「画面の片隅だけ黒い」状態を作ろうと思えばそういうシーンを作るだけなので応用は効くかなと思います。ただ元々複数シーンを使い分ける実査の場合、それぞれのシーンに対して隅が黒いバージョンを用意するのは管理上、手間が大きいかなと思っていて、とりあえずは画面全体を黒いことを条件にする形で実装を進めていく可能性が大です。ATEM MiniでもFTBを使う方が簡単ですし。

ATEM Miniで自動復帰をするにはマクロを使えば良さそうですが、ハード的にマクロキーがあるのはExtremeシリーズだけなのが悩ましいかもですね。

動画眼の次期アップデートについて

今月中にリリースを目論んでいる動画眼3の新機能について解説します。

動画眼は動画ファイルに対して頭出し用のチャプターを打ってUTやインタビューの見返しを楽にするツールです。チャプター情報はシンプルなフォーマットのテキストデータで生成するのですが、これを別のツール、別の時間で作っても良いぞということで、UT/インタビューの実査中にリアルタイムでチャプター打ちするツールが動画眼マーカーです。

チャプター情報をもつ.dggn.txtファイルは動画の先頭を0分0秒基点としてそこからの経過秒数で管理されています。中身をテキストエディタで見ると、

のようなタブ区切り形式で、1項目がチャプターの位置を示す秒数、2項目がメモ、3項目は話者を示す1桁の数値となります。

さて、これを動画眼マーカーでリアルタイムに作るには、動画の録画開始(0秒点)と同期してタイマーをスタートさせる必要がありました。これが慌ただしい実査現場では負担になってしまったり、うっかりブラウザを終了させてしまったり、録画システム(OBS Studioやクラウド会議ツールの録画機能)側が止まってカウンターがリセットされたりといったトラブルにも弱いということがあります。

そこで新バージョンでは「動画眼マーカー側では一旦時刻をベースにしたタイムスタンプでデータを作り、動画眼3に読み込む時点でその動画の録画スタート時刻を引き算して同期する」というアプローチを取り入れてみました。

例えばセッションが朝10時に開始されたとすると、

みたいなログになります。PCの内部時計を参照するので記録開始時に特別な操作は不要になります。

そして事後に動画眼3で動画ファイルとこのログファイルを読み込んだ時に、動画の正確な録画開始時刻(ここでは10時00分00秒とします)を引き算して、

とする仕掛けです。セッションの開始時間は予定より早まったり遅れたりしがちですし、必ずしもそのタイミングで録画開始するとは限りません。必要なのはあくまで録画をスタートした時刻です。その正確な録画開始時刻を機械的に知る方法は3つくらいあるかなと考えています。

  1. 動画ファイルの生成時刻
  2. 動画ファイルのファイル名
  3. 動画内にタイムスタンプを合成しておく

1.はmacOSでもWindowsでもファイルのメタ情報として自動的に記録されます。2.は録画に使うツールによりますが例えばOBS Studioなら標準設定でファイル名に月日時分秒が入るようになっています。これら2つは特に意識しなくても取得できる可能性が高いので次期動画眼3もこれらを反映させるボタンを実装しています。3.については少し準備が必要ですが、これまたOBS Studioでいえば、こちらの記事を参考にしていただくなどして動画の片隅に時刻を入れておき、あとで先頭フレームに映る時分秒を読み取って同期ダイアログに打ち込んでいただく形が考えられます。

単純に映像に時計を映しこんで置くだけでもいいかも知れません。

いずれにせよ、録画側(映し込む時計を含む)と動画眼マーカーを使うPCとで時計が一致していることが望ましいので、PCのNTP(時刻合わせ)サーバーをしっかり設定しておく、電波時計を使うなど時計合わせは気を遣うに越したことはないしょう。

というわけで、

  • 動画眼マーカーで時刻ベースのログを出力できるようにする
  • 時刻入りログを動画眼3で開いた時に、動画ファイルのメタデータなどを使って換算補正する

と両ツールの同時アップデートにて対応する計画です。

一応実装は完了していて動作チェックしている段階なので、3月中に出せればと思っています。

■その他の機能追加、バグフィクス

同時に長らく対応できずにいたバグ修正や機能追加も色々しています。

  • Premiere Proで書き出したcsv形式のマーカーのインポートに対応
  • 100分を越えるタイムコードが正しく表示できなかったのを修正
  • Premiere Proの書き起こしデータの新フォーマットに対応

是非お試しいただければと思います。

音割れしないレコーダーZOOM F3とマーカー機能の話

2年ほど前、凄く大きい音から小さい音まで収録できる32bit float録音に対応したZOOM F6というレコーダーを購入しました。

32bit float録音について詳細はこちらの記事をどうぞ。

F6は6入力を備えてガチめのフィールドレコーダーでしたが、今年一月に32bit float録音に対応しつつ、入力を2系統に絞り、より小型化したF3が発売されました。同社の32bit float録音対応ラインナップが、6ch入力のF6、2ch入力のF3、ピンマイク用のF2となったわけです(F2=2系統ではないのでご注意ください)。

しかしまぁこれが当初から大欠品祭りで、全く買えなかった。本来3.5万円くらいのものが5万円以上で売られてたりしました。Amazonで7月くらいに一応注文可能になってるのを見たものの納期は未定っぽかったので悩んでいたら即消えてしまい、もう一度8月に一瞬復活したので、とりあえず注文だけいれけ!と思ってポチ。それがようやく届きました。

■ZOOM F3の特徴

単にF6の入力数を減らしたモデルかと思いきや、F3にしかない機能などもあったりします。個人的に注目の機能を挙げると、

  • 32bit float録音
  • よりシンプルなオペレーション(F3のみ)
  • 音声波形表示(F3のみ)
  • Bluetooth経由で専用スマホアプリによる遠隔制御(要オプション)
  • サウンドマーカー機能
  • マーカー機能(スマホアプリからのみ、F3のみ)
  • 32bit float対応オーディオI/F機能

辺り。F6はかなり込み入った設定ができる分、小さなパネルでの操作がかなり難解でした。一方F3は32bit floatで録ることを前提としており、「何も考えずに録音ボタンを押せば音割れしないで録れる」というユーザ体験ありきで設計されている印象(F2もそうでしょうけど)。実はF6はマニアックすぎて、あえてこちらのブログではなく個人の趣味ブログの方でのレビューとしていましたが、F3はガジェットマニアではないUT/インタビュー実務家の人にも選択肢に入りうる製品だと思いこちらで紹介させていただくことにしました。

音声波形表示もありそうでなかった機能。世の中のICレコーダーは通常(なにもないか)いわゆるレベルメーターというL/R 2本のバーグラフで入力レベルを視認します。これだと瞬間瞬間の音量チェックしかできません(最大ピークが一定時間残ったりはしますが)。これに対してF3は音声編集ソフトのように横軸に時間をとった棒グラフで数秒分の履歴を見られますので、平均的な音量をチェックできます。「音割れしないんだからチェックもいらないんじゃ?」という考え方もできますが、やはり安心感が違います。またこの画面上でちょうどいい感じにズーム倍率を設定しておくと、書き出される音量のデフォルト倍率に反映されるので、編集ソフトにいれてすぐに適当なゲイン設定がなされた状態になります(もちろん32bit floatの解像度は維持されてるので後で無劣化で再変更もできます)。何本も録る時は一応のズーム倍率を現場であわせておくと、後でちょびっと楽できるというわけです。よく考えられていますね。

サウンドマーカー機能とは録音開始時に「ピー」という音を0.5秒間入れる機能です。これは録音ファイルにも出力にも入るので、例えば本機からビデオカメラやPCなどに音を引き回しておけば、後で音声だけ本機で録った32bit floatの音声に刺し替えたいという場合の位置あわせが劇的に楽になります。これまたシンプルでアナログな工夫ですが強力です。

32bit floatのオーディオI/F機能は文字通りPCなどから32bit float対応のUSBデバイスとして認識させられるということです。PremiereやAuditionなどの32bit float対応ソフトに直接録音ができるというわけです。こちらは上位モデルのF6でも対応していない機能でファームウェアVer2.0から追加されました。F6でもアップデート来るかな?と期待してましたが、やはり32bit float x 6chとなると帯域の問題もあるのか今のところ気配はないみたいです。ので、現状PCに32bit floatをダイレクトに入れられるのは本機だけなんじゃないかと思います。

・インタビュー中にインデックスが打てるマーカー機能

やはり個人的に気になるのはマーカー機能です。録音中に「ここ!」ってタイミングでボタンを押すとWAVファイルにチャプターを打てます。残念ながら本体ボタンでは実行できず、別売りのBluetoothアダプタBTA-1を本機に挿し、スマホアプリZoom F3 Controlから操作する形になります(iOS/iPadOS/Android)。

録音中に「MARK」ボタンを押すと、01、02と連番付きでWAVファイル内にチャプターが埋め込まれます。Adobe Auditionで開くとこんな感じ(赤丸部分)。

Adobe Audition 2022で開いた様子

残念ながらPremiere Proでは認識されませんでした。Audacityもダメ。

ただ個人的にはAuditionからCSVでタイムコード一覧を書き出せたので動画眼に読み込ませることはできそうなので重畳。左の「マーカー」パネルで全マーカーを選択し、「ファイル」->「書き出し」->「選択したマーカーをCSVに変換…」でこんな感じのCSVにエクスポートできました。

Name Start Duration Time Format Type Description
01 0:07.991 0:00.000 decimal Cue
02 0:30.940 0:00.000 decimal Cue
03 1:12.283 0:00.000 decimal Cue
04 1:36.552 0:00.000 decimal Cue

F3で録り、ビデオカメラやOBS Studioで録った映像と合成、書き出したCSVを動画眼に食わせれば、UT/インタビュー動画の頭出しインデックスとして簡単に利用できそう。動画眼のインポート形式にこのCSVファイルも加えたいと思います。

ちょっと気になるのは、アプリ上の「MARK」ボタン(右下)が小さい点、そして録画(停止)ボタンと近い点。MARKするつもりでうっかり録音止めてしまったら大変です。残念ながらHOLD状態にするとMARKも打てない模様。ひたすらMARKだけ打てるようボタンを大きくしたレイアウトが選べたらなーと思います。

スマホアプリZOOM F3 Controller

・電池の話

本機は単三電池x2本、またはUSB給電(5V/1A)で駆動します。F6のようにSONYのビデオカメラ用バッテリーはつきません。

電池駆動時間は外部マイクにファンタム給電するかどうかで大きくかわるようです。48KHz/32bit float録音で、

ヘッドフォン無し
ファンタム給電OFF
ヘッドフォン有り
ファンタム給電ON
アルカリ乾電池8時間2時間
ニッケル水素蓄電池8.5時間3時間
リチウム乾電池18時間7.5時間
公式仕様より

となっています。2段目のがいわゆるeneloop的な充電池です。3段目のリチウム乾電池は見た目は同じですが内部の原理が別もので軽くて長時間保ち、ちょっとお高い乾電池になります。

ヘッドフォンもファンタム(マイク)給電もなければアルカリ電池で余裕ですが、それらを使用した場合で2〜3時間となるとちょっとしたイベントでは微妙。終日電池のことを忘れたい、と思うと、単三型のリチウム乾電池を使っておくのが無難そうですね。軽いし、最近ではそこまで高くもないので。ちなみにZOOMのレコーダーは電池種別毎に細かな制御をしているのか、単に残量表示を正確に出すためかわかりませんが、設定でどの種別の乾電池を使うか選ぶようになっています。違う種類の電池に替えた場合は忘れずに設定もあわせましょう。

もしくは室内使用ならUSB給電が無難でしょう。5V/1Aなのでかなり初期のスマホ充電器やモバイルバッテリーでも足りる計算です。端子はUSB-Cです。

■まとめ

一般的なICレコーダー並の簡単操作で、現場で細かいレベル調整をせずとも音割れ、小さすぎ問題が起きず、マーカーで後から聞き直しを効率化できるという、UT/インタビュー現場でも活躍しそうなZOOM F3を入手しました(ちなみにオンライン会議のZoomとは縁もゆかりもない音響メーカーで、何ならこちらの方が老舗です。混同する人がいて困り果てているようなのでしっかり識別してあげてください)。

強いて言えば、元々普通のICレコーダーで済ましているような現場ではXLR接続の外部マイクを運用するのはやや壁が高いかも知れません。でもまぁ感染症対策もまだまだ続く現場ではマスク、アクリルパーティション、空調、窓開けなど音声収録の阻害要因が山盛りです。録画録音品質をランクアップしたいという方はそこも含めて検討の価値はあるんじゃないでしょうか。

ブラウザ上でチャプター打ちができる動画眼マーカーを公開しました

当サイトでは、UTやインタビューの動画ファイルにチャプター(インデックス)を打って見返しを効率化する動画眼というツールを公開しています。念願のMac版もリリースできてだいぶ仕上がってきてる気がしますが、あくまで動画ファイルに対してチャプターを打っていくツールなので、UTやインタビューの実査中にリアルタイムでチャプターを打つということはできません。以前は動画眼ノートという別アプリがあったのですが、こちらもずっとメンテしなおらず放置していました。

今回、動画眼ノートに準じるツールとして動画眼マーカーを新規に作って公開してみました。ブラウザ上で完結して動作するWebアプリにしたので、URLを開くだけですぐ使えます。ちょっと見学者にチャプター打ちだけお願いしよう、なんて時に使いやすくなったんじゃないかと。

つまり、なにかしらの録画ツールでUT/インタビューを記録する傍ら、こちらのツール上でタスクや話題の区切りや「今重要なこと言ったな!」って時にボタンをポチポチ押しといてもらって、あとで保存ファイルを録画した動画ファイルを動画眼3で開いてもらうと、すぐに頭出し可能な状態で見返せる、という感じです。

ちょっとカラーリングがファンシーなのは、CSSグリッドのデザイン作業をしやすくする為だったんですが、見慣れてしまったのと、ヘルプでも「ピンクのエリアの○○ボタンが〜」とか書いたらわかりやすいなとか思って一旦そのままで。

今んとこスマホで動くもののテキストファイル保存ができないので微妙。スマホでチャプター打てると便利だと思うので、追々方法を考えていきたいと思います。

また動画眼ノートの時代やDVD/HDDレコーダーやDVカメラといった録画デバイス前提だったので、タイミング合わせてタイムカウンターを同期させるしかなかったですが、令和時代はOBS StudioやATEM MINIといったソフト/機材を使うケースも多いと思うので、これらと自動同期できるような仕組みは優先的に取り組んでいきたい所存です(どちらもWeb APIがあるので技術的には可能はなず)。

ご意見、ご要望などあればお寄せいただければと思います。

動画眼3のアップデート 2022年4月

2021年末に公開した動画眼3をちょこっとアップデートしました。

コードサインができたら正式に3.0にしようかなと思い2.9.9としてましたがまだWindowsで実現できてないので2.9.10とします(笑)。なんかよくよく調べても安い証明書でコードサインしたところでWindows上でのセキュリティ警告の出方はほとんどかわらないっぽいのと、現状での反響をみるとデジタル証明書の費用が見合わない気がして…

Mac版は後述の必要性があってデジタル署名してみました。MacとWindowsで別個に年1万円くらいするのが地味に痛いです。なんせ無料配布のソフトなのでご勘弁ください。未署名だと会社のPCにインストールできないよとか具体的なデメリットをご連絡いただければモチベーションになるかも知れません。

ともあれ変更内容と修正内容について説明していきます。

■新機能

SRT形式の字幕ファイルのインポートに対応

SRT形式とは字幕の形式の1つで、実は動画眼2ではこの形式の読み込みに対応していました。Premiere Proが音声テキスト書き起こしにベータ対応した時点で実装したんですが、その後、話者識別フラグ(「話者 1」「話者 2」)が書き出されるテキスト形式を使った方が便利だと気付いて動画眼3ではそちらを使う用にし、SRT形式でのインポートはつけていませんでした。

しかし先日試したNottaというクラウド書き起こしサービスでもSRT形式出力が可能で、より様々な書き起こし手段への対応という観点で復活させた形です。

使い方はPremiere Proテキストの追加読み込みと同じで、「ファイル」メニューの「ログを追加する(インポート)」を開きます(今回「インポート」という文言を足してみました)。「ファイルを開く」ダイアログが開くの下部のプルダウンメニューでSRT形式を選択します。Windows版なら最初から形式選択プルダウンメニューが見えていますが、macOSの場合は左下の「オプション」を押さないと出て来ないのでご注意ください。

macOSでのダイアログ例

SRT形式には話者識別の情報が含まれないので、インポート時点ではすべて話者コード0になります。

自動スクロールの抑制チェックボックスを追加

動画眼3では動画の再生に伴ってメモ一覧が連動してスクロールします。ただ手動でメモ一覧をスクロールした際に、強制的に元の再生位置に戻るのがフラストレーションに感じることもありました。

そこで今バージョンでは自動スクロールをON/OFFするチェックボックスをつけてみました。設定は保存されます。

  • 手動スクロールしたら自動スクロールが解除される
  • 再生地点を移動したらまた自動スクロールが再開される

みたいな制御も検討していますが、どういう形が便利か詰め切れてないので、一旦任意でON/OFFという形にしてみました。ご意見いただければ幸いです。

ちなみに従来でもメモ内容を編集している時は自動スクロールは抑止されていました。

動画編集ソフトライクなJ/K/Lショートカットに対応

Premiere ProやDaVinci Resolve、frame.IOといった動画編集ソフトで一般的なJ/K/Lキーを使った再生制御ショートカットを実装してみました。再生速度をシームレスに加減速しながら視聴するためのシャトルダイヤル的な操作方法です。

  • Lキー:押す度に加速。停止中に押すと1倍速再生。
  • Kキー:停止キー(等倍再生に戻る)。停止中に押すと1倍速再生。
  • Jキー:押す度に減速。停止中に押すと0.75倍速再生。

文で読んでもイメージしづらいかもですが、指3本を横並びのJ/K/Lキーに置いて下記操作をすると幸せになれるかも知れません。

ちなみに動画再生ソフトではJキーで1xから更に減速していくとスローではなく逆方向再生に切り替わります。しかし動画眼3が使用するChromeブラウザのVideoコンポーネントが逆方向再生に対応しておらず、苦肉の策としてスローとなるようにしてみました。必要かどうかは微妙です。

またPremiere ProではKキーは常に停止。frame.IOでは停止からの再生もできるという違いがありました。わかってれば後者の方が便利かなと思いそちらに倣いました。

また各種テキストボックスにフォーカスがある時は聞きません(文字入力になる)。

■不具合修正

ログのインポート後に動作が不安定になるのを修正

別ファイルから追加読み込みした後に件数が多いと重くなってしまう不具合がありました。動作を最適化したのでPremiere Proからの書き出しファイルなど行数の多いデータでも瞬時に終わるようになったかと思います。

Premiere Proの書き起こしデータを読み込む際、話者名を標準の「話者 1」などから変更してあるケースに対応

Premiere Proの書き起こしデータ(テキスト形式)は標準で「話者 1」のようなフラグをもっています。従来この数字の部分を識別して動画眼3上での話者コード(色分け)情報に置き換えていました。しかしこれをPremiere側で事前に変更してしまうと正常に読み込めずクラッシュしてしまうバグをもっていました。

今回、もし数字を拾えなかった場合は一律で0を割り当て、正常にデータを最後まで読み込めるように修正しました。

M1 (Appleシリコン)用バイナリが実行できない問題の修正

macOS用として、M1 (Appleシリコン)搭載機用とIntel搭載機にわけてインストーラーを配布していましたが、前者が「壊れている」といったエラーになり使えない状態でした。現行macOSの仕様で、dmgファイルをローカルで生成してそこからインストールする分には動くのですが、一度サーバーにアップして、ダウンロードしたものを使うとセキュリティでひっかかるという仕様のようです。しかもM1のみ。ので、自分の環境では気付きませんでした。

今回コードサイン(デジタル署名)によって実行可能になったんじゃないかと思います。

言ってもそんなに重いソフトではないのでたいした差はないかもですが、とりあえず初回起動時の最適化がない分、起動が速い気がするくらいです。

内部ライブラリの更新(セキュリティ向上)

直接はユーザが意識することはないですが、内部のChromeコンポーネントが100系となるElectron 18系に更新されました。最適化やセキュリティアップデートも含まれるので、特に新機能の追加がなくても定期的にやっておきたいところです。

動画眼3の公開ベータ版をリリースしました

2022年、あけましておめでとうございます。

秋ごろから取り組んでいた動画眼の新バージョン、動画眼3の公開ベータ版をリリースしました。なんとか2021年末を目標にしていましたが、やたら仕事が立て込んできて、仕事納め後に最終調整して大晦日も作業していたんですが、結局日をまたいでしまったので元旦リリースとしました。

残念ながら正式版としての公開は間に合いいませんでしたが、機能的にはほぼ完成していて、この後は配布方法の調整(ストアで配布するかとか)になりそうなので、まずは気軽に試せるインストーラー形式でも配布しておくという意味もあって一旦ベータ版として出すことにしてみました。是非お試しいただきフィードバックいただければと思います。

2022.1.7追記:

GitHubリポジトリも公開しました。改善要望やバグレポートなどはこちらのIssuesに直接投稿していただいてもOKです。

■ついにMacに対応!

2019年にフルスクラッチで再構築した動画眼2から2年半でまたもフルスクラッチした動画眼3の最大の見どころは、ついにmacOSに対応した点です。ElectronというWeb技術をベースにしたプログラミング環境に移植することで、ほとんど追加の手間なくWindows用とMac用に両対応させることができるようになりました。自分でもMacを使うことが増えてきていて、Windowsでしか使えない動画眼2をメンテナンスするよりも、ここで頑張ってまたゼロから作り直す手間をかけてもElectronベースに移行しておこうと決心したのです。現時点ではようやく動画眼2相当の機能を盛り込んだというレベルで、2->3になって新しくできるようになったことはそれほどないんですが…

両対応するにあたって、各OS標準のキーボードショートカットとのコンフリクトを避ける意図で、従来シリーズのショートカットから一部変更になったものがあります。特に再生、一時停止のCtrl + SpaceはmacOSではIMEの切り替えなどで使われるので、今回、前後スキップのCtrl + Q/Wと並んでCtrl + Eに変更してみました。個人的には左手小指をCtrlキーにおき、薬指、中指、人差し指をQ/W/Rキーにおいておくとなかなか効率が良いかなと思います。ただし左Ctrlキーが左Shiftキーの上にないWindowsの日本語キーボードユーザも多いと思うので、今後なんらかの手当(ユーザカスタマイズなど)を検討したいと思っています。

またElectronは内部的にはブラウザのChromeを丸まる抱えているような構造で、メディア再生周りもHTML5技術ベースになります。その影響で、対応可能な動画形式がかなり限定される結果となりました。ただデファクト中のデファクトであるmp4は問題なく扱えるので現実としてそう困ることもないかなという割り切りです。またブラウザベースでインストール不要の動画眼Liteを活用するための推奨動画フォーマットはmp4となるので、ご理解いただければと思います。

正式版までの目標

今後、動作検証も兼ねて自分でも実務で使い、細かい調整やバグ修正をしていきつつ、正式版では以下の点を目指しています。

  • コードサイニング証明書によるデジタル署名
  • 自動アップデート機能の実装

1つ目は主にインストール時の警告抑止のためです。Windowsだと結局ダウンロード実績がないとSmart Screen警告が出てはしまうのですが、一応身元表示が出るだけいいかなと。また最終的にMicrosoftストアやMac AppStoreなどでの配布も視野にいれており、そのためのマイルストーンとして念願のコードサイニング証明書取得にむけて手続きを進めているところです。

2つ目は、やはり当サイトを熱心にチェックいただいてる方ばかりではないと思うので、アプリを起動するたびに自動的に新バージョンをチェックしてお知らせするようにしたいと思います。実はこのためにもコードサインが必要だったりして、1つ目とセットで今後の課題としています。

■動画眼のその次

動画眼は基本的に動画ファイルに対してメモをチャプターとして打ち込んでいくツールで、UTやインタビューの事後分析のためのツールです。セッション中にリアルタイムで入力するために動画眼Noteがありますが、今後はこれを大幅に刷新していく予定です。単にセッション中の記録だけでなく、事前のタスク設計や事後のまとめ作業などUT実務のより広いプロセスをカバーする統合ツールを構想しています。これこそWin/Mac両対応にしたいと思っての、その練習として先に動画眼3に着手したようなものです。Electronにもだいぶ慣れてきたので、今年はいよいよこちらの新ツールにも取り組んでいきたいと思います。

今年もよろしくお願いいたします。