VLC Media PlayerやLibvlcからキャプチャデバイスを扱う

VLC Media Playerから観てみましょう

LibvlcはVLC Media Player(以下VLC)からできることはほぼ出来ますが、VLCから扱うことで、仕組みが理解しやすいのです。さて今回はキャプチャーデバイスの件です。VLCを起動します。トップメニューの”メディア(M)”から、以下の”キャプチャーデバイスを開く”を選択します。

しばらく間があって、

上図のようにキャプチャーデバイスのタブからビデオデバイスとオーディオデバイスを選択します。

デフォルトというのは具体的には一番上のデバイスです。この場合は”Hikvision(Webcamera)”です。Integrated Cameraを選択します。オーディオデバイスを下図のように選択して、

ビデオサイズを横x縦で入れて、詳細オプションの表示にチェックを入れて、

オプションの編集から上図のように全行を選択してセーブしておくと、いいことがあるかもしれません。以下に示します。

:dshow-vdev=Integrated Camera :dshow-adev=内蔵マイク (Realtek High Definition Audio) :dshow-size=1920x1080 :dshow-aspect-ratio=1920\:1080 :dshow-chroma= :dshow-fps=0 :no-dshow-config :no-dshow-tuner :dshow-tuner-channel=0 :dshow-tuner-frequency=1 :dshow-tuner-country=0 :dshow-tuner-standard=0 :dshow-tuner-input=0 :dshow-video-input=-1 :dshow-video-output=-1 :dshow-audio-input=-1 :dshow-audio-output=-1 :dshow-amtuner-mode=1 :dshow-audio-channels=0 :dshow-audio-samplerate=0 :dshow-audio-bitspersample=0 :live-caching=300

デフォルト値を知らないようなので、つまり指定しないでいいものまで指定しているので、重要なものだけ拾い出します。

:dshow-vdev=Integrated Camera :dshow-adev=内蔵マイク (Realtek High Definition Audio) :dshow-size=1920x1080 :dshow-aspect-ratio=1920\:1080

こんな感じで、重要なのはdshow-vdev,dshow-adev,dshow-size,dshow-aspect-ratioくらいですかね?これはLibvlcからキャプチャーデバイスを使う時に使います。あ、MRLも重要です。

MRLは dshow://ですね。

ここで再生してみましょう。

VLCのi/fから設定して再生する方法ではなく、コマンドラインから直接VLC.exeをパラメーター付きで起動することも可能です。

VLCのショートカットを右クリックして出てくる上記のメニューから、”ファイルの場所を開く”を選択します。

筆者の環境だと上図のようになりますので、このディレクトリの”何もないところで”右クリックします。

ここからいつものように、”Open Git Bash here”を選択します。もちろんコマンドプロンプトを起ち上げて、cdしてもおけです。面倒なのでしませんが。

こんな風になればおけです。コマンドラインからどうMRLやその他のオプションを指定するかは、Forum等を検索するのが吉です。フォーラム以外だと下記のWikiも役に立つかもしれません。

vlc dshow:// :dshow-vdev="USB2.0 Camera" --sout file/avi:test.avi --run-time=5
docna@Lavie-note MINGW64 /c/Program Files/VideoLAN/VLC
$ ./vlc dshow:// :dshow-vdev="Integrated Camera" :dshow-adev=none
[0000026743e73d90] main libvlc: vlcはデフォルトのインターフェースで実行しています。インターフェースのない vlc を使用するには'cvlc'を使用してください。
[000002674515edd0] direct3d11 vout display error: SetThumbNailClip failed: 0x800706f4

なにかwarningが出てますね。その割にはcvlcを使えといいながら、それがあるのはLinux版だけのようです。で、

このように再生されました。ffmpegでもコマンドラインからdshowデバイスを再生できるはずです。再生主体ならばffplayの方が適切かもしれませんが。

コメント