古都で働く、プリングルズ大好き似非システム管理者が、お仕事関係の備忘録を書いたり、日々のあれこれを書いたり。
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
aviutlでmpeg2エンコーディング。
自宅サーバにminidlnaを導入したりらじる★らじるの録音が出来るようにしたりという話を先月に書いていたが、それから色々と変更があり、結果として現在はFedora21 serverのi586版を使用している。また後々、Fedora21の導入について備忘録を残そうと思っているが、とりあえず今のところ、sambaとminidlnaを使って家庭内メディアサーバが使えるようになった。
ところで、以前のエントリでも触れていたのだが、我が家のBRAVIAはmpeg2にしか対応していないようで、mp4ファイルをそのままminidlnaサーバへ置いても認識してくれない。minidlnaではトランスコードも出来ないようなので(トランスコードのためのパッチはあるようだが)、BRAVIAで動画を再生するためには事前にmpeg2へ変換しておく必要がある。
そこで、今回はaviutlを使ってmpeg2へ動画を書き出す設定をする。
ところで、以前のエントリでも触れていたのだが、我が家のBRAVIAはmpeg2にしか対応していないようで、mp4ファイルをそのままminidlnaサーバへ置いても認識してくれない。minidlnaではトランスコードも出来ないようなので(トランスコードのためのパッチはあるようだが)、BRAVIAで動画を再生するためには事前にmpeg2へ変換しておく必要がある。
そこで、今回はaviutlを使ってmpeg2へ動画を書き出す設定をする。
以前は、avitulではmpeg2の読み込みには対応していたものの、mpeg2での書き出しが出来なかったので、一旦ロスレス動画へ書き出した後でエンコーダーでエンコードするとか、TMPEGEncを使うなどしていた。ところが、ありがたい事にffmpegをaviutlで呼び出すプラグインを作られた方がおられて、それを利用するとffmpegを通して直接、mpeg2を書き出す事ができるようになる。
Aviutlからffmpegで出力してみる -rigayaの日記兼メモ帳
に、ffmpeg出力プラグイン(ffmpegOut)が紹介されているので、ここからダウンロード。設置方法も書いてあるので読んでもらえればと思うが、ようはダウンロードしたファイルを解凍→aviutlのインストールフォルダ内のpluginフォルダへ解凍ファイルを設置、という感じ。
また、ffmpegのサイトからffmpeg.exeもダウンロードしておく。実際には、Windows版のビルドを行っている別サイトへのリンクになっているので、そちらへ直接行っても構わないだろう。32bit版か64bit版かは、使用しているWindowsに合っている方を。それぞれにStatic、Shared、Devがあるが、Staticをダウンロードしておけば良い。今回、うちはWin8 64bitを使用しているので、64bit Staticをダウンロードした。ダウンロードしたファイルを解凍したファイル類にbinというフォルダがあり、その中のffmpeg.exeをaviutlフォルダ内へコピーしておく。
出力プラグインが適切に配置されていれば、aviutlを起動してメニュー→その他→出力プラグイン情報を見ると「ffmpeg / avconv 出力」が追加されているはずだ。追加されていれば、ファイル→プラグイン出力で「ffmpeg / avconv 出力」を選ぶことでffmpegを通しての出力が出来るようになる。
実際に何かの動画をaviutlに読み込ませて、ffmpeg出力を呼び出してみよう。出力ダイアログで「ビデオ圧縮」ボタンを押すと、ffmpegの設定を行う事ができる。初めて起動した時は、まずffmpeg.exeの場所を指定しておこう。先程ffmpeg.exeを保存した場所を指定しておけば良い。次に出力の設定だが、設定画面の上に「プロファイル」プルダウンリストがあるので、そこから事前に設定済のプロファイルを選ぶ事が出来る。ただ、今回の場合はmpeg2のプロファイルがなかったので、mpeg1のプロファイルから変更していく事にした。
ffmpegのオプションはかなり細かく設定が効くのだが、ここでは最低限必要そうなオプションを指定しておく。
-c:a ac3 -b:a 128k
音声のコーデックをac3に、ビットレートを128kbpsに。
-c:v mpeg2video
動画をmpeg2videoでエンコード。
-qmin 3 -b:v 4M
ビデオの品質を設定。
-f dvd
DVDに最適化した形式で出力する。必要ないかもしれないが、mpeg-tsをmpeg-psへ変換する時には指定するので、ここでも指定しておいた。
-threads 4
マルチコアCPUでマルチスレッドを利用。場合によってはエンコードが速くなるらしいがあまり分らない。
上記のオプションを指定しておき、プロファイルとして新規保存しておけば、次回以降はプロファイルを指定するだけで良くなる。
ffmpegの設定画面を閉じたら、ファイル名をつけて保存しよう。すると、書き出しが始まるはずだ。
mpeg2ファイルはmp4(H.264)に比べるとやはり、かなりのファイルサイズになってしまう。なので今時mpeg2を使う事も多くはないと思うが、我が家ではこの方法でmpeg2が書き出せるようになって非常にありがたい。またffmpegは当然fedoraでも使えるので、簡単なスクリプトを書けばサーバ上で自動的に変換させることもできるだろう(600MHzのCPUでどれくらい時間がかかるか分からないが・・・)。
PR