Beer Media Server 2のレグザ ZP2用スクリプトを修正しメディアの種類を増やしてみた

Beer Media Server 2をサーバーで動かし、REGZA ZP2でDLNA再生するためのスクリプトファイルを修正しました。今回はmp4のトランスコードを重点に修正しています。トランスコードにはffmpegを使います。フルHD解像度までトランスコードします。レグザはZP2でなくとも動くと思います。



Beer Media Server 2(BMS2)はDLNAサーバーソフトウエアです。クライアントへの応答を自由に記述できるので手持ちの再生機器に合わせたサーバへ仕立てる事ができます。
http://code.google.com/p/beer-media-server2/

そのBMS2にレグザZP2を認識させるスクリプトファイルをBeer Media Server 2 をREGZA ZP2で使ってみた で紹介しました。今回はそのスクリプトの修正と対応メディアを増やしました。

トランスコードにはffmpegを使います。BMS2には添付されていませんので、ご自分で "ffmpeg.exe" を用意する必要があります。
ffmpegの実行ファイル及びライブラリはBMS2のフォルダの下に"ffmpeg"というフォルダを作ってそこに置いてください。video filterの仕様が変わる前のffmpegバージョンでは動かないです。"-vf"オプションでエラーが出る場合は最近のビルドを使ってください。

私はffmpegの実行ファイルのビルドに いね様の"オレ流FFMpegビルド用ツール Ver1.2.1"を使わせていただきました。とても便利です。
http://www.sakura-zaka.net/ffmpeg/


BMS2のバージョンはVersion 2.0.130116で動作確認をしています。

今回でjpeg画像、PCM音声、WMA音声も送るようにしています。メディアファイルの識別ロジックは手抜きなので上手く動かないかもしれません。

今まで高解像度のビデオをトランスコードしてレグザへ送ることができないでいました。1440x1080 とか 1920x1080 とかの解像度を送るとレグザは真っ黒な画面を表示するだけで映りませんでした。
試行錯誤を繰り返した結果、インターレースでないと表示しないようなので、今回は(手抜きで)解像度に依らずすべてインターレース化してレグザへ送っています。

また、アスペクト比4:3のmp4ファイルは黒帯付の16:9にすることで対応しています。

DVD ISOは 私は使う事が無いので BMS2作者様のサンプルを元にそれっぽいコードを書いています。まともに動かないかもしれません。

高解像度ビデオのトランスコードには高速なCPUが必要です。私はCore i5程度のサーバーで動かしていますが、ソースによっては100%近いCPU利用率になります。CPUが遅い場合は、高解像度へのトランスコードを行わないようスクリプトを改造する必要があるでしょう。

ビットレートは低めになっていると思います。ビットレートは"vbitrate"という変数で解像度から計算しています。

レグザで音楽を再生するメリットが見えませんがせっかくなので音声ファイルも再生できるようにしました。
PCMとWMAはmp3へトランスコードします。mp3はそのまま送ります。

jpegファイルの再生に対応させました。

試行錯誤でffmpegのオプションに意味のない指定が残ってるかもしれません。オプションの意味をよく判っていません。いじって映らなくなるといやなので放ってあります。

"common.lua"と"REGZA-ZP2.lua"はBMS2のユーザ用のスクリプトを保存するフォルダに置いておきます。その保存するフォルダは"BMS_setting.exe"を実行して指定します。

以下のテキストファイルをメモ帳などへコピペして"common.lua"と"REGZA-ZP2.lua"とファイル名を変えてください。文字コードをUTF8にして保存しないとレグザで文字化けして表示されるみたいです。

common.lua

REGZA-ZP2.lua

※より新しいLuaスクリプトを"BMS2用Luaスクリプト"に公開しています。

コメント

最近のコメント

Threaded Recent Comments will be here.