概要
VLC Media Playerをconsoleから呼び出し、デスクトップ画面のキャプチャを再生します。
オプションを弄ることで様々なことができます。
注意事項: VLC Media Playerの画面キャプチャは負荷の高い動作(fpsを上げるなど)を行うとマウスカーソルがちらついたりや他のウィンドウの動作が重くなることがあります。気軽に録画するならOBS Studio、プログラムで自動録画したい場合はgdigrabなどを使ったほうが良いかもしれません。
デスクトップをキャプチャし表示する
デフォルトでは1fpsでキャプチャされます。
PS C:\Program Files\VideoLAN\VLC> .\vlc.exe screen://
fpsを変えるには--screen-fps
オプションを使います。
PS C:\Program Files\VideoLAN\VLC> .\vlc.exe screen:// --screen-fps 15
トリミング
--video-filter
を使うと様々な加工処理ができます。
画面の一部分のみキャプチャしたい場合はオプションを用いることでトリミングできます。以下は画面の左上を基準に、1920x1080ピクセルの領域(4Kディスプレイの左上4分の1)をキャプチャする例です。
PS C:\Program Files\VideoLAN\VLC> .\vlc.exe screen:// --screen-fps 15 "--video-filter=croppadd{cropright=1920,cropbottom=1080}"
他にもできることはあり、croppadd
にpaddtop=100
と指定すると映像上部に100pxの黒帯が表示されます。
音声をキャプチャする
音声(この例ではステレオミキサー)を再生する最も簡単な方法は以下の通りです。
PS C:\Program Files\VideoLAN\VLC> .\vlc.exe dshow:// :dshow-vdev="None" :dshow-adev="ステレオ ミキサー (Realtek(R) Audio)" :live-caching=300
デバイス名が分からない場合は、とりあえず普段通りGUIでVLCを起動し、メディア -> キャプチャーデバイスを開く
で出てくるダイアログで任意のオーディオデバイスを選択し、画面下部の詳細設定オプションの表示
にチェックを入れたのち、コピペすると楽です。
画面と音声を同時にキャプチャする
:input-slave
オプションを使用すると、スクリーンキャプチャと同時に音声をキャプチャできます。
PS C:\Program Files\VideoLAN\VLC> .\vlc.exe screen:// --screen-fps 15 :input-slave=dshow://:dshow-adev="ステレオ ミキサー (Realtek(R) Audio)" "--video-filter=croppadd{cropright=1920,cropbottom=1080}"
今後したいこと
今回はデスクトップを表示するだけでしたが、VLCにはコーデック変換・保存機能やネットワークストリーミング機能があるので、その辺りと連携してアプリケーション化するのも良さそうです(他のソフトウェアを使ったほうが高効率もしれませんが...)。