Avi→mp4への変換を行ってたら
何故かAviutlでは動画のH264へのエンコードはうまくいくのに音声の変換がうまくできないファイルがあったのでその時の対処法をメモ。
1. aviファイルから音声を抜き出す
まず音声をFree Audio Exractorを使い “Same format as original”で出力します。
2. ffmepgでaacに変換する
こんな感じに変換する。
ffmpeg.exe -y -i hoge.mp3 -vn -ac 2 -vol 256 -ab 112k hoge.m4a
ビットレートは112kで低めなのでもうちょっと高くしたい人は256kとか好きな値を入れましょう。
3. ffmpegで動画と音声を結合する
こんな感じで結合
ffmpeg -i hoge.mp4 -i hoge.m4a -vcodec copy -acodec copy output.mp4
-vcodec, -acodec, でcopyを指定するば再圧縮せずに結合だけしてくれる。
ffmpegについてよく知らなかったけど、知れば知るほど何でもできますね、このツール…。
気をつけること
ffmpegのバージョンが古いと
Estimating duration from bitrate, this may be inaccurate
というエラーメッセージが出ました。
-analyzeduration とかのオプションを付けてみましたが解決しませんでしたが、新しめのffmpegをダウンロードしてきたら変換出来ました。
参考サイト
CLI to mux/merge MP4 video and AAC audio?
http://forum.videohelp.com/threads/300841-CLI-to-mux-merge-MP4-video-and-AAC-audio
ffmpeg | 銀メモ -SilveryMemo-
http://silverymemo.wordpress.com/category/pc/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2/ffmpeg/