【動画】VFRをCFRに変換する方法【フレームレート】

動画編集ソフトでは「VFR」な動画は扱えません。

動画編集ソフトでVFR動画を読み込む場合は、CFRに変換して読み込まないと盛大に音ズレします。(音ズレしない動画もたまに有りますが)

この記事では、VFRな動画をCFRに変換する方法について紹介します。

スポンサードリンク

どんな動画がVFRなのか?

例えば、

  • スマホで撮影した動画(※ほぼVFRです)
  • スマホの録画アプリを使用して録画した動画(※ほぼVFRです)
  • デジカメで撮影した動画(※ほぼVFRです)
  • デスクトップキャプチャした動画
    • ShadowPlay
    • Bandicam
    • ロイロゲームレコーダー
    • ・・etc
  • ビデオキャプチャした動画
    • 一部のビデオキャプチャソフト

などはVFRの可能性が有ります。

スマホ・デジカメの動画なんかはほとんどVFRです。(iPhoneとかNexusシリーズなど、有名なスマホはほぼ全てVFRです)

VFRとCFRを判別する方法

MediaInfoなどの動画ファイルを調べるソフトを使用すれば、VFRかCFRか判別できます。

vfr-cfr

VFR→CFRに変換する仕組み(原理)

単純に、フレームレートが少ない部分はフレームを水増し(コピー)して、フレームレートが多い部分は間引く(削除)だけです。

例えば、25~35fpsなVFRな動画が有ったとして、これを30fpsなCFRに変換する際は、

  • 25fpsな部分には、同じフレーム5フレーム分水増し(コピー)する
  • 35fpsな部分からは、逆に5フレーム分間引く(削除)

という風にしてVFR→CFRに変換します。

要は、「多い所は削って少ない所はコピーしちゃおう。それでCFRってことにしちゃおう。」って事です。

この「削除する」「コピーする」の基準は、単純に一定の間隔によるものです。

例えば、「○フレーム毎に削除する」「○フレーム毎に削除する」という感じで処理されます。

「ここは動きが激しいからなるべく間引かないようにしよう」みたいな高度な処理はされません。

つまり、(後述していますが)VFR→CFRに変換すると(場合によっては)動画が劣化する事があるという事です。

VFR→CFRに変換する方法

ソフト毎に紹介します。

①HandBrake

HandBrakeの場合は、「Video」タブの「Framerate(FPS)」で「Constant Framerate」を選択すると、CFRに変換出来ます。

また、「Constant Quality」の値を一番右にする事で、可逆圧縮(ロスレス)にする事が出来ます。(無劣化

「一旦HandBrakeでCFRに変換してから他の動画編集ソフトで読み込もう」と考えてるなら、可逆圧縮にしましょう。

capture_01

「Audio」タブの方は、可逆圧縮コーデックを選択出来ないので、出来る限り高ビットレートを割り当てて、劣化しないようにした方が良いです。

②AviUtl

AviUtlの場合は、入力プラグインを使用する事で、読み込み時にVFR→CFRに変換する事が出来ます。

L-SMASH Works File Reader

「ファイル」→「環境設定」→「入力プラグインの設定」→「L-SMASH Works File Reader」を開きます。

真ん中上らへんにある「VFR->CFR」の2つのテキストボックスにて変換するフレームレート(CFR)を指定出来ます。

l-smash_フレームレート指定

フレームレートと入力する数値については以下のような感じです。

  • 59.94fps:60000/1001
  • 60fps:60000/1000
  • 23.976fps:24000/1001
  • 24fps:24000/1000
  • 29.97fps:30000/1001
  • 30fps:30000/1000

例えば、

  • 30fpsに変換したい場合には、「30000」「1000」と入力
  • 60fpsに変換したい場合には、「60000」「1000」と入力

と言った感じです。

Directshow File Reader

「ファイル」→「環境設定」→「入力プラグインの設定」→「Directshow File Reader」を開きます。

フレームレート設定」の中の「指定値を使用する」というラジオボタンにチェックして、合わせたいフレームレートを指定出来ます。

directshow_フレームレート指定

③Avisynth

Avisynth経由でAviUtlに読み込ませる事で、VFR→CFRに変換する事が出来ます。

例えば、

  • DirectShowSource(標準の関数)
  • FFmpegSource(プラグイン)
  • ・・etc

などの関数・プラグインを使用すれば簡単にCFRに変換できます。

VFRな動画を読み込む事が多い人は、AvisynthでVFR動画用の読み込みファイル(.avs)を作っておくと便利かもしれません。

注意)CFRに変換する事による劣化

(当たり前ですけど)VFRの上限値以下のフレームレート値でCFRに変換すると、動画の滑らかさは(多少)失われてしまいます。

例えば、25~40fpsなVFR動画を、30fpsなCFRに変換した場合、元々40fpsだった部分を30fpsまで間引いてるわけなので、滑らかさは失われます。

滑らかさを失いたくない場合は、VFRの上限値に合わせてCFRに変換するようにしましょう。

ただ、VFRの上限値が極端に大きい動画がたまに存在するので、そういう動画の場合は(多少の)劣化はやむを得ないでしょう。

このページの情報は以上です。

関連ページドロップフレームとノンドロップフレームの違い

関連ページキーフレームとは?Iフレーム・Pフレーム・Bフレームの違い【GOP】

スポンサーリンク

コメント一覧

  1. そうだったのか! より:

    「音ズレする!!」と言ってる半分以上の内の一人です。
    音ズレ直りました!アザーッス!