ちょっと思うところあって、HDMI を USB Video Class (UVC) に変換するキャプチャデバイスを買ってみました。簡単にいうと HDMI 出力をウェブカメラとして扱うことができるというものです。

この手のものは基本的に結構高価なのですが、この製品は AliExpress で $108 とかなり安い (というか 1080p USB 3.0 対応だと市場最安ぐらい?) です。

軽く使ってみる

PS3

とりあえず PS3 の HDMI 出力をこのデバイス経由で MacBook に入力して QuickTime Player で見てみました。

QuickTimer Player 側で画質を「最高」に設定すると 1080p で綺麗な画像が出てきます。また、音声もちゃんとキャプチャできていました。

この状態でゲームを起動したりしてみましたが、繋いだ状態でプレイできる感じではありません。後述しますが遅延があります。まぁその手の用途には使えないと思います。

デジカメの HDMI 出力

こんな感じです。カメラ側で 1080p 出力ができないのでしょぼいです。ビデオカメラならできると思うんですが、持ってないので……

実装

中をちょっと見てみましたが、数個の IC と FPGA っぽいものがありました。FPGA っぽいものにヒートシンクがついてました。大きいところの型番を検索してみました。

  • Analog Devices ADV7611 (HDMI レシーバ)
  • Micron D9LHT (64MB DDR2らしい/商品説明より)
  • Cypress CYUSB3014-BZXI (USB3.0 コントローラ)

ヒートシンクで FPGA の型番がわかりませんが、個人で普通に作ってケース込みで$100に収めるのは不可能に近いので、割とお得な気はします。

ところで4本のビスを外せば開けられるのですが、止めているビスがおそろしく柔らかい素材で、サイズぴったりのドライバで回しても1本は折れて、もう1本はネジ山がなめてしまいました。

発熱

結構発熱します。ケースはアルミなので、全体的に暖かくなります。15分ぐらい使うと40度ぐらいかな。だいたいこれぐらいの温度で安定してます。

遅延

ちょっとややこしいですが、キャプチャしている Mac 自身のディスプレイの1つとしてこのデバイスに出力して計測してみます。UVC 経由で Mac デスクトップが拡張されている状態です。Mac 側からの出力解像度は 1080p にしています。

requestAnimationFrame(function me(){document.body.textContent=new Date().getTime();requestAnimationFrame(me)});

するウィンドウを2つ作って、1つは DisplayPort から表示 (リファレンス)、もう1つはこのデバイスを経由して HDMI -> USB 3.0 -> QuickTime Player とした状態です。この2つのウィンドウを近付けてスクリーンショットを記録したのは以下の画像です。

左が通常 (DisplayPort)、右が UVC を QuickTime Player で見ているものです。

これで確かめてみたところ、約100msの遅延がありました。QuickTime Player や USB での処理遅延も含まれるので純粋に製品の遅延とは言えませんが、だいたいこんなもんなようです。これはマウスポインタとかでも結構気になるレベルです。

  1. トップ
  2. tech
  3. 中華製 HDMI -> USB 3.0 UVC キャプチャデバイス