Raspberry Pi の画面をビデオキャプチャ -その1-


iMovie カメラからの取り込み
iMovie カメラからの取り込み

前置き

静止画であれば、Raspberry Pi の画面は raspi2png でスクリーンショットを撮ることができます。(スクリーンショットは、VideoCore の Dispmanx を使って実現しています。)

動画でキャプチャするには、スクリーンショットとエンコードを繰り返すことで可能となります。幸い Raspberry Pi には H.264 ハードウェアエンコーダが付いているため、エンコードはそれなりのパフォーマンスで処理ができます。(OpenMAX で実現)

しかし、スクリーンショットの方は予想以上に処理時間が長いため、キャプチャしながらエンコードしたのでは残念ながら滑らかな動画を作るのは難しいようです。(こちらのソフトはまたの機会に紹介します。)

そこで。

HDMI キャプチャ装置を使う

Raspberry Pi 自力では難しそうなので、安易ですがキャプチャ装置を導入することにします。

Raspberry Pi には HDMI 出力端子がありますので、HDMI 入力のハードウェアキャプチャ装置を使えば品質的にも問題はないでしょう。もちろんコンポジット端子もありますので、画質にこだわらなければより安価なコンポジット入力のキャプチャ装置を使うこともできます。

私の場合は Raspberry Pi の HDMI 端子にキャプチャ装置を繋ぎ、その先に PC を繋いで PC でムービーファイルの保存を行うという構成にしました。

HDMI キャプチャ装置には数年前に買った ADVC-HD50 (HDMI -> HDV 変換器)を使いました。ADVC-HD50 の出力端子は IEEE1394 です。最近は安価な HDMI キャプチャ装置も多数出ているので手が出しやすいのではないかと思います。

PC は Windows でも Mac でも何でもよかったのですが、Mac Book Pro を使いました。この Mac Book Pro には FireWire800 端子が付いており、IEEE1394(6ピン) -> FireWire800(9ピン) 変換ケーブルで繋ぐことができるので簡単です。

ひと昔前の Windows PC にも i.LINK 端子が付いているものが多くありましたが、IEEE13964(6ピン) -> i.LINK ケーブル(4ピン)で繋ぐことができます。デスクトップPC なら IEEE1394 PCI カードを挿せば繋ぐことができます。

もっとも最近のキャプチャ装置は USB 2.0/3.0 接続のものがほとんどなので、もっと簡単に PC に接続することができるでしょう。

 

さて、ADVC-HD50 の入力フォーマットは、以下のものをサポートしています。

  • 1920×1080/59.94i
  • 1280×720/59.94p
  • 1920×1080/50i
  • 1280×720/50p

なので、Raspberry Pi の HDMI 出力をこのどれかに合わせる必要があります。ここでは 1280×720/60p で出力することにします。

HDMI 出力設定は /boot/config.txt ファイルで行います。

1280×720/60p の設定

/boot/config.txt に上記の内容を追加して再起動すると 1280×720/60p で HDMI に出力されます。これで ADVC-HD50 を通して Mac でムービーキャプチャできるようになります。

後は Mac で iMovie を立ち上げて FireWire800 からの入力をキャプチャし、必要に応じて編集してムービーを書き出します。

iMovie 操作画面
iMovie 操作画面

Windows の場合は、iMovie の代わりに何らかのムービー編集ソフトを使うことで取り込みと編集ができるものと思います。

 

なお、HDMI キャプチャ装置は HDCP には対応していないので、著作権保護映像のキャプチャはできません。Raspberry Pi で著作権保護されたムービーを再生した時等はキャプチャできないものと思われます。ご注意ください。

 

HDMI キャプチャしたムービー

  • Raspberry Pi から取り込んで作成したムービーです。
  • 取り込みサイズは1280×720ですが、ムービーはリサイズして縮小しています。

 

関連記事: