アプリ版:「スタンプのみでお礼する」機能のリリースについて

ffmpegのcrfオプションは品質基準VBR(Variable Bit Rate)と称されていることから可変ビットレートなオプションだと思われます。

しかし、-crf 18というオプションを付けた
「ffmpeg -c:v ibx264 -crf 18」で出力したmp4ファイルをmediainfoで確認すると
Frame Rate Mode:Constant
となります。(参照図上)

比較の目的で、-vsync vfrというオプションを付けた
「ffmpeg -c:v ibx264 -vsync vfr」で出力したmp4ファイルをmediainfoで確認すると
Frame Rate Mode:Variable
となります。(参照図下)

【質問内容】
crfオプションが、品質基準VBR(Variable Bit Rate)であるなら、出力mp4ファイルのmediainfoは
Frame Rate Mode:Variable
となりそうなのに、実際には上記したように
Frame Rate Mode:Constant
となっているのはなぜなんでしょうか?

このあたりについて詳しい方がおられましたら、よろしくお願い申し上げます。

「ffmpeg のオプション crf は 」の質問画像

A 回答 (1件)

「ビットレート」が可変だとしても, 「フレームレート」が可変であるとは限らないのでは. フレームレートが一定だとしても, 各フレー

ムの容量が違えば一般にビットレートは一定にならないよね.
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

ご指摘のように、今回の疑問は、ビットレート(bps)とフレームレート(fps)が別物であることを小生が理解していなかったためと判明しました。

--個人的にまとめ----------------------------------------------------------
自分自身の後学もかねて役に立ったサイトを記載しておきます。
・「フレームレート」や「ビットレート」とは?
https://photosku.com/archives/2455/

・VFR(variable frame rate)とCRF(constant rate factor)の違い
ffmpegエンコード設定メモ http://leafcage.hateblo.jp/entry/20180519/152669 …
OBS Studioエンコーダ詳細解説 http://mtkdt.blog.fc2.com/blog-entry-43.html?sp
フレームレートとは?VFR(可変)とCFR(固定)の違い https://aviutl.info/vfr-cfr/

以上の情報を勘案すると、
・ビットレート(bps) = フレームレート(fps) × 画像情報 --- (A)
・VFR(variable frame rate)→「動き」に応じてfpsを可変させる。例:動きが遅いとfps↓、動きが早いとfps↑。
・CRF(constant rate factor)→fpsは可変せずconstantにする(そのためmediainfoではFrame Rate Mode:Constantと表示される)。「動き」に応じて画質の容量を変化させる。例:動きが遅いと圧縮率を上げる→ビットレート(bps)は↓、動きが早いと圧縮率を下げる→ビットレート(bps)は↑

VFRは(A)式右辺の第1項を重視し、CRFは(A)式右辺の第2項を重視した圧縮方式である。

お礼日時:2020/04/03 14:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!