🎬 FFmpeg個人リファレンス

画面キャプチャ(静止画)

PCの画面そのものを静止画として撮ります。動画ファイルからコマを抜くサムネイル抽出とは別で、 OSごとの画面入力デバイスを使うのがポイントです。

まずデバイス番号を調べる(macOS)

macOSは画面・カメラに番号が割り振られます。最初に一覧で確認します。

# まず利用できる画面・カメラの番号を一覧表示
ffmpeg -f avfoundation -list_devices true -i ""

macOS(avfoundation)

# macOS: 画面(上で確認した番号。例では 3)を静止画1枚で保存
ffmpeg -f avfoundation -i "3" -frames:v 1 screen.png
注意
macOSは初回に「画面収録」の許可が必要です(システム設定 → プライバシーとセキュリティ → 画面収録 でターミナル等を許可)。デバイス番号は環境で変わるので必ず一覧で確認してください。

Windows(gdigrab)

# Windows: デスクトップ全体を1枚
ffmpeg -f gdigrab -i desktop -frames:v 1 screen.png

# Windows: 範囲を指定(左上(100,100)から1280x720)
ffmpeg -f gdigrab -offset_x 100 -offset_y 100 -video_size 1280x720 -i desktop -frames:v 1 region.png

Linux(x11grab)

# Linux: 画面全体を1枚
ffmpeg -f x11grab -i :0.0 -frames:v 1 screen.png

# Linux: 範囲を指定(1280x720・原点+100,+100)
ffmpeg -f x11grab -video_size 1280x720 -i :0.0+100,100 -frames:v 1 region.png

動きのある画面を撮るなら画面録画、操作の説明にはGIF化が便利です。