Dropbox

HDZeroに限らずAvata2などにも応用可能な手順です。標準的なUSB接続の受信機以外からの映像をTinyViewPlusに認識してもらう方法についてのまとめです。

いきなり設定方法を書いていきます。後から説明を少しだけ書きます。

[ 接続 ]
HDZeroゴーグルにGUERMOK USB 3.0 HDMI to USB C オーディオ キャプチャ カード、4K 1080P60 キャプチャ デバイスを使用しPCに接続した。

[ カメラの名前を調べる ]
macOSの場合は「システム情報のカメラのセクションを見ます。(リンゴマーク->このマックについて->詳細情報->システムレポート)

Windows11の場合はデバイスマネージャーのカメラセクションを開きます。(スタートボタンを右クリックでデバイスマネージャー)

Mac, Winの双方にUSB2.0 PC CAMERAという名前があります。これがTinyViewPlusが既定値のままで認識するUSB接続の受信機です。Macで”USB3 Video”、Windows11では”USB2 Video”として認識されているのがHDZeroゴーグルの接続に使用したHDMIからUSBに変換するアダプターです。この名前をTinyViewPlusに知らせる必要があります。

[ 設定ファイルの編集 ]
設定ファイルはWindowsの場合は実行ファイルと同じフォルダー下のdata/camera/fpv.xmlです。MacOSの場合、Tiny View Plus.appを右クリックし、パッケージの内容を表示を実行します。その中のContents/Resources/data/camera/fpv.xmlです。
最初から入っているfpv.xmlはサンプルで、これが存在しなくてもTinyViewPlusは動作します(GV-USB2に相当するビデオキャプチャーを利用している場合を除き)。心置きなく弄ることができます。以下はオリジナルの内容です。

<camera> 
    <name>GV-USB2</name>
    <description>squeezed 16:9</description>
    <grab>
        <width>704</width>
        <height>480</height>
    </grab>
    <crop>
        <x>0</x>
        <y>0</y>
        <width>704</width>
        <height>480</height>
    </crop>
    <draw>
        <aspectRatio>16:9</aspectRatio>
    </draw>
</camera>

二行目の<name>GV-USB2</name>を先に調べたカメラの名前に書き換えるだけでTinyViewPlusでHDZeroの画面が表示できるようになります。余談ですが、ここをFaceTimeとするとMacBookのカメラがTinyViewPlusに表示されたりもします。
縦横比とか解像度を正しくしておく方が良いと思い、二つの設定ファイルを試してみました。ひとつめはゴーグルで見ているままに全ての情報を表示する設定です。
以下、私のMacOSでの設定例です。

<camera>
    <name>USB3 Video</name>
    <description>squeezed 16:9</description>
    <grab>
        <width>1920</width>
        <height>1080</height>
    </grab>
    <crop>
        <x>0</x>
        <y>0</y>
        <width>1920</width>
        <height>1080</height>
    </crop>
    <draw>
        <aspectRatio>16:9</aspectRatio>
    </draw>
</camera>

HDZeroを飛ばしている人の多くはカメラ設定を4:3にして飛ばしていると思います。この場合16:9の画面の中央部分にだけカメラ映像が表示されています。その部分だけを抜き出してTinyViewPlusに表示させることが出来ます。

<camera> 
    <name>USB3 Video</name>
    <description>4:3</description>
    <grab>
        <width>1920</width>
        <height>1080</height>
    </grab>
    <crop>
        <x>240</x>
        <y>0</y>
        <width>1440</width>
        <height>1080</height>
    </crop>
    <draw>
        <aspectRatio>4:3</aspectRatio>
    </draw>
</camera>

これで表示すると、

こんな感じです。私的にはこれがお勧めだと思います。
以上で設定の説明は終わりです。まだ実際に計測で使えるかどうかのテストは行っていません。

[ 補足説明 ]
fpv.xmlの説明文は見つからなかったのでソースコードを少し眺めてみました。

fpv.xmlを読み込んでいるのはloadCameraProfileFile()です。fpv.xmlのパス名はofApp.hで定義されています。ここで分かるのはfpv.xmlというのが唯一のカメラ設定ファイルで、また追加するカメラ名はひとつだけであるということです。同じカメラ名で複数のデバイスを扱うことは出来そうです。


実際の設定を行っているのはreloadCameras()です。”USB2.0 PC CAMERA”がハードコードされているのが分かります。また解像度や画面のクロップのロジックも読み取れます。この辺りを改造すれば複数のカメラ名を認識させることも出来そうです。

ゴーグルの出力をTinyViewPlusに送り込むのは実験的には問題ないですがケーブルの取り回しが大変で実用性はないと思います。実際のレースではHDZero Event VRXとか最近発売が始まったHDZero Monitorを使用することになると思います。どちらもAnalog VTXの映像も拾えるのでHDZero, Analog混合レースが簡単に可能になると思います。直接PCに接続できるわけではないので、やはりHDMIからPCに繋ぐためのアダプターは必要です。

Trackback

no comment untill now

Add your comment now