ffmpegでmkvをmp4へ変換したいときに、両方がH.264+AACだった場合は再エンコードなしに変換できるらしい。
標準のaacだとクオリティがイマイチらしいので、libfaacを使ってみた。

ffmpeg -i input.mkv -vcodec copy -acodec libfaac output.mp4

かなり高速で処理が終わる。sameqオプションは挙動が怪しいらしいが、映像のほうは特に問題ない(パッと見)。ただ、音声のほうがこもった感じになった。

一括変換したかったので、以下のようなシェルスクリプトを書いた。

#!/bin/bash
for f in `find *.mkv`
do
  outputname=`echo ${f} | sed s/\.mkv/.mp4/`
  ffmpeg -i ${f} -vcodec copy -acodec libfaac -sameq ${outputname}
done

もともと画質・音質があまり良くない動画だったので今回は良いが、質にこだわるんだったら設定とかもうちょっと探ってみないとだめみたい。

, ,