あき.ブログ

AviUtl ファイルのリンク切れ問題 ~相対パス保存プラグイン~ ~AupRename~

いくつかのオブジェクトで指定されているファイルの場所が変更または削除されています。
いくつかのオブジェクトで指定されているファイルの場所が変更または削除されています。

あっ。(:;

あれ、しゃるなに泣いてんの?

あぁ、かもめか。
AviUtlで編集終わったものを誤ってリネームして、元のフォルダ名を忘れてパスが通らなくなってしまってね、ファイルの置き換え直しか~って思ったら涙がね。

へぇ、フッテージの置き換えとかしたら、そのフォルダ内のファイルのパスを通しなおしたりはしてくれないの?

残念ながら、そんな機能はない。AviUtlのこの手の問題は、プロジェクトファイルと同じフォルダにすべての素材を入れておくのが無難らしい。

ごちゃごちゃしそう。

まぁ、私の動画は大した素材量じゃないから、それでもいいんだろうけど、分けたほうが、管理上きれいにみえるから自己責任でわけてるよ。

自己責任なら仕方ないね、大人しく割り当て直しんさい。

それもいいけど、今回はこういうことが起こりにくくするプラグインを追加して、外部アプリケーションでパスを通しなおしてみるよ。
まずは「相対パス保存プラグイン」をDLしよう。
https://www.nicovideo.jp/watch/sm31884370
から製作者様のところへとぶか、
https://hazumurhythm.com/wev/amazon/?script=%E7%9B%B8%E5%AF%BE%E3%83%91%E3%82%B9%E4%BF%9D%E5%AD%983Av
から飛んでみてね、Amazonっぽいサイトかもしれないけど大丈夫だよ。
このプラグインはrikkymodule&memoryがないといけないから、
https://hazumurhythm.com/wev/amazon/?script=rikkymodulea2Z&keyword=%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3&sort=viewh&filter=type&page=1
こっちもDLしてね。
対応している拡張編集は0.92までだから、0.93はrikkymodule(version2)になるらしいけど、このブログでは安定版の0.92しか使ってないから注意してね。

それじゃあ、まずはrikkymodule&memoryの中身rikky_module.dllrikky_memory.auf 2つのファイルをexedit.aufのあるフォルダに投げ入れるよ、通常はAvuiUtl.exeと同じ階層だと思うよ。

rikkymodule&memoryを解凍してrikky_module.dllとrikky_memory.auf 2つのファイルをexedit.aufのあるフォルダにいれる
rikkymodule&memoryを解凍してrikky_module.dllとrikky_memory.auf 2つのファイルをexedit.aufのあるフォルダにいれる

「相対パス保存プラグイン」のrelative_path.aufを「plugins」フォルダになげいれて完了。

「相対パス保存プラグイン」のrelative_path.aufを「plugins」フォルダに入れる
「相対パス保存プラグイン」のrelative_path.aufを「plugins」フォルダに入れる

これでいいの?

AviUtlのメニューから表示→相対パスv0.9の表示を押すと小さいウィンドウが出てくるから、ラジオボタンのプロジェクトファイルを基準に変更して、正常なファイルを一度上書きするよ。ここまでで設定自体は終わりだよ。これ以降はプロジェクトファイルを基準にしたツリー構造ならそれより上の階層が変わってもたぶん読みに行ってくれると思うよ
ここからは、仮に保存場所やフォルダ名が変わったという状態を再現してテストしてみるよ。
ちなみに下の画像に映っている.aupファイルをテストするんだけど、この時点でのファイルパスは
D:\Move\Edit\FF2\00_鬼っ子ヒカセンついなちゃん2¥~~というパスになってるよ。

これからテストするデータのファイルパスはD:\Move\Edit\FF2\00_鬼っ子ヒカセンついなちゃん2¥01.aup
これからテストするデータのファイルパスはD:\Move\Edit\FF2\00_鬼っ子ヒカセンついなちゃん2¥01.aup

そこまで出来たら、一度AviUtlをおとして、今とは違う場所にコピー(今回はデスクトップにコピー)、デスクトップにコピーした01.aupが元の参照先のパス(D:\Move\Edit\FF2\00_鬼っ子ヒカセンついなちゃん2¥~~)を辿れなくするために、元のフォルダ名を変更、さらにコピーしたフォルダ名も変更してやろう。

デスクトップにコピーしたデータが元のファイル(Dドライブ内のファイルパス)を辿れない様にリネームした。
デスクトップにコピーしたデータが元のファイル(Dドライブ内のファイルパス)を辿れない様にリネームした。

ついなちゃんって鬼じゃなかったんだ、って知らなかったんだ。

買うときに発売日が一番新しいの買っただけでね、当時はよくわからんかった。今も詳しいわけじゃないが・・・、それに実際は、購入した時に一番最新のソフトは「音街 ウナ」だったというのもあとから知ったくらい知らなかった
それはさておき、コピーしたデスクトップの方のファイルを開いてやろう、(ここでは01.auf)するとエラーはでるはずなんだけど、スライダーを動かしたりしてやれば、フォルダ内のツリーが変わってなければちゃんと映像も音声も表示されるはずだよ。

エラーは出る
エラーは出るが
うまくプラグインが動いていれば、スライダーを動かしたりすればファイルを取ってきてくれる
うまくプラグインが動いていれば、スライダーを動かしたりすればファイルを取ってきてくれる

ほんとだ、よみこまれてるね。

とりあえず、私が犯したフォルダ名変更のミスについては、今後これで対処になるだろうけど、ファイルパスを変更する前に入れておかないとたぶんダメなんよ。
次は、すでにファイルパスがどうなっていたか覚えてないとか、わからないとか、そのツリーのフォルダ名を変えたいんだ!って場合についても書いとこう。
例えばMoveフォルダをMovesフォルダに、voiceフォルダをvoicesフォルダにしたとする。

編集終わったけど、フォルダ名を変えたい!
編集終わったけど、フォルダ名を変えたい!

で、この場合には、ツリー構造が変更になっているから、さっきはスライダーを動かせば読み込みなおせた01.aupでも「相対パス保存プラグイン」の機能ではパスが通らないはずなんだ。

ツリー構造が変わっているから「相対パス保存プラグイン」の機能ではパスが通らない
ツリー構造が変わっているから「相対パス保存プラグイン」の機能ではパスが通らない

動画ファイルの読み込みに失敗しましたって出てるね、ぎりぎりだけど、Movesに変更しても、参照先はMoveを探しに行ってるみたいだね。

だね、相対パス保存プラグインで対応できるのは、ある基準からのツリー構造は一緒という条件があるということだろうから、これから説明するのはそのツリー構造をほぼ手動で書き換えるっていう方法になるよ。まずは
https://github.com/karoterra/AupRename
からAupRename-xxx-win-x64-sc.zipをDLして解凍、その中のAupRename.exeを起動するよ。
今回は検証だけど、修繕を試みる時でもバックアップは取っておいて、

AupRename.exeを起動、何にしても変更前にバックアップをとる
AupRename.exeを起動、何にしても変更前にバックアップをとる

パスを通したいaupファイルをAupRenameの編集するaupファイル(バックアップ推奨)のパスってところにドラッグ&ドロップしていれる。使用するアプリケーションは多分テキストが編集できればなんでもいいんだと思うけど、今回はデフォルトのノートパッド(メモ帳)でやるよ。フィルターにチェックがいっぱい入ってると思うから、変更したいものだけにチェック入れたほうが見やすいかな。(チェックを入れても、そもそもaupで使ってないものは表示されないみたいだけど)
今回は、とりあえず動画ファイルと音声ファイルにチェックを入れて、新規編集をクリック

AupRenameの編集するaupファイル(バックアップ推奨)のパスってところにドラッグ&ドロップ 変更したいフィルタのチェックをいれて 新規編集をクリック
AupRenameの編集するaupファイル(バックアップ推奨)のパスってところにドラッグ&ドロップ 変更したいフィルタのチェックをいれて 新規編集をクリック

お、メモ帳が開いて、ずらーっとファイルパスがならんでるね。

うん、この表示されているDドライブ内の話であれば、MoveをMovesに変更すれば済むんだろうけど、今はCドライブのデスクトップに移動しちゃってるから、部分的に変えるんじゃなくて、Moveとかvoiceよりも前のパスをまるっと置き換える感じだね。それじゃあ変更していくよ。

メモ帳のメニューから編集→置換
検索する文字列にテキスト内のファイルパスの前半部分を張り付け、
(画像ではD:\Move\Edit\FF2\00_鬼っ子ヒカセンついなちゃん2¥Move)
今度はデスクトップ上のMovesまでのファイルパスをコピーして貼り付け、
ですべて置換をクリック。
(画像ではC:\~中略~¥desktop\ついなちゃんって鬼じゃなかったんだ¥Moves)
変更前と変更後のファイルパスを確認して、すべて置換をクリック

変更前、変更後に置換したいパスもしくはその一部を入れて、すべて置換で置き換える。
変更前、変更後に置換したいパスもしくはその一部を入れて、すべて置換で置き換える。
置換される前と後
置換される前と後

おー、バサッと全部変わったね。

うん、今の要領でvoiceの方のパスを置換するよ。
コピーして貼り付け、置換後のファイルパスをコピーして貼り付け。
すべて置換をクリック。

Voice用に変更前、変更後に置換したいパスもしくはその一部を入れて、すべて置換で置き換える。
Voice用に変更前、変更後に置換したいパスもしくはその一部を入れて、すべて置換で置き換える。

voiceのほうも置換できたみたいだね。

ここまで出来たら、メモ帳を上書き保存して、AupRenameの適用をクリック、リネームが完了しました。と出ると思うからOKして、変更したaupファイルを開いてみよう。

メモ帳を上書き保存して、AupRenameの適用をクリック
メモ帳を上書き保存して、AupRenameの適用をクリック
01.aupのファイルパスが更新されて、ちゃんとファイルを読み込んでこれた。
01.aupのファイルパスが更新されて、ちゃんとファイルを読み込んでこれた。

おー映像も音声もちゃんと出てるね。この黒いのが何かわかんないけど。

これは、ついなちゃんの口パクを認識させるテキストファイルが読まれてないときに出るやつだね、コイツもパスを通しなおしてやらないとね。このファイルパスはスクリプトにチェックを入れれば編集できるみたい。知ってれば初めからスクリプトにもチェックを入れてまとめて置換してやれば一発だろうね。スクリプトでも上と同じようにパス置換手順を行うよ。終わったら適用を押して、再度aupファイルを開いて確認。

口パクもするようになった。
口パクもするようになった。

おー、口パクもしてるね。開くときにエラーも出なかった。

まぁ実際はツリー外のファイルもいくつかは参照しているから、パスだけで解決しようとすると、もうちょっと何回も置換作業が必要になる気もするけど、動画のほぼ8~9割の素材ファイルがこれで置換できれば、残り数個くらいのファイルはAviUtl上で手動で変更してあげても、作業時間はそんなに変わらないんじゃないかな。

でもこれで、フォルダ名を変えたり、場所やフォルダ構造を変えたとしてもある程度は短時間で復旧できそうだね。

内心では、「相対パス保存プラグイン」でプロジェクト基準(.aupのある)のフォルダ内を参照してくれるんだから、変更するパスはmoveとvoiceフォルダの名前だけ変えれば、とりに行ってくれるかなって期待してたんだけどね、ツリーが変わる場合には、AupRenameでは一度フルパスで通してあげて、AviUtlを開いて上書きしないと相対パス保存プラグインは正常に動作してくれないみたいだね。

あ、ごめん聞いてなかったわ。なに?

なんでもない。とりあえず今回はここまで。