HOME > MobileHackerz Knowledgebase Wiki > masami のバックアップ(No.1) |
音ずれには -async オプションをつければ解決するものや wmvからの変換で起きるものなどありますが、ここでは 元の動画が23.976fpsであった場合に生じる音ずれについて説明します。
症状としては 「はじめは問題ないのにだんだんズレが大きくなってくる」というものです。 wmvからの変換ではないのにこの症状になる人は 以下を読めば解決するかもしれません
はじめに変換したい動画のフレームレート(fps)を見ておきます ここではvideo easy infoというソフトを使ってます。 23.976fpsとありますね。 23.976でなくても小数第3位まであるレートなら同じ問題だと思われます。 29.97等 小数点第2位までのフレームレートである場合は 音ずれの原因が別のところにあると思うので 他を参照してください
この動画ファイルをffmpegに渡してみると Input 23.98fpsとなってます。これはffmpegの性質であって携帯動画変換君のせいではありません。 作者さんが言っていたのもこのことかと思います
本当は23.976fpsであるものを23.98fpsとして処理すれば 映像と音声の同期がおかしくなるのは明らかですね。 たった0.004フレーム/秒 のズレでも何分もすれば耐え難いズレになるのです。
どうやらffmpegは小数第3位を計算しないようなので 元の動画をffmpegが正しく読めるようにあらかじめ調節してやればいいのです。
自分はVirtualDubModを使いましたが 他のソフトでもいいと思います ここではVirtualDubModでの方法を書きます。
まずVirtualDubModをダウンロード。 日本語化プロジェクトに日本語化パッチがあります。
解凍後、VirtualDub.exeをダブルクリックで起動。左上の ファイル→開く か、ドラッグ&ドロップで変換したいファイルを読み込みます。 その後 上の 映像→フレームレート とたどります。
映像フレームレートコントロールの画面がでますので次のようにしてください。
ffmpegが正しく読めるならどんな値でもいいと思いますが できるだけ近いほうが違和感もないだろうということで 23.98fpsにします。
最後に 映像→ストリームの直接コピー を選びます。あとは ファイル→名前をつけて保存 として 適当なところへ保存してください。 そのファイルを携帯動画変換君で変換すると 音ずれしない動画ができます。 (ストリームの直接コピーができない場合は 仕方ないので完全処理モードのまま名前をつけて保存してください。時間がすごくかかります)
自分は -async 100 オプションをつけています。効果があるのかしりませんが 不安な人は一応つけてみるといいでしょう。
→Q. 音声がずれるんですけど… A. Trancoding.iniをメモ帳などで開いていただき、ffmpegの設定の中に
「-async 1」(または 「-async 1000」など任意の数値)を加えてみてください。
また、PCで確認するときはQTなどで見るのがいいです。 自分はMediaPlayerClassicで見てたのですが どうもまだ0.1秒ずれると思ったら このプレイヤーのせいでした(笑) QTで見たところ全くずれてませんでした。
以上 暇な上によくわからなかったのでページを作成しましたが 参考になればと思います。書く場所違ったら移動、削除などしてください。