動画を圧縮する

GeminiやChatGPTやGensparkなどに、動画を入力して処理を行う場合

動画のサイズを小さくするのが有効です。

場合によっては、音声を外したり。

圧縮するには、ffmpegが有効です

ChatGPT「動画の容量をffmpegを使って最小限の大きさにするには」

ffmpegで動画の容量を最小限にするための実践的な最適解だけをまとめます。


結論(まずこれ)

H.265(HEVC)+CRF指定+音声ビットレート削減
これが「画質を保ったまま最小化」する王道です。


最小容量・高圧縮(時間かかってOK)

ポイント

  • libx265:H.265(H.264より30〜50%小さくなる)
  • crf 28:ほぼ実用最低ライン(27〜30で調整)
  • preset slow:時間と引き換えに圧縮率最大
  • 音声 64k:会話用途なら十分
  • faststart:Web配信用(容量は変わらない)

さらに小さくしたい場合(見た目より容量優先)

  • 解像度を 1280幅 に落とす → 劇的にサイズ減少
  • crf 30:ギリギリ許容ライン

GPU(NVENC)で速く・そこそこ小さく

※ NVIDIA GPUありの場合

  • 圧縮率:CPU x265 < NVENC(少し大きい)
  • 速度:NVENCが圧倒的に速い

音声が不要なら(最小)


容量に一番効く要素(重要度順)

  1. コーデック(H.265)
  2. CRF値
  3. 解像度
  4. フレームレート
  5. 音声ビットレート

目安

用途設定
Web/SNSH.265 / CRF 28 / 1280幅
アーカイブH.265 / CRF 26 / 原解像度
超最小H.265 / CRF 30 / 音声48k

この設定は Ubuntu / Windows / Mac 共通で使えます。
余計な推測や代替案は省き、最小化に直結する内容のみ記載しました。

GPUの活用も重要、NotePCでも活用できました。

ChatGPT「ideapad s540 Radeon vega GRAPHICS ADM で、Ubuntuで利用していますが、ffmpegを高速化できますか」

はい、できます。IdeaPad S540 の Radeon Vega(AMD) なら、Ubuntuでは VAAPI を使うのが基本です。NVENC(CUDA)はNVIDIA専用なので今回の環境では使えません。

1) まず、VAAPIが使えるか確認

これが存在すれば次へ。

h264_vaapihevc_vaapi が出ればOK。


2) AMD(Vega)で高速エンコード(VAAPI)

H.264(互換性重視・速い)

H.265(より小さく・速い)


3) AI分析用(音声なし・画質落として最小+高速)


重要(VAAPIの注意)

  • VAAPIは -crf が使えません(代わりに -qp を使う)
    • 目安:H.264 -qp 22〜28 / H.265 -qp 26〜34
  • フィルタは format=nv12,hwupload が基本

これでUbuntu上のAMD Vegaでもffmpegをかなり高速化できます。

無事、設定ができました。