知人に複数 FLV から DVD を作成したいと言われたので調査することに。これが思いのほか嵌まった・・・
そもそも、動画を変換、編集することがかなり久しぶりだった。昔は、DVD-RAM で TV 番組を録画して CM カットして DVD-R に保存なんてこともやっていたが、何年も前であまり覚えていない。
前は、DVD ドライブを買うと、動画編集ソフトやオーサリングソフトがバンドルされていたが、現在手元に何もない・・・なのでフリーソフトでやるしかない。
まず、昔の手順的なものを思い出すことに。たしか、
- DVD-RAM(vob たしか中身は mpeg2)に録画
- GOP 単位でざっくり CM カット
- AVI(huffyuv 可逆圧縮)変換
- フレーム単位で細かくカット
- mpeg2 に変換
- オーサリング
- DVD 焼き
とりあえず、今回は編集が入らないので、
- FLV
- AVI(huffyuv)に変換
- オーサリング(mpeg2 に変換含む)
- DVD 焼き
まず、FLV の変換だが、Any Video Converter というソフトでいけそうだ。これで AVI に変換。オーサリングは、Windows7 についてるWindows DVD メーカーを使用した。Windows DVD メーカーは ISO ファイルは作れずに一気に DVD に焼くようだ。
簡単にできたと思い、中身を確認してみると、出た!音ずれだ・・・
そういえば昔も嵌まった・・・だから音を分離して結合してなんて記憶が残ってたわけだ。ちゃんと確認してみると、AVI の時点でずれている・・・先に確認すれば 1 枚無駄にならなかったのに・・・
とりあえず Any Video Converter で変換時に音を分離することにする。で、VirtualDub で結合して AVI の時点で音があってる状態にしてみることに。
ここでさらに問題が。Any Video Converter で作成した AVI(huffyuv) が VirtualDub で開けない。VirtualDub の圧縮の選択肢の中に huffyuv があるというのに。つまりコーデックは入っているということだが。調べてみたら動画再生、作成等の API が 2 種類あるらしい。
- Video for Windows(コーデックを使用)
- DirectShow(フィルターを使用)
VirtualDub のプラグインで DirectShow を使用するものがあったので入れてみるがうまく認識しなかった。直接 FLV を読み込むプラグインもあるようだったがこれも読み込んでくれない。そもそも、64bit 版の VirtualDub を使っているがプラグインは 32bit 版な気がする。ソース付のもあったのでコンパイルしなおす等もしてみたが、あっているかも分からずやはり認識せず。
仕方ないので、ほかに可逆圧縮はないものかと探したところ、ffv1 とういものが共通で扱えたのでこれでやることに。
で、Any Video Converter で ffv1 を出力後、VirtualDub で読み込み、分離した音を結合した AVI を作成。作成された AVI を見てみると、音がずれている・・・
さらに確認してみると、そもそも、分離した、ffv1 の動画と wav の音の時間がずれている・・・あうわけがない・・・
VirtualDub でどうにかならないかと「オプション」->「音声に同期させる」や「遅れる場合はフレームを落とす」を選択してみたがダメだった。 「音声」->「インターリーブ」あたりを触ってもダメ。
前はどうやっていたか思い出せないが、有料のソフトがいい塩梅でやってくれてたんだろうか。とりあえずさらに調べてみることに。
すると、「映像」->「フレームレート」の「ソースレート調整」->「映像と音声の再生時間が一致するように変更する」という設定があり、これでいけた。
これで映像と音があった AVI ができたので、次は、mpeg2 変換とオーサリングだ。前回みたく失敗するたびに DVD-R が消費されると辛いので、VIDEO_TS 形式なり ISO イメージなりで出力できるアプリケーションを探すことに。mpeg2 に変換できるもの自体が少ないため、選択肢はあまりなく、その中では、メニュー等も作れる DVD forger がよさそうだったのでこれにすることに。
で、またまた問題が。DVD forger は ffv1 形式が読み込めない。かなり振り出しに戻った気分だ。だがここまできてやめるわけにもいかない。すでにかなりの時間を使っている。
Any Video Converter は他の可逆圧縮を選べない。となると、VirtualDub で音の結合をする時点で別形式に変換することに。
可逆圧縮もさほど選択肢がないわけだが、Ut Video Codec YUV が使えたのでこれにする。正直よくわかってないので、ここでも VfW と DirectShow が入り混じっているのかもしれない。
やっと、DVD forger でオーサリングすることに。とりあえずメニューは作らず。DVD forger には音ずれの設定等設定項目があまりないので mpeg2 に変換時に音がずれないでくれと願いつつ、変換 & オーサリングを実行。
確認しみると、おぉ音があってる!後は焼くだけかと、さらっと見てたら動画が途中で終わっている・・・
実は、FLV ファイルは 4 つあって、その 1 つが再生された時点で終わっていた。
ファイルは個々に変換しているので、Ut Video Codec 形式の AVI も 4 つある。それを、DVD forger に追加すると、タイトルが 4 つできる。メニューを作成して、4 つボタンをつけてみると、ボタンクリックからは再生できる。が 1 タイトル終了後メニューに戻ってしまう。次のタイトルが再生できない。見れないことはないのでいいのかも知れないが、美しくない。俺的にアウトだ。
ということで、Ifo Editor なるものを入れて、ifo ファイルを編集することに。
VIDEO_TS.IFO の「VMGM_PGCI_UT」->「LU_1 PGC-Menu_1」の Pre Command や VTS_01_0.IFO の 「VTS_PGCITI」->「VTS_PGC_1」の Pre Command や Post Command をいじってみることに。
(Jump_TT)Jump to Title や(CallSS_VMGM)Call VideoManager PGC など適当にさわってみるが再生されない。メニューにすら飛ばなくなる。PgcEdit のほうがいいという情報も見かけたので入れてみるが変わらない・・・
まったく知識なくいじっているので仕方がないといえば仕方がないが。かと言って IFO の構造を学ぶのも大変そうだ・・・が、もはや意地でやってるので、さらに調べることに。
- http://www.geocities.jp/montty_jp/backup/index.htm
- http://dvd.sourceforge.net/dvdinfo/vmi-jmp.html
「Edit videos, audio tracks and subtitles...」から入ったダイアログに「Merge」なるボタンがあるのに気付く。だが押せない。動画を複数選択しても Disable のまま・・・なんのためのボタンだと思いつつ。View のラジオボタンを適当に押していると、「Outline(for re-orderring, merging and deleting titles)」を選択したときに、Enable になった。なんて使いづらいインターフェースだ。View なんて書くと見た目だけ変わるのかと思うじゃね~かと思ったが、よくみりと、ちゃんと書かれている・・・「Outline(for re-orderring, merging and deleting titles)」
英語は苦手だ・・・
とりあえず、4 つ全ての動画を選択して、Merge をクリック。
メニューのボタンが 1 つになったが問題なし。チャプタは?とも思ったが拘りだしてはキリがないし、俺的に拘るところでもないのでスルーすることに。
確認してみるとちゃんと再生された。音が短くそれにあわせた分一番最後が若干さくっと終わる感じはあるが、ご愛嬌ということで。
後は、DeepBurner で DVD に焼いて終了。焼くのはすんなりいった。
久しぶりに動画の編集をやったがやはり大変。昔に比べてマシンスペックはあがっているので、エンコード時間は短いが、それでも数十分、数時間の待ちがあるので、待ったあとダメだった場合が辛い。
まぁ昔は 30 分の動画をエンコードするのに一晩中動かしても終わってなかったりしてたわけだが。
ちなみに著作権が絡む動画は注意が必要。個人的にダウンロードして複製する分には問題なさそうだが、YouTube などはダウンロードの時点で規約違反となる。違法でなければやっていいというわけでもない。モラルの問題もある。
了承を得られている等、著作権的に問題がない動画ならいいが。
本の自炊屋が消えていったりしているので、著作権が絡む動画を今回のように人に頼まれて変換して渡すとなるとアウトな気がする。
長々と書いてて読みにくいことに気付いた。キャプチャ等を貼るべきかと思うがそれもメンドイ。無理やり文字を大きくしたりでなんとかならんかとやってみたが・・・