主にメモ

ただのメモ

FFmpeg一括変換

ダウンロード

ソース

※なでしこではShiftJISなファイル名のみ対応だそうなので、ダメそうな文字を含むファイル名のもはfile_name_error_list.txtへ書き込まれます。

※ちなみにアイコンはBing Image Createrに作ってもらいましたw。

※av1の動画をiPhoneで再生するには、要VLCPlayer、いまのところかな。

 

最近、動画ファイル用のストレージの空き容量がなくなってきたため3年前にH.265で変換した動画ファイルを再度変換してみようと思い試行錯誤してみました。以前試してみたAV1のコーデック「libaom-av1」は、物凄く時間が掛かる代物で実用的ではないと感じてAV1での変換を諦めていましたが、「libsvtav1」を試してみるとこれがlibaom-av1より、速いというかむしろH.265のコーデック「libx265」よりもかなり速い。(2.5倍くらいか・・・)ということで久しぶりに日本語プログラミング言語「なでしこ v1」でffmpegのフロントエンドを作ってみました。

 

そこで出来た動画を見比べてみても自分の目では遜色ないと思えるのですが数値で画質が数値で測れるVMAFスコアで検証してみました。(100が最高値、%の意味ではなくあくまでも品質評価の指標らしい、たぶん)

 

Blue-rayからH.264(libx264)で変換したsample.mp4(サイズ:1.61GB 長さ1:39:31) をffmpegで以下のコマンドでそれぞれ変換してます。(libsvtav1のqpは品質で小さいほど高画質となります。)


ffmpeg -i sample.mp4 -vcodec libx265 -c:a aac -ac 2 sample-h265converted.mp4

ffmpeg -i sample.mp4 -vcodec libsvtav1 qp=45 -c:a aac -ac 2 sample-av1converted.mp4

 

コーデック サイズ VMAFスコア
libx265 482 MB 94.347841
libsvtav1 qp=45 290 MB 91.215262
libsvtav1 qp=43 318 MB 92.077913
libsvtav1 qp=40 370 MB 93.277861
libsvtav1 qp=38 411 MB 93.883247
libsvtav1 qp=36 457 MB 94.398944

 

以上のような結果となりました。VMAFスコアでlibx265のデフォルト設定と同等な

libsvtav1のqpは36くらいということでサイズ差はいまいち。

でも実際の動画を見てもVMAFスコア90以上あれば十分だとわかりました。

(最近、老眼入ってきてるしねw)

qp=45が自分の中ではサイズと画質の両立ができてると感じてlibsvtav1 qp=45で

動画を再変換することに決めました。

 

※VMAFスコアをffmpegで計測する場合は

ffmpeg -i [参照動画ファイル] -i [評価対象動画ファイル] -lavfi libvmaf -f null -