LoginSignup
8
10

More than 5 years have passed since last update.

Windowsで映像入力デバイスからの映像をffmpegでエンコードする

Posted at

ffmpegを使うとビデオキャプチャやWebカメラ等の映像入力デバイスからの映像データをキャプチャしてエンコードしてファイルに保存することができます。

まず以下のコマンドを実行して利用可能な映像入力デバイスを表示します。

ffmpeg -list_devices true -f dshow -i dummy

こんな感じの出力が出ます。

[dshow @ 000001d34aa46c20] DirectShow video devices (some may be both video and audio devices)
[dshow @ 000001d34aa46c20]  "Microsoft Camera Front"
[dshow @ 000001d34aa46c20]     Alternative name "@device_pnp_\\?\display#int3470#4&1aaa636&0&uid13424#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bf89b5a5-61f7-4127-a279-e187013d7caf}"
[dshow @ 000001d34aa46c20]  "Microsoft Camera Rear"
[dshow @ 000001d34aa46c20]     Alternative name "@device_pnp_\\?\display#int3470#4&1aaa636&0&uid13424#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{7c9bbcea-909c-47b3-8cf9-2aa8237e1d4b}"
[dshow @ 000001d34aa46c20] DirectShow audio devices
[dshow @ 000001d34aa46c20]  "Microphone Array (Realtek High Definition Audio(SST))"
[dshow @ 000001d34aa46c20]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{FC6BC544-7D5E-46AD-A8A3-C066F5DA799D}"
dummy: Immediate exit requested

DirectShow video devicesの下に"Microsoft Camera Front", "Microsoft Camera Rear"のようなものがいますね。この名前が入力ソースとして指定可能なデバイス名です。
これらのデバイスから映像を取り込んでエンコードするには、以下のようなコマンドを入力します。

ffmpeg -f dshow -i video="Microsoft Camera Front" output.mkv

video="○○"の部分にデバイス名を入れます。コマンドが実行できると映像がoutput.mkvというファイル名に保存されます。

このコマンドでは実行してから永遠にキャプチャを続けるので、手動でキャプチャを止めなければいけません(さもないとディスクが満杯になります)。キャプチャを止めるにはQキーを押します。

8
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
10