BPMグリッドに合わせるためにFPSを変えるのは間違い

みなさんごきげんよう。まいまいです。この記事では「音MADの映像編集で、BPMに応じてプロジェクトのFPS設定を変更する方法」(以下、〝この手法〟)が間違いであることを示す為に、この手法のメリット・デメリットと、代替方法について解説していきます。

この手法について

まず、この手法がどのようなものなのか、説明しておきます。

音MADの映像編集の際、Aviutlで同じ長さのアイテムをたくさんコピペで並べる作業が出ます。

ここで、基本的にはBPMグリッドを使って拍子に合うように並べてコピペする訳ですが、同じ長さのアイテムをコピペしているのに何回も貼り付けを繰り返すとグリッドからズレてしまう場合があります。

この現象は、「1小節分の時間」が「動画1フレームの時間」で割り切れない事が原因です。

AviutlのBPMグリッドでは、小節の区切りに一番近いフレーム[未検証]にグリッドが置かれます。小節の区切りと完全に一致しているわけではないので、BPMによってはズレが生じる訳です。

この問題はたくさんのアイテムをコピペする作業においては中々にストレスフルなので、解決策としてこの手法が編み出されたわけです。

具体的な方法は以下の通り。

4m × BPM  ÷ 60 = FPS (mは整数)
となるmの内、FPSが30(あるいは60)に近くなるmを選択し、FPSを求める。

そして、ここで求めたFPSをAviutlのプロジェクト作成時のFPS設定時に指定するわけです。

また、この計算を簡単にするためのWebサービスも存在しています。

BPM→FPS値 簡単計算ツール
BPMグリッド に対応した最適な FPS値 (フレームレート値) を算出するツール。AviUtl や Vegas 等の動画編集ソフトで使用できます。 主に 音MAD など、音声に合わせた映像作品の制作にご活用ください。
toizubox.com

この手法のメリット

メリットについても説明しておきます。

この手法のメリットはやはり、Aviutlでのコピペ編集が容易になることでしょう。正しく設定していれば、n拍子の長さのアイテムはコピペを繰り返してもグリッドからずれる現象は(ほどんと)起こらなくなります。

この手法のデメリット

この記事の本題です。

この手法には幾つかのデメリットが存在します。

1. 素材読み込み時・エンコード時にフレーム落ち/ダブりが発生する可能性

基本的に映像編集は、プロジェクトのFPS設定と動画のFPS設定は統一している方が良いのですが、この手法を使って素材と異なるFPSで編集した場合にはフレーム落ち・フレームのダブりが発生します。

例えば、30fpsのプロジェクトで60fpsの素材を読み込んだ場合、素材のフレームの内1/2のフレームが再生されなくなるわけです。これは極端な例ですが、素材とプロジェクトのFPSが違えば何フレームかに一回フレームが再生されない(フレーム落ち)が発生します。

プロジェクトと素材の関係が逆になると、空いたフレームに同じフレームが再生されるフレームのダブりが発生します。

このレベル気付けないだろ、と言われれば確かにその通り。

2. ニコ動では60fpsを超えると半分以下までFPSが落ちる

ニコニコ動画のヘルプを確認すると以下の内容がありました。

元となるコンテンツが 60fps を超える場合は、60fps 以下になるように整数で割ります(元となるコンテンツが 100fps の場合は 2 で割って 50fps にします)

https://qa.nicovideo.jp/faq/show/21908?site_domain=default

FPS設定で60を超えてしまうと2で割った30程度の数値まで下がってしまいます。このレベルになると見比べると違いがわかるレベルですね。

また、Youtubeニコ動共通して、低解像度向け動画で再エンコードが掛かった際に30未満にFPSが低下する可能性があります。

3. 合作で変なFPSで提出すると映像纏めに支障が出る

基本的に合作では30や60などの一般的なFPSで映像纏めが行われますが、この中にプロジェクト設定と合わないFPSの動画を入れた場合、動画のカットしたタイミングによっては提出動画と音声纏めの音声が微妙に合わなくなる可能性があります。

映像1フレームの間に音声は遥かに沢山の回数値が変わりますから、映像のカットタイミングによってはピッタリ合わなくなる訳です。

また、項目1で触れたフレーム落ちの可能性も当然あります。

一般的に用いられるFPS

それならどんなFPS使えば良いんだよ、と思われるかもしれないので、一般的に映像編集において用いられるFPSを幾つか挙げます。

  • 24
  • 29.97
  • 30
  • 59.94
  • 60

まぁ30か60選んどけば良いんですよ

代替の方法

この手法が使えないとすると、コピペのたびにいちいちグリッドとずれた所を修正するのか?と思われるかもしれませんが、代替の方法があります。

RPPtoEXO v2.0 – がれっくのお部屋
https://github.com/Garech-mas/RPPtoEXO-ver2.0/releases/latest まいまいさんの https://ytpmv.info/RPPtoEXO/ RPPtoEXO を更に進化させたもの 最新バージョン: v2.07.3 (2024/4/2 更新) – REAPERのプロジェクトファイル上のメディアアイテムの位置や、MIDIファイルの音符情報をもと
scrapbox.io

RPPtoEXOを使いましょう。

RPPを参照して自動で配置することが可能なので、そもそもAviutlのBPMグリッドに頼って作業する必要が無くなり、グリッドのズレに悩まされることも無くなるわけです。

自動で配置する方法が生まれたため、あえてデメリットを負ってまでFPSをBPMに応じて変える必要は無いだろう、というのが私の考えです。

代替案その2

FFから教えてもらいました

GitHub – hebiiro/AviUtl-Plugin-BuildStairs: AviUtl プラグイン – アイテムずらし
AviUtl プラグイン – アイテムずらし. Contribute to hebiiro/AviUtl-Plugin-BuildStairs development by creating an account on GitHub.
github.com

このプラグインを使うとBPMグリッドからのズレを修正できるらしいです。こんなものが有るとは…


以上です。ノシ

コメントする?

メールアドレスが公開されることはありません。