YouTubeの音声入れ替え(2)

以前、flv形式の動画の音声入れ替えについてのメモを書いたが、もう少し楽な別の方法のメモ。

以前のメモでは、いったんflvからmpgに変換して入れ替える方法を記したが、最近のyoutube等のflv動画の中身(エンコード)がH.264になっていることが多い。

H.264のflvから.mpgファイル(mpeg1/mpeg2)に再エンコードするのは画質も良くないし、時間も無駄なので、映像はさわらず、そのまま音を入れ替えることにする。

使うツール

  • FLV Extract (flvから音声と、映像を取り出す) もしyoutubeからmp4で落としたのなら、下のYambで取り出しも行える。
  • Yamb (音声と映像を組み合わせて、mp4や3gpファイルを作る) - mp4から音声と映像を取り出すこともできます
  • audacity (音声のタイミングを合わせる)

FLV Extractで映像と音声の取り出し

Extractのところで videoとAudioにチェックを入れ、「Drop FLV files here」の所にFlvファイルをドロップする。もとのFlvファイルと同じフォルダに映像/音声が取り出される。 映像は.264という拡張子、音声は.aacのファイルができていた。(これらの拡張子は元のflvが、どう作成されたかによって変わる)

音声の同期

音声の入れ替えで面倒なのが、映像と新しい音声の同期。特に口の動きのあるものは、なかなか同期が難しい。
方法として、古い音声と新しい音声を、重ねてタイミングをとった後に古い音声を消す。

同期を取るために、音声編集ソフトaudacityを使う。audacityのバージョン1.3からは、ffmpegを呼び出すことににより、.aacも扱えるようになっている。
まず、もともとの音声を読み込む。(この音声トラックは映像と同期している)。

注:読み込んだ音声が、明らかに短かったり長すぎる時は、指定されているサンプルレートが異なっている可能性がある。Audacityトラックのサンプルレートが表示されている箇所の上側にある三角印をクリック->Set Rate から正しいサンプルレートを指定する。

つづけて、新しい音声を読む込む。 別のトラックで表示され。音の大きさがグラフで表示されているので、タイミングがずれがわかりやすい。この場合約5秒早い

新しい音声をずらしたり、適宜無音部を挿入したりして、古い音声トラックと同期させる。(山の位置を合わせる)

最後にもともとの音声トラックを選択し、「無音化」する。

そしてミックスして 合成用の音声ファイルを作成する。

Yambでの合成

Yambを立ち上げ、mp4の作成をクリック。

先ほど取り出した.264ファイルと、作成した音声ファイルをドロップし、「Next」をクリックしてできあがり。