Skip to content

Instantly share code, notes, and snippets.

@kkAyataka
Last active February 19, 2023 00:55
Show Gist options
  • Select an option

  • Save kkAyataka/375b9338d41196fa4bacf7fa5cd493ba to your computer and use it in GitHub Desktop.

Select an option

Save kkAyataka/375b9338d41196fa4bacf7fa5cd493ba to your computer and use it in GitHub Desktop.

Study FFmpeg

Contents

macOSでデスクトップを録画する

https://trac.ffmpeg.org/wiki/Capture/Desktop

録画対象のデバイスを列挙する。

$ ffmpeg -f avfoundation -list_devices true -i ""
...
[AVFoundation indev @ 0x7fe20a704e00] AVFoundation video devices:
[AVFoundation indev @ 0x7fe20a704e00] [0] FaceTime HD Camera
[AVFoundation indev @ 0x7fe20a704e00] [1] Capture screen 0
[AVFoundation indev @ 0x7fe20a704e00] AVFoundation audio devices:
[AVFoundation indev @ 0x7fe20a704e00] [0] MacBook Airのマイク

上記のように出た場合、入力インデックスを「1」とすることでデスクトップの録画が行える。

画像フォーマットは拡張子で指定できる。自動テストの録画であればwebmがファイルサイズが小さく取り回しやすい。

$ ffmpeg -y -f avfoundation -capture_cursor 1 -capture_mouse_clicks 1 -i "1" output.webm
  • -y: 同名ファイルがある場合自動で上書きする。通常は上書きするかユーザーに確認を求める
  • -capture_cursor 1: マウスカーソルをキャプチャする。AVFoundation用のオプション。
  • -capture_mouse_clicks 1: マウスくりっくをキャプチャする。AVFoundation用のオプション。

mp4でも録画できる。mp4の場合は-fps_modeの指定が必要となる。

$ ffmpeg -f avfoundation -capture_cursor 1 -capture_mouse_click 1 -i "1" -fps_mode vfr -r 30 output.mp4

1秒に1回画面キャプチャをして静止画で保存する

1秒に1回同じファイル名で静止画を保存する。

$ ffmpeg -f avfoundation -i "1" -vf fps=fps=1 -q:v 2 -update 1 output.jpeg

リンク

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment