ffmpeg

ffmoegで動画の容量を削減する方法

ffmpegで動画の容量を削減する方法 ffmpeg
この記事は約3分で読めます。
書いた人
あいりゅー(irilyuu)

メインはApple製品(iPhone・iPad・Mac・Watch)と、SwiftとSwiftUIです。ポケカも好きです。
知人のグラノーラ販売を応援しています。詳しくはこちらで。

あいりゅー(irilyuu)をフォローする
スポンサーリンク

このページについて

このページではffmpegを使って動画の容量を削減する方法について解説しています。

スポンサーリンク

ffmpegのインストール

ffmpegのインストール・基本的な使い方についてを御覧ください。

スポンサーリンク

ffmpegで動画の容量を削減する

ffmpegを使用して動画の容量を削減する方法はいくつかありますが、よく使うものと知っておくと便利そうなものを紹介。

フレームレートを減らす

フレームレートとは「1秒間に何枚の画像を使うか」という認識でOKです。自分がよく使っているCleanShot Xの録画データはだいたい60で、地デジだと29.97とか。使用アプリによってはfpsという項目で30とか60が選べるようになっていると思います。

通常、1秒間に表示する枚数が多ければ多いほど動画がなめらかに見えます。逆に枚数が少ないとなめらかには見えなかったりするわけですが、使用枚数が多い=容量の増加に繋がります。そこで-rや-fpsを使ってフレームレートを削減するというのが最初の方法です。

元の動画movie.mp4がフレームレート60で、半分にしたい場合は以下のようにします。

ffmpeg -i movie.mp4 -r 30 出力.mp4

-r フレームレートを指定するオプションです。上記の場合はフレームレートを30にしてねという記述になります。出来上がったものをffprobeで確認すると、fpsの項目が30になっていると思います。当然ですが、元の動画が30fpsのものを30fpsにしてもさほど意味はありません。

動画の縦横サイズを変更する

動画を共有する場所によっては、縦横のサイズが大きすぎる場合もあります。Youtubeとかだと大きなサイズで投稿するのも可能ですが、TwitterなどのSNSではそこまで大きくする必要はありません。

元の動画(movie.mp4)は横1920の縦1080の一般的な1080pで、これを半分にするには以下。

ffmpeg -i movie.mp4 -vf scale=iw/2:-1 出力.mp4

-vfにiw/2を指定することにより、自動で半分の大きさを算出しつつ横も-1を使うことで自動でアスペクト比を維持してくれます。-vfに関する詳細は以下をどうぞ。

ffmpegで動画をリサイズする方法

-crfで動画の質を変更する

動画のフレームレートも変更せず、サイズも変更せずに容量をお手軽に削減するなら-crfオプションも有効です。これはConstant Rate Facterの略で、一定レート係数と訳されました。これを使うことにより動画全体の質を変更することで容量削減を刷ることが出来ます。

元の動画(movie.mp4)に対して共用範囲である28あたりを指定する場合は以下。

ffmpeg -i movie.mp4 -crf 28 出力.mp4

-crfは未指定だとデフォルトの23が使用され、0に近付くほど高品質に、最低数値の51に近付くほど低品質になります。そして0から17までは「見た目的にはそう変わらない」になり、28は妥協範囲になります。

スポンサーリンク

ffmpegの関連記事

その他のオプションや使い方などは以下をどうぞ。

ffmpeg使い方・オプション一覧

タイトルとURLをコピーしました