AviUtl 1.00→1.10バージョンアップ&luaJITで高速化?

無料の動画編集ソフト AviUtl は拡張性の高さから様々なプラグインが開発され、無料とは思えないほど多機能です。
#筆者もこのサイトに掲載する動画などを AviUtl 1.00 で作っています。

AviUtl 透明度のボタンの左右に最初の値と最後の値を設定して、ボタンを押し得して直線移動を選択すると透明度が時間経過で変化します

今回は、AviUtl の最新版 1.10 にバージョンアップした際の手順と、 luaJIT による動画編集処理の高速化について紹介します。
※AviUtl の拡張編集プラグインの導入については「AviUtl で動画の一部にモザイクをかける | Compota-Soft-Press」で記載しています。
※サンプル動画の素材として「白装束の女性が和室で静かに佇むの無料写真素材 – ID.81530|ぱくたそ」の切り抜き画像と「外から眺める古民家の座敷 – No: 26728590|写真素材なら「写真AC」無料(フリー)ダウンロードOK」を使用しています。

AviUtl 1.00 のバックアップ

AviUtl 1.00 から 1.10 へのバージョンアップは、 aviutl.exe と aviutl.txt を上書きするだけで完了します。
※念のため、 AviUtl のインストールフォルダごとバックアップをとってから上書きをしましょう。

AviUtl1.10へのバージョンアップの上書きの前にバックアップ

AviUtl 1.10 の入手と上書き

最新版の AviUtl 1.10 を公式サイト「AviUtlのお部屋」へウェブブラウザでアクセスしてダウンロードします。

AviUtl1.10を公式サイトからダウンロード

ダウンロードした aviutl110.zip を解凍して、 aviutl.exe と aviutl.txt をコピーします。
#解凍するとこの二つのファイルだけでした。

これを今まで使っていたバージョン 1.00 の aviutl のフォルダに上書きすれば、1.10 へのバージョンアップは完了です。

AviUtl を起動してメニュー「その他」→「バージョン情報」でバージョン情報ダイアログを表示すると AviUtl version 1.10 と表示されています。

AviUtl バージョン情報の確認

luaJIT 2.1.0-beta3 の入手

※以下の章は、1.10 へのバージョンアップと直接関係はありません。筆者は一度は後述の通り試しましたが、高速化のメリットよりも管理の難しさを感じて使うのを控えています。

他サイト様「LuaJIT – /ePi」で、luaJIT 2.1.0-beta3 を DLL にビルドして公開してくださっていたので、それを用いて高速化を試みます。
※ luaJIT バージョン 2.0.5 の DLL が多く公開されているようですが、「AviUtl・関連プラグインのバグ – /ePi」に書いているように不具合があるらしく、より良いとされるバージョン 2.1.0-beta3 をビルドして公開してくださっているようです。

他サイト様「LuaJIT – /ePi」にウェブブラウザでアクセスして、「luaJIT(ePiビルド)」 のリンクをクリックします。
※リンク先に書いてありますが、これを利用する前にこのページを一読したほうがよいようです。

LuaJIT をビルドして公開してくださっているサイトのリンクをクリックします.

リンク先のページで「luajit-2.1.0-beta3_bin.zip」のリンクをクリックすると zip ファイルがダウンロードできました。

リンク元のページの説明をよく読んで、LuaJIT がビルドされた zip をダウンロードします.

lua を luaJIT に置き換えて高速化

念のために luaJIT に置き換える前の AviUtl インストールフォルダをバックアップしましょう。
※結論から言うと、あまり速度の変化が見られず複雑そう(問題が起きたときにわからなそう)だったので luaJIT 版は使わないことにしました。

AviUtl LuaJIT 置き換え前にフォルダごとバックアップ

ダウンロードした「luajit-2.1.0-beta3_bin.zip」を解凍すると以下のような内容でした。
後述する readme によると lua51.dll だけを上書きすればよいようです。

AviUtl の lua51.dll と置き換える luaJIT 2.1.0-beta3 の 同名の dll

その中の readme の一部抜粋です。一部太字に修飾しました。

readme の抜粋の中の URL は「AviUtl・関連プラグインのバグ – /ePi」を表示します。
拡張編集 version 0.93rc1 を使っている方は一読しておくと良いでしょう。

サイトや readme を読んだ後、lua51.dll を AviUtl インストールフォルダに上書きします。
※検索した結果インストールフォルダ直下にしか lua51.dll はありませんでした。

AviUtl インストールフォルダの lua51.dll を luaJIT 版に上書きします.

luaJIT のバージョン確認

他サイト様「LuaJIT – /ePi」に書いてあった手順で、lua51.dll がきちんと luaJIT 2.1.0-beta3 になっているかバージョンを確認します。

aviutl.exe を起動して、拡張編集でメディアオブジェクトのテキストを配置して位置や時間位置を合わせて表示します。
テキストに「<?=require”jit”.version?>」と入力すると画面にバージョン情報が表示されました。

AviUtl メディアオブジェクトテキストにluaJIT バージョンを表示させるコマンド?を入力してバージョンを確認しました..

処理速度の比較

luaJIT 版に置き換えたので、再び aviutl.exe を起動して、以前に拡張編集を使って作成した 4 秒程度の動画を mp4 プラグイン出力する速度を計測してみます。
#これが適切な計測方法かは不明です。

AviUtl 1.00 での出力速度

バージョンアップする前の AviUtl 1.00 で mp4 プラグイン出力しました。
luaJIT にも置き換えていません。

AviUtl mp4 プラグイン出力(拡張編集で作成した4秒動画)の時間計測 AviUtl 1.00

結果は 16.1 秒でした。AviUtl 1.10 と比較すると 3 秒程度遅かったです。

AviUtl mp4 プラグイン出力(拡張編集で作成した4秒動画)の時間計測結果 AviUtl 1.00

AviUtl 1.10 での出力速度

AviUtl 1.10 にバージョンアップしたあとに同じ編集プロジェクトを開き mp4 プラグイン出力をしました。
まだ luaJIT で上書きしていません。

AviUtl mp4 プラグイン出力(拡張編集で作成した4秒動画)の時間計測 AviUtl 1.10

結果は 13.7 秒で先ほどより 3 秒程度速かったです。

AviUtl mp4 プラグイン出力(拡張編集で作成した4秒動画)の時間計測結果 AviUtl 1.10

AviUtl 1.10 + luaJIT 2.1.0-beta3 上書き後の出力速度

AviUtl 1.10 にバージョンアップして、さらに luaJIT 2.1.0-beta3 の lua51.dll に置き換えたあとに、同じ編集プロジェクトを開き mp4 プラグイン出力をしました。

AviUtl mp4 プラグイン出力(拡張編集で作成した4秒動画)の時間計測 AviUtl 1.10 + luaJIT 2.1.0-beta3上書き後

1回目は 16 秒かかり、2回目は下図の通り 14 秒、その後にもう一度 AviUtl を再起動すると 13 秒(これは誤差?)の処理時間でした。
もしかしたら他のアプリケーションがバックグラウンドで動いていて、その影響を受けただけかもしれません。

AviUtl mp4 プラグイン出力(拡張編集で作成した4秒動画)の時間計測結果 AviUtl 1.10 + luaJIT 2.1.0-beta3上書き後

結果として、あまり変化がみられませんでしたが、lua51.dll は拡張編集で利用するものなので、拡張編集をもっと多く利用した場合は高速化がはっきりとわかるかもしれません。
#筆者には難しく問題があっても気づかなかったり対処できなそうなので、lua51.dll を置き換える前の AviUtl 1.10 最新版を使うことにしました。

以前に「AviUtl 中間点の範囲の倍速で音ずれが発生するバグ修正プラグイン | Compota-Soft-Press」で AviUtl のバグ修正プラグインを案内していただいた AviUtlサポートセンター (@AviUtl_Support) 様も、記事の公開後すぐに以下のツイートのように、的確に lua の負荷がかかるサンプルで比較しないと検証は難しい、と言及されているので、lua を多く使う拡張編集を使用している場合は、高速化を実感できるかもしれません。
#迅速的確なアドバイス感謝いたします!

luaは拡張編集のスクリプト(カスタムオブジェクトやアニメーション効果など)で使用される部分なのですが、 その中でも、重たいのはlua実行部分なのか、luaではない部分で重いのかを見極めなければ比較は難しい部分となります

https://twitter.com/AviUtl_Support/status/1712249541335069044

まとめ

今回は、無料の動画編集ソフト AviUtl のバージョンを、 1.00 から 1.10 へバージョンアップする手順を紹介しました。
また、AviUtl 拡張編集で用いられている lua51.dll を高速化が期待できる luaJIT 2.1.0-beta3 版に置き換える手順や、1.00, 1.10, 1.10 + luaJIT置き換え版の 3 つの AviUtl 環境で同じ編集プロジェクトの mp4 出力の時間を計測して処理速度の比較も行いました。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました