撮影した動画を仲間内に広く配布する必要が生じ、BDMV製作を初めて試みた。 multiAVCHDを使用したのは、単にフリーソフトだからというだけでなく、有料ソフトにありがちな「御仕着せだが秘密主義で、巧く行かないときの原因究明に必要な情報が得られにくい」というのとは逆の特徴があるからである。 とはいえ、multiAVCHDは多機能であることの代償として設定項目が膨大で、使い始めの段階で道に迷ってしまう。 また、外部ソフトウェアを適宜呼び出す構造になっているため、不具合があった場合の原因が突き止めにくいという問題もある。 しかも、動画ファイルは巨大なので、とりえあず何らかの設定で「試しにやってみる」のに毎回何十分も要することになり、迷路から抜け出すのはなかなか大変である。 この道に迷った経緯の備忘録は、同じような状況にある人の参考になると思うので、これを公開する。
4K(3840×2160)の解像度をそのままにしてもBDMVとして正当だが、4K未対応BDプレーヤーでは再生できない。 即ち2K(フルHD:1920×1080)に変換する必要がある。
このことは当初から解っていたにもかかわらず、multiAVCHDの解像度変換(AviSynthに引き渡すパラメタ)の設定画面の意味が解らずに回り道をした。 解らなかった根本的な原因は「uncrop」という言葉の意味を知らなかったことである。 「crop」は日本語では「トリミング」と呼ぶことが多い。 「uncrop」とはアスペクト比が合わない画像の左右または上下に画素群を追加することらしい(今回は不必要だったので詳細は解明できなかった)。 Titleごとの「transcode」ダイアログで「AviSynth」の中に「Resize:」と「Uncrop to:」が並んでいて、各々で画面サイズが選択肢になっていたのも解りにくかった原因であった。 初期値が「Resize: 3840×2160」と「Uncrop to: 1920×1080」となっていて、これで4Kが2Kに変換されるものと誤認してしまった。 ということで、4Kを2Kに変換するには「Resize:」を「1920×1080」に設定し直すということになる。
当初、変換結果をBDプレーヤーにかけると大音量の雑音が出てきて吃驚した。 multiAVCHDの判定では元の動画ファイルの音声はLPCM(リニアPCM)で、「Subtitles & Audio」タブ内の設定はAC3に変換するという初期設定のままである。
「Subtitle & Audio」タブを見ると「Audio conversion setting」の「Use eac3to」「Convert LPCM to AC3」のチェックが外せるようになっている。 チェックを外せばLPCM音質のBDMVができるハズで、これはどうやらBDMVの規格に合致しているらしい。 しかし、これを試してみたところ、処理は正常に終わるのだが、再生すると全くの無音になる。
諸情報を見ると、音声品質を思うように制御するために、一旦動画ファイルから音声データを分離している事例が少なからずみられる。 そこで、FFmpeg(https://ffmpeg.org/からインストール)で元の動画ファイルの音声データを取り出してAC3ファイルに変換し、改めて取り込むと巧く行った。 処理結果のファイルをmultiAVCHDの中の各Videoファイルのpropertiesを指定する画面の「Audio」タブで取り込むよう指定し、元の動画ファイルの音声データが元々から指定されているのを削除すれば良い。
multiAVCHDは音声データをAC3に変換するのにeac3toという外部ソフトウェアを呼び出しているらしい。 https://kakonacl.xsrv.jp/~kakonacl/douga/multiavchd/multiavchd.htmlに「multiAVCHD」フォルダ内に「eac3to」というフォルダを作り、rarファイルを展開する形でeac3toをインストールせねばならないという情報があった。 そこで実践してみたが、結果は同じだった。 そもそも、この処置をする以前からeac3toで変換する段階でエラーになっていない。 ログをよく見るとeac3toを呼び出すのに数分を要しており、eac3toが実行されていないようには見えない。
そこで「multiAVCHD」フォルダの中身を見てみたところ、「multiAVCHD\tool」フォルダ内に既に「eac3to」があり、multiAVCHD.iniにはその中にあるeac3to.exeを指す記述がある。 multiAVCHDのバージョンによっては「multiAVCHD」直下の「eac3to」を呼び出していたのかもしれないが、何れにしても現バージョンに関する限りガセネタだった。
なお、元々入っていたeac3toのバージョンは3.21で、別途入手したのは3.52だったので、試しに入れ替えてみたが結果は同じだった。
eac3toによる変換が巧く行かない理由は未だもって不明であるが、少し気になる状況があった。 セキュリティソフトがeac3toの動作を「怪しい」と判断して排除しようとするメッセージが出て、その動作を制止したということが2度ほどあったのである。 毎回確実に出るメッセージではないのだが、もしかしたら見えないところでセキュリティソフトがeac3toの正当な動作を妨害しているかもしれない。
当初、Titleごとの「properties」ダイアログにおけるチャプター設定の操作方法が解らず困った。 試行錯誤の揚句、解らなかった原因が「反応が鈍い」ことであることが判った(操作するごとに注目チャプターに相当する画面を逐一表示しているためと思われる)。 動画中の位置を指定する操作では、何かしたら「数秒待ってから」次にどうするか考える必要がある。
また、操作対象が右上の「Chapters」という囲みエリアと下の「Chapters」タブとに分離配置されているのも解りにくい。 これも「数秒待ちながら」動作の連動具合を見ていると操作方法が解ってくる。
なお、今回に関しては、事前に元の動画ファイルを直接見てどのタイムコードにチャプターを設定するかを決めてファイル化してあったので、右上の「Chapters」という囲みエリアにある「Edit」でエディターを出してCopy&Pasteによって設定した。
冒頭末尾の不要部分削除は、Titleごとの「properties」ダイアログでチャプターを視覚的に操作する機能と並んで配置されている「Cut start」「Cut end」で行える。 しかし、途中の不要部分を削除する方法は見当たらなかった。 仕方が無いので、同じ動画ファイルから「前半部分のみの番組」「後半部分のみの番組」を作って、2つの番組を連続再生する設定にする(というか、メニューを作らない以上、そういう設定にしかできない)ことで対応した。 この場合、前半部分の処理と後半部分の処理で同じ動画ファイルの全体を毎回前処理するため、倍の時間を要する(今回の場合6時間近く要した)という問題がある。 もう少しスマートな方法が無いかとも思うが、見出せていない。
multiAVCHDの初期値は問題なく冒頭の「前提条件」に適合するものが多いが、一応以下は念のため確認しておいた方が良さそうである。
multiAVCHDの設定をいろいろ操作していると、出力形式(BDMVなのかDVD-Videoなのかetc.)に関する情報が全く無いことが不安になる。 実は全ての設定を終えて最後に「Start」した直後に選択が求められるという、少々解りにくい仕様になっているので、それは最初から意識しておく必要がある。
multiAVCHDはディスクに焼き付ける元データを製作するソフトウェアで、焼き付け自体は別のソフトで行う必要があり、ImgBurnの使用が推奨されている。 ImgBurnの使用については情報源が多いが、ISOイメージファイルを一旦作る手順を記述している情報源が多々ある。 これは全くの無駄である(multiAVCHDの出力結果を他のパソコン等へ移してから焼き付ける必要があり、移す段階でファイルが散逸する恐れがある場合を除く)。 multiAVCHDが「AVCHD」フォルダ内に生成した「BDMV」「CERTIFICATE」フォルダを直接焼き付けるのが得策である。