スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

FLV(H.264/MP3)のファイルを音ずれしないようにエンコードする

今回は音ずれしないようにエンコードする方法の紹介。

AviUtl で読み込めないニコ生TSを Avidemux で無劣化編集する
【タイムシフト】 ニコ生のTS(FLV H.264/MP3)を編集、エンコードする方法
宇多田ヒカルのUstライブをスムーズにシークして再生する方法

色々調べた結果FLV(H.264/MP3)のファイルをそのまま編集するのが難しいみたいで音ずれがよく発生したが少し手を加えることで音ずれがなくなった。

まずTSのFLVから映像と音声がずれている場合はFLVExtractでh264とmp3にdemuxしてから動画と音声を別々にエンコードするか、一緒にエンコードしてmuxせずに出力する。TSのFLVから映像と音声がずれていない場合は映像と音声を一緒にエンコードしてそのまま出力する。次に動画と音声ファイルをmp4boxのcmdを使ってmuxする。この際に正しいfpsを指定しないと音ずれの原因になる。fpsはMediaInfoを用いてオリジナルではなくフレームレートの値を使用する。この方法はFLV(H.264/MP3)のH.264をエンコードせずに音声だけをAACにエンコードしてmuxする場合にも有効。開始時間が最初からずれている場合は以下のdelayを指定する。

fps_flvenco.png

29.97fpsの場合
MP4Box -fps 29.97 -add hoge.h264 -add hoge.aac -new hoge.mp4



【追記】2011年7月24日
mp4box(GPAC 0.4.6以降?)のdelayはDirectShowで再生ならその時間通りに再生できるが、Flashコンポーネントだと映像と音声のどちらかがない場合が1秒以上開いていると1秒くらいで映像と音声が同時に再生される。

これでニコ生のTSで映像と音声が一致していない動画のmuxが楽になったが、あまりに映像と音声の開始時間がずれていると早い方をカットしないと、Flashコンポーネントでは音ズレする結果となる。

例:この場合動画の開始時間が指定時間(ms)遅れて再生される。映像がrawファイル(.h264 .264)の場合fpsを指定する必要がある。

MP4Box -fps 23.976 -add hoge.h264:delay=* -add hoge.aac -new piyo.mp4
関連記事

この記事へのコメント

管理人のみ通知 :

トラックバック


ニコニコチャンネル始めました
ニコラボチャンネル
スポンサード リンク
新着記事と追記・編集記事
スポンサード リンク
ブログ内検索
プロフィール

Author:ロベルト
お問い合わせはこちらまで
robelt2525[at]gmail.com

中の人 @nico_lab
ブログ更新用 @blo_nico_lab

詳しいプロフィールはこちら

カテゴリ
アクセスの多い記事
記事アーカイブ

最新コメント
リンク
ニコニコ静画
アニメカテゴリ毎時ランキング
免責事項
当ブログはリンクフリーです。記事によりトラブルが生じた場合でも、当ブログ管理人は一切の責任を負いません。 当ブログに記載されている情報の正誤や利用は、ご自身の判断でお願いします。 紹介したアプリケーションに関する問い合わせは作者に問い合わせてください。ニコニコ動画に関する質問はまずは公式掲示板、2ch、各Q&Aサイトを参照ください。
ブログの読者になる(RSS)
アクセス数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。