FFMPEGで動画のコーデックやビットレートを確認する

本日はFFMPEGを用いて、動画のコーデックやビットレートを確認する方法について紹介します。

FFMPEGの実行バイナリファイルの入手方法については、以下の記事をご参照ください。また、今回の記事で使用する「ffprobe.exe」も以下の記事の方法で入手が可能です。

FFMPEGは画像・動画や音声の記録・変換などが可能なフリーソフトで、コマンドラインから使用することができます。 グラフィカルなイ...

コーデック

コーデックとは、データの圧縮と復元を行うハードウェアやソフトウェアを示すワードですが、厳密ではないかもしれませんが、ざっくり言うと「圧縮方式」のことです。

一般的に、無圧縮の動画というのは非常にデータサイズが大きく、例えばYoutubeで見る動画や、スマホで撮影した動画は、大半のケースで何らかの圧縮方式で動画が圧縮されています。

圧縮方式は日々進歩を続けており、近年広く使われているのは「H.264」という圧縮方式です。その後、2013年にはこの後継の「H.265」が、2020年にはさらに後継の「H.266/Versatile Video Coding」がMPEGという標準化グループで標準化されていますし、最近はGoogle等が積極的に普及を進めている「AV1」などの新たな圧縮方式もあります。

ポイントは、動画の圧縮方式というものはさまざまあり、例えばパソコンやスマホで動画を再生したときに、我々はその動画が何の方式かを意識してはいませんが、とにかく何らかの方式で圧縮されているということです。

新しい圧縮方式は、一般に高性能です。高性能とは、少ないデータサイズで、綺麗な動画を保存できるということです。

では、新しい圧縮方式を常に使えばいいか? というと、状況はそう簡単ではありません。圧縮された動画を視聴するためには、保存されている圧縮された動画を元に戻す「デコード」という処理が不可欠で、すなわちデコードの仕方を知らないと動画を見ることができません。

よって、最新過ぎる規格は、それをデコードするための環境がPCやスマホに用意されていないことが多く、その観点で少し古いのですが「H.264」や「H.265」あたりが現在広く使われています。

ビットレート

ビットレートとはBit Per Secondの略で、bpsとも表記しますが1秒間のデータ量のことです。

動画のビットレートには映像ビットレートと音声ビットレートの2種類があり、映像ビットレートと音声ビットレートを合わせた値が動画ファイルの総ビットレートとなりますが、一般に映像のデータ量が大きいので、データサイズの面で支配的なのは映像ビットレートです。

コーデックとビットレートは何が違うのでしょうか?

実は、圧縮方式が決定されても、それで一対一で最終的に圧縮されたデータサイズが決まるわけではありません。

例えば圧縮方式に「H.264」を選択した場合においても、データサイズが少なく画質が汚いH.264の動画も作れますし、データサイズが大きく画質が綺麗なH.264の動画も作れます。

この度合いを決めるのがビットレートです。

「圧縮方式(コーデック):H.264+ビットレート低め」で圧縮を施した場合、画質は汚いもののデータサイズが小さめなH.264動画になります。

コーデックの良し悪しとは、このデータサイズとビットレートのトレードオフ性に優れるものが良いコーデックとされます。

すなわち、ある一定の品質の動画を生成しようとしたときに、H.264だと20Mbps必要だが、H.265だと10Mbpsで済み、H.266だと5Mbpsで実現できるとすると、これはH.266が優れたコーデックと言えます(処理時間等の問題は度外視します)。

よって、コーデックとビットレートは全く別の指標です。まずはコーデックを選択し、その上で要求される品質を基にビットレートを決定して、動画を圧縮します。

FFMPEGで動画のコーデックとビットレートを確認する

ここから本題ですが、FFMPEGで入力動画のコーデックとビットレートを確認してみたいと思います。

方法1:ffmpeg.exeを用いた確認方法

エラーが出ますが、一番簡単な方法としては以下のコマンドで確認ができます。

「At least one output file must be specified」という、少なくとも1個は出力を指定するようにというエラーが出るので、想定された使い方ではありませんが、これでコーデックとビットレートを確認できます。

上記の例ではコーデックが「H.264」で、ビットレートが「12581 kb/s」であることがわかります。kはキロを表し、1000倍を示すので1秒あたり12581×1000ビットということになります。

方法2:ffprobe.exeを用いた確認方法

FFPROBEは、ffmpeg で表示される以上のことを調べる際に使うもので、FFMPEGに同梱で実行バイナリファイルが提供されています。

FFPROBEを使って確認する場合は、以下のコマンドで確認ができます。

個人的には、FFMPEG.EXEは手元にあるけれども、FFPROBE.EXEはダウンロードしてこないといけない場合は、方法1を使う方が簡単だと思います。

まとめ

FFMPEGを用いてコーデックとビットレートを確認する方法について紹介しました。

FFMPEGを用いて動画の圧縮等をしたい場合に、元のコーデックやビットレートがどれくらいなのかを知ることは非常に重要ですので、知りたい場合には紹介した方法で確認してみてください。

FFMPEGで実際にビットレートやコーデックを変更し、データサイズを減らす方法については以下の記事にまとめましたので、参考にしてみてください。

本日はFFMPEGを用いて、動画のビットレートを変更することで、動画のデータサイズを減らしてみましょう。 動画のデータサイズを変更す...
本日はFFMPEGを用いて、動画の圧縮方式(符号化方式)を変更することで、動画のデータサイズを減らしてみましょう。 動画のデータサイ...
スポンサーリンク

シェアする

フォローする