HDMIキャプチャ FEBON238Hを使ってRaspberry Pi 3のリブート画面を録画してみました

HDMIキャプチャ FEBON238Hの使い方を学習中です。どうやって使うのがいいのだろう。

Raspberry Pi 3を使い始めてからずっと、画面をキャプチャしたいと思っていました。HDMIキャプチャを買ったからこれでできるだろうと試しています。

FEBON238HはHDMIの映像をUSB Video Class(UVC)としてコンピュータに取り込めるHDMIグラバーです。

UVCって何?
USBで映像を送る規格です。Windows/Linux/Androidなどは標準でドライバが入っているのでつなぐだけで使えるのです。
Windows 10やAndroidでは標準のカメラアプリのカメラ切り替えで(アプリにもよりますが)映像を表示・録画できるでしょう。

Linuxでもつなぐだけでカメラの映像を扱う事ができます。Video4Linux2に対応したプログラム、例えばffmpegやVLCなど、が使えます。

特別なドライバが必要なくUSBに挿せば使えるのですが、実際にソフトウエア・アプリから使うにはどうすればいいのか?本当に使えるのか?はソフトウエア・アプリに依存する部分もあります。
今はどうやったら使えるかいろいろ確かめています。
Windows 10のカメラアプリで録画できる事は確認しました。

今回はRaspberry Pi 3のブート画面を録画してみます。
Raspberry Pi 3のHDMI端子につないで録画すれば良いのですが、ブート画面の録画には少し問題があります。Raspberry Pi 3の電源が入っていない、あるいはHDMI出力の初期化が完了していない時にはHDMIキャプチャをしようがありません。

HDMIの映像を送り出す方、この場合はRaspberry Pi 3、は送る映像の解像度をモニタにたずねます。モニタから表示できる解像度を教えてもらいHDMIの出力解像度を決定します。
FEBON238Hは映像を受ける方なのでモニタに相当します。とても優秀で多くの解像度に対応しています。

この解像度情報のやり取りはキャプチャを始めた時点で行われるようです。HDMIケーブルをつないだだけでは情報が送られないようです。
つまりRaspberry Pi 3の電源を入れた時にはキャプチャを始めていないとなりません。でないとRaspberry Pi 3はHDMIモニタが接続されていないと思いHDMI出力をしません。

このため、キャプチャ開始してからRaspberry Pi 3のリブートをし、その様子を録画する事にしました。FEBON238Hはキャプチャが始まるとHDMI入力が無くなっても解像度情報を維持してHDMIの入力を待ち続けています。
ですが時々解像度が変わってしまう事があります。1080pのはずが720pになったり。Raspberry Pi 3の出力解像度を1080p固定にして回避しました。

これでWindows 10標準のカメラアプリで録画ができるはずです。ところが、カメラアプリ側の動作が原因で録画がうまくいかないようでした。
毎回症状が微妙に変わるのですが、録画を開始してからHDMI信号が無くなると録画がうまくできないようです。録画ファイルにはHDMI信号が再び入力された後からの映像しか保存されません。映像が壊れていると認識して捨ててしまっているようです。でもたまに録画できるんです・・・。
まぁ、HDMI信号が無ければ映像を構築しようがありませんね。勝手に黒画面でも入れてくれないかな?

さて困った、代わりのソフトを探してみます。最近いじりはじめたOBS Studioを使ってみます。OBS Studioはライブ配信用のオープンソースソフトウエアです。いろいろな画像、映像を自由に配置・移動しながらライブ配信を行う事ができます。もちろん録画もできます。リアルタイムの映像処理が得意です。映像バッファが良くできていそうなのでHDMI信号が無くなっても録画してくれると期待します。

映像キャプチャデバイスでFEBON238Hの映像をキャンバスいっぱいに表示します。録画のエンコード条件を決めて録画を開始します。
Raspberry Pi 3とSSH接続してリブートコマンドを送ります。
さて・・・

無事に録画できました。

コメント

最近のコメント

Threaded Recent Comments will be here.