PR 記事には広告が含まれています
スポンサーリンク
Translate

フルHD60fps対応の中華UVC HDMIキャプチャを購入して調べたらいろいろクセがあった

スポンサーリンク

どうもkohaniiです。

以前、デジタル顕微鏡のHDMI映像をパソコンで見るために購入したUSB HDMIキャプチャなんですが、

Macでも使用できるUVC(USB Video Class)デバイスなのはいいのですが、
HDMIキャプチャとして考えると30fpsまでとゲームなどにはあまり使えません。

他のHDMIキャプチャとしてはAVerMediaの製品を持っているのですが、ドライバーがWindowsの物しかなく、ほとんどの製品ではWindows用でドライバーが無いと使うことができません。

そうなるとUVCデバイスのUSB HDMIキャプチャを探すのですが、真のフルHD 60fpsがキャプチャできる物がまあ見つかりません。

試しにYouTubeで検索してみると、Linux向けのHDMIキャプチャの紹介動画が見つかりました。

タイトルに「Linux Streaming Doesn’t suck anymore
日本語にすると「Linuxストリーミングはもう嫌じゃない」と前までかなり大変だった様です。

動画で紹介されたデバイスを調べてみると、4K 60fpsと求めていたものよりかなりオーバースペックで、ほとんどの物の値段が高くて買えません。

スポンサーリンク

Wiistar USB3.0 HD CAPTURE

そしてさらに調べると最高にピッタシな商品が見つかりました。
この動画の方はデジタル顕微鏡をパソコンで録画するために購入したそうで、なんと分解して基板も公開しています。

Shenzhen Wii-Star Technologyという中国の映像機器を製造している会社の商品の様です。

概要欄にAliExpressの商品リンクがあります。

Wiistar本社のショップから販売されている正規品のようです。
ほとんどレビューも購入もされていませんが、商品に60fpsと書かれていないのが好感を持てます(そう書いた商品で実質30fpsな事例があります)

このくらいの値段なら試してみる価値がありそうなので、購入してみました。

スポンサーリンク

届いた

届きました。

届いた袋

かなり大きめの袋の中にまた袋が入っていました。

袋の中に入っていた袋

この袋の中に段ボール製の箱が入っていました。

箱

裏面にはMADE IN CHINAなど書いてあります。

箱の裏

スポンサーリンク

箱の中身

箱の中身

箱の中には本体、説明書、USB Type-C Type-Aケーブル、USB Type-C Type-A変換、謎の8センチCDが入っています。

本体は金属製のケース(アルミかな?)でかなりしっかりしてそうです。

ドライバ?が入っているのかわからないですが8センチCDがついてきました。怖いのでパソコンで見ていません。

本体です。
結構チープな感じがしますが、ケースは金属製でしっかりしています。

Wiistar USB3.0 HD CAPTURE

USB Type-Cとアナログ音声端子です。
フォーンジャックの左右に小さな穴があります。

Audio Type-Cポート

HDMI 入力、パススルー出力側です。
端子が金色なので金メッキでしょうか。

HDMIポート

スポンサーリンク

とりあえず分解

とりあえず分解してみます。

側面のネジを4個外せばパネルが外れて基板が取り出せます。

分解

基板です。
左のHDMIの片方に黒いスポンジが乗っていますがケース内で振動しない様にするための物の様です。
真ん中の放熱版が載っているチップがメンチップでしょうか。
放熱板はありますが空気を通す穴はありません。

基板

基板裏面です。

何個か表面実装のICが乗っています。
右上のダイオードのシルクはなんなのでしょうか、パターンでショートされています。
半田付けが荒いのか電解コンデンサの端子の近くが白くなっています。

基板の裏

おもて面の右下にWS_UHV30_V11 2020/02/24と書かれています。
かなり新しい設計の基板のようです。

WS_UHV30_V11 2020/02/24

乗っているチップを詳しくみてみましょう。

USBまわりと謎のチップV28

USBまわりです。
謎のチップV28が乗っています。これがUSBに映像を送るためのチップでしょうか。
USBからの配線が多いのでおそらくUSB 3.0を使っているのでしょう。
近くに24MHzの水晶発振子がのっています。

USB配線まわり

CS4344 Delta-Sigma DAC

その近くにあるチップのCS4344 デルタシグマDACです。
フォーンジャックに繋がっているのでフォーンジャックはHDMIの音声出力用です。

CS4344 DAC

謎のチップC22とIT6801FN HDMI Receiver

HDMIの近くにある謎のチップC22(おそらくパススルー用)とIT6801FNです。

IT6801FNはHDMI Receiverチップです。データシートは見つかりませんでした。
HDMIの映像をデコードしてパラレルのRGB24かYCbCr16に変換して出力します。
HDMIの音声にも対応していて192kHz 24bitまでの音声をI2Sで出力することができます。
IT6801FNの近くに27MHzの水晶発振子、C22の近くに24MHzの水晶発振子があります。

IT6801FNと放熱板が付いたチップが接続されているので、放熱板が付いたチップで映像の変換をしているのかもしれません。

MS8005 8051 Core MCU

IT6801FNの裏側にあるMS8005です。

このチップは1T 8051コアのマイコンです。
おそらくIT6801FNの設定を行うために使われています。

MS8005 1T 8051 Core MCU

24C02 EEPROM

その横にある24C02 2kbit EEPROMです。
おそらく設定を読み出すために使われています。

RXT 24C02 EEPROM

Pm25LQ512 フラッシュメモリ

謎のV28の裏側周辺にあるPm25LQ512です。

これは512kbitのシリアルフラッシュメモリです。
実はV28か放熱板の付いたチップはFPGAで、これがコンフィグレーションメモリだったりするんでしょうか。

Pm25LQ512B 512Kbit Flash

とまあ面白そうなチップはこんなもんでしょうか。
ケースに戻してネジをしめて元に戻しました。

分解した後組み立て直した

スポンサーリンク

OBSの設定

映像フォーマット

OBSで録画したいので映像キャプチャデバイスを追加すると"FHD Capture"として認識されます。

OBSの映像キャプチャデバイスウィンドウ

 

プリセット

プリセットで選べる解像度は、

1920x1080
1280x720
960x540
640x480
320x240
High

の6種類でした。(1080p 720p以外動作確認していません)

プリセットを使用しない場合

プリセットを使用せず解像度を使用した場合の対応解像度は

1920x1080
1280x1024
1440x900
1400x900
1280x960
1360x768
1280x720
1024x768
800x600
640x480

の10種類です。(1080p 720p以外動作確認していません)

対応フレームレートは

60
59.94
50
48
30
30

の6(5?)種類です。(60fps以外動作確認していません)
おそらく最後の30は29.97の間違いでしょうか。

その下にもさらに設定があります。

OBSの映像キャプチャデバイスウィンドウ続き

対応している入力フォーマットは

YUV2 - 422YpCbCr8_yuvs
NV12 - 420YpCbCr8BiPlanar

の2つです。
YUV2(YUV422)は横方向の色解像度が半分になり、
NV12(YUV420)では横方向と縦方向の色解像度が半分になります。

映像キャプチャデバイスの入力フォーマット

対応色空間は

Rec.601
Rec.709

の2つです。

Rec.601はSD画質用の色空間で、アナログテレビなどで使用されます。
Rec.709はHD画質用の色空間です。現在の映像などではこちらが標準です。

映像キャプチャデバイスの色空間

対応している映像のレンジは

一部
全部

の2種類です。
一部の場合は8bitのRGBの値が16 ~ 235の範囲に制限されます。主にテレビなどで使用されます。
全部の場合は8bitのRGBの値が0 ~ 255の全ての値が使用されます。主にパソコンのモニターなどで使用されます。

映像キャプチャデバイスの映像のレンジ

OBSのデフォルト設定ではかなりフレームを落としてしまって60fpsが出なかったので、詳細設定のカラーフォーマットをRGBにすることで60fpsが出ました。
これは使用しているパソコンのスペックの問題かもしれません。

OBSの詳細設定画面

デフォルトはNV12です。OBSの詳細設定の中のカラーフォーマット

試しにVLC media playerでキャプチャデバイスのメディア情報を見てみると、無圧縮32bit RGBで映像が出ています。

もちろんビットレートはすごいことになっています。(700Mbit/s 以上)
VLCではカクカクして見れた物ではありませんでした。

以前のHDMIキャプチャでも使用したQuick Cameraで滑らかにプレビューできました。

音声フォーマット

音声は映像とは別で音声入力キャプチャを使う必要があります。
接続するとオーディオデバイスとして"FHD Capture"として認識します。
サンプリングレートに関わらず、ステレオの16bitです。
画像下のCAPTUREはMacBookのHDMI音声出力の物で関係ありません。

対応サンプリングレートは

8000 Hz
11025 Hz
16000 Hz
22050 Hz
24000 Hz
32000 Hz
44100 Hz
48000 Hz

の8種類です。

音声入力キャプチャの設定はありません。

スポンサーリンク

使ってみる

試しにNintendo Switchのドックから出るHDMIを録画してみます。

このデバイスをMacBook Proに接続して、SwitchのHDMIをINに接続、ラグのない画面を見たいのでOUTから出るHDMIを液晶モニタに接続しました。

プリセットの1920x1080 60fpsでSwitchのマリオカート8デラックスのCPU戦を録画してみました。
基本的にアクションゲームはド下手なのでゲームの内容は気にしないでください。

細かい問題点は後で書きますが、ちゃんと1080p 60fpsが出ています。

ちなみに使用中は本体がかなり暖かくなります。

スポンサーリンク

クセ

ただ、かなりのクセがありました。

音と映像がずれる

この問題はショップのFAQに書いてありますが、映像と音声は時間がずれています。

映像と音声のずれを確認するための動画を作ってみました。
1秒ごとにメトロノームの音が鳴り、映像にはタイムコードが表示されます。
(音が出ます)

これをパソコンに映しHDMIキャプチャーをOBSで録画して編集ソフトで確認すると、音声が8フレーム進んでいます。
60fpsなので0.1333333...秒音声が進んで映像との差があります。

編集ソフトで確認した音声映像のラグ

これは映像の処理に時間がかかっていて、音声の処理が早いことで起こることなので、仕方ありません。
音声を遅らすことで対処できます。

たまにフレームを落とす

確かに60fpsは出ていますが、たまにフレームを落とすようで少し固まります。

動画を載せておきます。
たまにカクッとなるのが分かると思います。

色がおかしい

Nintendo Switchのキャプチャー機能で撮った画像と、HDMIでキャプチャーした画像を比べてみると、かなり色がおかしいことがわかると思います。

本体のスクリーンショットとキャプチャの比較

黒沈みが見られるため、Switchの設定でRGBレンジはリミテッドレンジにしています。

Nintendo SwitchのRGBレンジ

MacBookのHDMIに接続して、カラーバー画像を表示してみると確かに色がおかしいです。

カラーバー画面を録画した色がおかしい画像

参考用に元画像がこちらです。

使用したディスプレイ設定はこちらです。

macOSのディスプレイ設定

試しにRGB 64x64x64のLUTを作ってみました。
8x8x8からのトリリニア補間なので、完全には正確ではありません。
左が正常で、右がこのキャプチャーです。

作成されたLUT(右)

まず、全体的に暗くてガンマがかかっています。
そしてあまりにも赤が出ていません。というか、緑だけ明るめです。

OBSのLUTで使用するため、その逆補正用のLUTも作ってみました。
かなり明るくするフィルターになりました。
PNGはここからダウンロードできるので、ご自由にお使いください。

このLUTを適用したものと比較してみます。

↓がLUT前で 色がおかしい画面

↓がLUT適用後です。

色がおかしいのをLUTで直した画面

ちなみにこの記事のアイキャッチ画像もこのデバイスで録画したものです。

アイキャッチ画像

たまに色がおかしくなる

同じ画面を表示し続けるとわかりますが、たまに色がパッと変わっています。

gifアニメにして比較してみます。

たまに起こる色がおかしい瞬間のgif

原因は分かりません。接触不良などのハズレを買ったのかもしれません。

画質がガビガビ

これが一番の問題です。

パソコンのHDMI出力を録画してズームしたものです。

画面の拡大表示

上の画像はPNGで保存して最近隣補間で拡大したものです。

無圧縮YUVで映像が送られているのにも関わらず、jpegのモスキートノイズが乗っています。

そして謎のシャープフィルターがかかっていてしかもボケています。
ボケていると言っても、内部の解像度が低いわけではない感じです。

マリオカートの画面から切り取った画像のRec. 709のY(輝度信号)です。
ブロックノイズをシャープが目立ちます。

キャプチャを拡大した輝度信号

そしてRec. 709のB-Y信号(Cb、Pbとも言う色差の1つ)です。
上に比べてモザイク柄になっていますので色信号は間引かれています。
なぜか横方向に縞模様が入っています。

キャプチャを拡大したB-Y信号

細かい模様があると色が滲む

先ほどの画像にも実はありましたが、特にkrあたりに色がついています。

画面の拡大表示

本来は白い文字なので白くなるはずですが、オレンジ色や水色に滲んでいます。

これはパソコンのサブピクセルレンダリングなどで色がついているのではなく、HDMIキャプチャーのよって色がついています。

試しに1ピクセルごとのチェッカーボード画像を録画してみました。
こんな画像です。(拡大しないと細かすぎて見えません)

使用したチェッカーボード画像

表示してみるとあらびっくり、緑か紫一色に染まってしまうではありませんか。
激しい点滅が起こりますので苦手な方は動画を再生しないでください。

ウィンドウを移動して模様の白と黒が入れ替わると紫か緑に変化するようです。

原因はわかりませんが、これは避けられなそうです。

HDMI接続時にノイズ画面が映る

これは特に問題はありませんが、MacBookへHDMIを接続するときにノイズ画面が映ります。
その瞬間を録画してみました。ホワイトノイズの様な映像が映った後、規則性のあるノイズが映り、正常な画面が表示されます。

録画に支障はありませんが、壊れたんじゃないかと少し心配になります。

 

かなりクセのあるデバイスですが、うまく使えば普通に使用できそうです。

おわり