debian linuxで手軽にプログレッシブ再生可能なh.264ファイルをエンコード
はじめに
apt-getで入手できるパッケージだけを使って、Flash Playerでプログレッシブ再生可能なh.264動画を作成する方法のメモです。ffmpeg関係は何かとハマる作業が多いのですが、この方法は僕が今まで試した中で一番手軽でした。
ffmpegとgpacのインストール
apt-getだけといっても標準のリポジトリではパッケージが足りないので、www.debian-multimedia.orgがsources.listにあることが前提です。ない場合は/etc/apt/sources.listに以下を追加、debianのバージョン指定は読み替えて下さい。
deb http://www.debian-multimedia.org etch main
h.264をエンコードするためにffmpegを、出力されたmp4ファイルをプログレッシブ再生可能にするためにgpacを使います。両方ともwww.debian-multimedia.orgにあるので、apt-getでインストールします。
apt-get install ffmpeg gpac
mp4ファイルの作成
あとはお好みのオプションでmp4ファイルにエンコード。しかし、このmp4ファイルはメタデータの位置がメディアデータより後ろにあり、このままでは全てのデータを読まないと再生できないそうです。
ffmpeg -i hoge.avi -f mp4 -vcodec h264 -acodec aac piyo.mp4
プログレッシブ再生を可能にするには、ffmpegで吐き出したmp4ファイルをMP4Boxで出力し直して、メタデータがメディアデータの前に来るよう、ボックスを並び替えてやれば良いようです。
MP4Box -add piyo.mp4 -new fuga.mp4