音ずれについて

音ずれには -async オプションをつければ解決するものや wmvからの変換で起きるものなどありますが、ここでは 元の動画が23.976fpsであった場合に生じる音ずれについて説明します。

症状としては 「はじめは問題ないのにだんだんズレが大きくなってくる」というものです。 wmvからの変換ではないのにこの症状になる人は 以下を読めば解決するかもしれません

0.動画のフレームレートを調べる

はじめに変換したい動画のフレームレート(fps)を見ておきます http://www.geocities.jp/yhyyn_m/files/video.jpg ここではvideo easy infoというソフトを使ってます。 23.976fpsとありますね。 23.976でなくても小数第3位まであるレートなら同じ問題だと思われます。 29.97等 小数点第2位までのフレームレートである場合は 音ずれの原因が別のところにあると思うので 他を参照してください

この動画ファイルをffmpegに渡してみると http://www.geocities.jp/yhyyn_m/files/ffmpeg.jpg Input 23.98fpsとなってます。これはffmpegの性質であって携帯動画変換君のせいではありません。 作者さんが言っていたのもこのことかと思います

本当は23.976fpsであるものを23.98fpsとして処理すれば 映像と音声の同期がおかしくなるのは明らかですね。 たった0.004フレーム/秒 のズレでも何分もすれば耐え難いズレになるのです。

1.動画を調節する

どうやらffmpegは小数第3位を計算しないようなので 元の動画をffmpegが正しく読めるようにあらかじめ調節してやればいいのです。

自分はVirtualDubModを使いましたが 他のソフトでもいいと思います ここではVirtualDubModでの方法を書きます。

まずVirtualDubModをダウンロード。 日本語化プロジェクトに日本語化パッチがあります。

解凍後、VirtualDub.exeをダブルクリックで起動。左上の ファイル→開く か、ドラッグ&ドロップで変換したいファイルを読み込みます。 その後 上の 映像→フレームレート とたどります。 http://www.geocities.jp/yhyyn_m/files/vdm.jpg

映像フレームレートコントロールの画面がでますので次のようにしてください。 http://www.geocities.jp/yhyyn_m/files/vdm2.jpg

ffmpegが正しく読めるならどんな値でもいいと思いますが できるだけ近いほうが違和感もないだろうということで 23.98fpsにします。

最後に 映像→ストリームの直接コピー を選びます。あとは ファイル→名前をつけて保存 として 適当なところへ保存してください。 そのファイルを携帯動画変換君で変換すると 音ずれしない動画ができます。 (ストリームの直接コピーができない場合は 仕方ないので完全処理モードのまま名前をつけて保存してください。時間がすごくかかります)

3.そのほか

自分は -async 100 オプションをつけています。効果があるのかしりませんが 不安な人は一応つけてみるといいでしょう。

→Q. 音声がずれるんですけど…  A. Trancoding.iniをメモ帳などで開いていただき、ffmpegの設定の中に

  「-async 1」(または 「-async 1000」など任意の数値)を加えてみてください。

また、PCで確認するときはQTなどで見るのがいいです。 自分はMediaPlayerClassicで見てたのですが どうもまだ0.1秒ずれると思ったら このプレイヤーのせいでした(笑) QTで見たところ全くずれてませんでした。

以上 暇な上によくわからなかったのでページを作成しましたが 参考になればと思います。書く場所違ったら移動、削除などしてください。

コメント



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS