ubuntuでx264を使ってエンコードメモ

前回はWindowsエンコードのテストをしたけど、実際にシェルスクリプトを書いてゴリゴリと作業をするのはubuntuの入ったPCの予定なのでこちらでのインストール等作業メモ
別にやらなくてもできるけど、やっておくと楽だから。という理由の作業も多々あるので注意。

環境

ubuntu 10.04
ツールはダウンロードしたもの or apt-getで済ませる。

このメモの通りインストールした結果

wineを使ってavisynth→x264を使ってエンコード→NeroAacEncで音声エンコード、MP4BoxでMP4に。
avisynthより後ろを全部Linux版にすることで速度低下を防ぐつもり。

wine

wineを入れてドライブの設定を行う。

$ sudo apt-get install wine
$ LANG=C winecfg

LANG=Cはなくてもいい。ただ、フォントが崩れて読みにくいのを避けるため。
winecfgでは.wineがホームディレクトリに作られる他、wineから見た時にディレクトリをドライブとして扱う設定があるのでエンコードしたいソースのあるディレクトリをドライブとして設定しておくとあとでavsファイルを書く時にシンプルになって楽。

avisynth

インストールする。
http://sourceforge.net/projects/avisynth2/

$ LANG=C wine Avisynth_258.exe

こちらもLANG=Cはなくてもいい。フォントが崩れて読みにくいのを避けるため。
pluginsに入れるものは入れておくこと。
パスは$HOME/.wine/drive_c/以下はWindowsの時と同じ。

avs2yuv

以下のURLからダウンロード
http://akuvian.org/src/avisynth/avs2yuv/
「exe only」と書かれたものをダウンロード。
映像ソースのディレクトリに毎回設置するのは面倒なのでwineのパスの通った場所にコピー。

$ cp avs2yuv.exe $HOME/.wine/drive_c/windows/system32/

x264とMP4Box

$ sudo apt-get install x264 gpac

NeroAACEnc

http://www.nero.com/jpn/technologies-aac-codec.html
ダウンロードした後、パスの通ったところにコピー。

$ cd linux
$ chmod a+x neroAacEnc
$ sudo mv neroAacEnc /usr/bin

使ってみる

Windowsでの下処理をした後、

$ wine avs2yuv movie.avs -o -|x264 - --demuxer y4m --preset slow -q 25 --fps 29.97 --threads auto -o movie.264
$ neroAacEnc -br 192000 -if movie.wav -of movie.m4a
$ MP4Box -add movie.264:fps=29.97 -add movie.m4a:lang=jpn -new movie.mp4

あとはシェルスクリプトとか書けばもっと作業が楽になるんだろうけど、それは今度やる。