昨日「ふぬああ」でテレビをキャプる際に、エラー発生。「チャーリーとチョコレート工場」の録画ファイルが二つに分断されてしまいました。

幸いエラーが出たのはCM中だったので後から編集、結合すれば何の問題もないのですが、音声部分のファイルが壊れているらしく、私が通常行っているやり方では結合出来ませんでした。

私の通常の動画結合のやり方(TVキャプの場合)

以下に書くのは私がTVキャプチャした素材を結合する際のやり方で、インターネットからダウンロードした素材に通用する事は殆どありません。

通常ダウンロードした動画を結合したい場合、まずは動画、音声共に圧縮形式、サンプリングレート、フレームレート、映像の大きさ等々、細かい設定を統一する作業が必要になります。

  1. 分断された動画ファイルそれぞれを、音声部分、動画部分に分ける(VirtualDubMod使用)
  2. ふぬああでTVキャプした場合、微妙にフレームレートが異なる場合があるので、フレームレートの調整(VirtualDubMod等を使い、aviファイルのヘッダ情報のfpsのみ書き換えればOK)
  3. 音声部分を、別アプリケーションで結合(面倒臭がりの私は市販品のUlead Media Studio使用)
  4. 音声部分をLame mp3でmp3形式にエンコード
  5. 動画部分をavisynthを通してVirtualDubModに読み込ませ、結合し、目的の圧縮形式にエンコード。
  6. VirtualDubModでエンコードした動画、音声を直読みし、フレームレートや音声のズレを調整し、結合。

という手順を踏むのですが、今回は音声部分にどういうエラーが含まれているのか、「音声部分が再生は出来るけど、ファイルを素通しして結合が出来ない」状態になっていました。Ulead Media Studio、wavy、WaveFFT、WaveLabLite等を使用し、素通し再保存を行おうとしても、エラーが出るばかりです。

注)素通し再保存とは
ここでは、ファイルを一旦読み込み、データに何も手を加えずに、別のファイル名で保存し直す事を言います。動画の場合、ヘッダ部分のフレームレートの変更のみや、FourCCの変更のみで映像のデータ部分に変更を加えない場合も「素通し」と表現する場合もあります。

今回取った措置

今回、音声部分の再生は可能だったので、以下avsファイルを作り、avisynthを通して結合を試みました。

#「c:\folder\」部分は、avi、wav、avsファイルが同一フォルダ内にあれば記入不用
Avisource("c:\folder\前半.avi",audio = false) + Avisource("c:\folder\後半.avi",audio = false)
AudioDub(last, WavSource("c:\folder\前半.wav") + WavSource("c:\folder\後半.wav"))
return last

上記スクリプトではVirtualDubModで音声部分をエンコードする為、動画部分も読み込んでいます。
音声部分のみで読み込みが出来るソフトを使用すれば、動画部分は恐らく必要ありません。

Avisource、WavSourceとも「+」で結合でき、AudioDubで音声と動画部分を結合できます。
今回は上記のような形で音声部分のサルベージを行い、無事保存する事が出来ました。

キャプチャ中のエラーは全く読み込み、再生が出来なくなる事の方が多いです。
まずはエラーの起きない環境を構築する事が大切ですが、PCでキャプチャを行う場合、Windowsが裏で何かしら別の作業を行い始める場合も多く、完全にエラーをなくす事は難しいです。

それにはキャプチャ専用マシンを一台作る以外解決策は無いのかもしれません。
そのような経済力や情熱があれば、になりますけど(;´ω`)