YMM4の動画アイテムをスムーズに再生したい!【YMM4/v3.9.9.173 β73】

2021年11月3日YMMYMM4,効率化YMM,YMM4,効率化

YMM4の動画アイテムをスムーズに再生したい!

ゆっくりムービーメーカー4(YMM4)で動画ファイルの編集をしてると、動画アイテムがプレビューされるたびに読み込み待ちが発生するんですよ。特にカット編集なんかしていると再生ヘッドがアイテムを触るたび待たされる…。今回はこの症状が緩和できないかと思い模索してみました。

そんなわけで久々にYMM4の記事ですが…編集環境に依存しまくる内容なので私以外には役に立たない記事かもですねぇ。

私の動画編集の工程

まず、私が動画編集をするときの工程をまとめておきます。
私の場合、扱う動画はゆっくり実況がメインになるのでこれに沿った工程です。

工程概要動画ファイル
撮影ゲーム画面の録画[IN] オリジナル(h.264/VFR)
編集用エンコードCFR変換(ffmpeg/Handbrake)[IN] オリジナル
[OUT] 編集用動画ファイル(h.264/CFR)
YMM4で編集カット編集やゆっくりのセリフ入れ[IN] 編集用動画ファイル
Aviutlで編集YMM4ではやりにくい編集(トランジションなど)[IN] 編集用動画ファイル
[OUT] アップロード用動画ファイル(h.265/CFR)

問題となる症状

YMM4で再生ヘッダが動画アイテムに触るたび読み込み(?)が発生する。

この待ち時間ですが、カット編集中は当然時間のロスになるし、編集中の動画を通してプレビューしようにも、動画アイテムに差し掛かるたびに固まるのでスムーズに再生されないんですよね。

回避策の模索

私、動画のあれこれに詳しいわけではないので素人なりの予想から模索しております。間違ってる箇所もあるとは思いますが、そのへんはご了承を…

んで、思いついた中でなるべく単純な方法をいくつか試してみました。

高速なストレージを使用する

私は普段、編集用動画ファイルをHDDに配置して、これをYMM4などの編集ツールに読み込ませています。
単純にHDDのアクセス速度が遅いからYMM4で動画ファイルのロードに時間が掛かってるのかなと、つまり「編集用動画ファイルをM.2タイプの高速SSDにに配置すればいけんじゃね?」ってことで試してみました。

動画ファイルの配置について

さて、実際に試す前に動画ファイルの配置方法について触れておきます。

動画編集ソフトの仕様的に動画ファイルの配置場所は一箇所固定にしたいのと、ストレージ容量の関係から保存先はHDDとします。そんなわけで、編集する動画ファイルは一時的にSSDに移動させ、本来の保管場所となるHDDの方にはシンボリックリンクを作ることとしました。
構成的にはこんな感じ。

[SSD]
# これが実際の動画データ
D:\Temp\編集用動画ファイル.mp4

[HDD] (保管先)
# こっちにはシンボリックリンクを作って編集ツールにはこれを読み込ませる
E:\Video data\編集用動画ファイル.mp4 (→ D:\Temp\編集用の動画ファイル.mp4)

こうしておけば、、、
編集が終わったあとは、HDD側のシンボリックリンクを消して、SSD側に配置した動画ファイルをHDD側に移動するだけで、本来の保存場所に戻せることになります。
動画編集ツールが読み込む位置も変わるわけではないので「動画ファイルが見つかりません」的なことにもならないはずです。アクセス速度は落ちますけどね…。

プレビューのスムーズさを比較してみた

HDDに配置したときと、SSDに配置したとき。それぞれの遅延具合を比較してみました。
ちなみに、比較動画の中でYMM4に読み込ませてる動画ファイルはどちらも h.264のCFR形式(1080p/60fps) です。

さぁどうかなぁ??

結果、全然変わらん…

んん~~~、比較してみましたが、明確な差は確認できませんでしたねぇ…
ということはアクセス速度が要因ではないのかも?

そしてこれは余談になりますが、Aviutlにこの方法使ってみると動画のプレビューがめちゃくちゃスムーズになりました。Aviutlで編集する動画はSSDに置こうと心に決めた瞬間でした…。

とまぁ、本線に戻って次の作戦に移りましょう。

YMM4のプレビューがスムーズな動画フォーマットを探す

さて、次の作戦。YMM4に迎合してみます。

これまではCFR変換した編集用動画で動画編集をしていましたが、そもそも「YMM4でスムーズにプレビューできるファイル形式があるのかな?」と思い、圧縮形式、フレームレート、サイズなどを色々変えて試してみました。

その結果…、、、VFR形式の動画ファイルならプレビューがスムーズ!

そのスムーズさはこのくらいです。
ちなみに編集用に使っている動画ファイルはスマホの AZ Screen Recorder で撮ったやつまんまです。

全般
完全名称                                     : C:\***\エデン 03 バトル2.mp4
フォーマット                                   : MPEG-4
プロファイル                                   : Base Media / Version 2
コーデック ID                                 : mp42 (isom/mp42)
サイズ                                      : 578 MiB
ながさ                                      : 8分 2秒
オーバルビットレート                               : 10.1 Mbps
エンコード日                                   : UTC 2021-10-26 07:18:01
タグ付け日                                    : UTC 2021-10-26 07:18:01
com.android.version                      : 11

ビデオ
ID                                       : 2
フォーマット                                   : AVC
フォーマット/情報                                : Advanced Video Codec
プロファイル                                   : Baseline@L1
設定                                       : 1 Ref Frames
CABAC                                    : いいえ
RefFrames                                : 1 フレーム
Format settings, GOP                     : M=1, N=60
コーデック ID                                 : avc1
コーデック ID/情報                              : Advanced Video Coding
ながさ                                      : 8分 1秒
ビットレート                                   : 9 927 Kbps
幅                                        : 1 080 ピクセル
高さ                                       : 2 160 ピクセル
解像度                                      : 0.500
モード                                      : VFR モード
フレームレート                                  : 50.559 fps
最小                                       : 0.189 fps
最大                                       : 6 000.000 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 ビット
スキャンの種類                                  : プログレシッブ(PPF)
ビット/(ピクセル*フレーム)                          : 0.084
ストリームサイズ                                 : 570 MiB (99%)
タイトル                                     : VideoHandle
言語                                       : 英語
エンコード日                                   : UTC 2021-10-26 07:18:01
タグ付け日                                    : UTC 2021-10-26 07:18:01
mdhd_Duration                            : 481893
Codec configuration box                  : avcC

オーディオ
ID                                       : 1
フォーマット                                   : AAC LC
フォーマット/情報                                : Advanced Audio Codec Low Complexity
コーデック ID                                 : mp4a-40-2
ながさ                                      : 8分 2秒
Source duration                          : 8分 2秒
ビットレートモード                                : CBR モード
ビットレート                                   : 128 Kbps
チャンネル                                    : 1 チャンネル
Channel layout                           : C
サンプルレート                                  : 44.1 KHz
フレームレート                                  : 43.066 fps (1024 SPF)
Compression mode                         : Lossy
ストリームサイズ                                 : 7.36 MiB (1%)
Source stream size                       : 7.36 MiB (1%)
タイトル                                     : SoundHandle
言語                                       : 英語
エンコード日                                   : UTC 2021-10-26 07:18:01
タグ付け日                                    : UTC 2021-10-26 07:18:01
mdhd_Duration                            : 482354

うん。スムーズになる理由は一切わかりませんが、これならストレスフリーですね!

でも、一つ問題点が…。
VFRファイルをこのまま使っちゃうと位置ズレ音ズレが高確率で発生するんですよねぇ。これをクリアするためにネットで情報収集してみると、YMM4の作者さんがこんな記事を掲載していました。

というわけで早速試してみます。

編集用の動画ファイルにVFRファイルを使う方法

作者さんの記事では、次の設定ポイントが紹介されていました。

  • L-SMASH Works File Readerの設定で「VFR->CFR」を60/1にする
  • Aviurlのプラグイン優先度設定で、L-SMASH Works File Readerを最優先にする
  • YMM4の設定で、外部連携の「すべての動画を60fps(CFR)としてあつかう」を有効にする

この設定を実際に適用し、YMM4でカット編集を行い、Aviutlに読み込ませてズレ具合をチェックしてみたところ…、うーむ…ズレとは関係ないところで「lwinputエラー」が頻発。

lwinputのエラー
lwinputのエラー

たしかこれはL-Smashが吐いているエラー(昔調べた)。
きっかけになりそうな変更はプラグインの優先順位を変えたことぐらいなので、これをもとに戻してみるとエラーは止みました

結局のところ原因はよくわからなかったですが、私の環境で試す限り、L-Smashの優先度は変えなくても動画と音声のズレは出ないようでした

そんなわけで、撮影で作られた生動画ファイル(VFR)は、位置ズレ音ズレもなく、YMM4やAviutlでそのまま使うことができました。

さいごに

結果的にYMM4でスムーズな編集作業が出来るようになったので良かったです!

と、そうは言いつつもVFRファイルを使っている以上ズレが生じる可能性は残ってるわけで…。でもまぁ、最近編集したゆっくり実況(歴戦のエデンのやつ)ではこのやり方で編集してみてヤバそうなズレとかは無かったので…、大丈夫なのかなぁ?

それに、もしズレた場合でも、もとの動画ファイルをCFR変換してやって、そのファイルをAviurlとかに読み込ませれば回避できそうですけどね。

最初に載せた工程ですが、生データ編集ができれば少し効率化できそうですね。

工程概要動画ファイル
撮影ゲーム画面の録画[IN] オリジナル(h.264/VFR)
編集用エンコードCFR変換(ffmpeg/Handbrake)[IN] オリジナル
[OUT] 編集用動画ファイル(h.264/CFR)
YMM4で編集カット編集やゆっくりのセリフ入れ[IN] 編集用動画ファイル
[IN] オリジナル
Aviutlで編集YMM4ではやりにくい編集(トランジションなど)[IN] 編集用動画ファイル
[IN] オリジナル
[OUT] アップロード用動画ファイル(h.265/CFR)

よかったよかった。そんなわけで以上です。_(:3」∠)_