前回の続きでTwonkyServerのトランスコーディングを有効にして、
AVCHDの動画がリアルタイムにREGZAから視聴できるかやってみます。
TwonkyServerのトランスコーディングは[ffmpeg]を使用しているので、
事前にダウンロードしておきます。
まずは[ffmpeg]の場所をTwonkyServerへ認識させます。
TwonkyServerはサーバー起動時に、
“ffmpeg.location”ファイルに設定してあるフォルダ情報から
[ffmpeg]の場所を認識します。
“ffmpeg.location”ファイルは
C:\Program Files\TwonkyMedia\cgi-bin”のフォルダにあります。
ダウンロードした[ffmpeg.exe]は
“ffmpeg.location”ファイルに設定してあるフォルダへ事前にコピーしておきます。
※今回は”C:\Program Files\TwonkyMedia\cgi-bin”に設定しました。
※[ffmpeg.exe]をコピー
サーバーを再起動すると、チェックできなかったトランスコーディング設定の
チェックボックスが使えるようになります。
REGZA Z9000はMPEG2しか再生できないので[MPEG2]のみチェックします。
このオプションを使用すると、
事前にチェックした動画フォーマットに変換し、
キャッシュフォルダに保存されます。
こうすることにより、スムーズな視聴が可能になります。
このオプションを使用しなくても
トランスコーディングは実行されます。
次に、TwonkyServerが[ffmpeg]で使用するファイルを作成し、
ffmpegのコマンドを設定します。
作成するファイル名にはルールがあります。
※ファイル名のルール:ffmpeg-[変換元拡張子]-[変換後拡張子].desc
今回視聴したい変換元動画ファイルの拡張子は”MTS”で、
変換後の拡張子が”MPEG”になるので
作成するファイル名は”ffmpeg-mts-mpeg.desc”となります。
ファイルの保存先は”C:\Program Files\TwonkyMedia\cgi-bin”です。
作成したファイルへffmpegのコマンドとMIMEタイプを編集します。
※重要な項目は以下の3行です。
- exec : ffmpegのコマンド
- from : 変換元のMIME
- to : 変換後のMIME
今回は[AVCHD]形式から[MPEG2]へ変換するので以下のように編集しました。
解像度やビットレート等を指定しています。
{code}
# transcode (AVCHD) MTS video to MPEG-2 video
#(c) 2008 by PacketVideo
exec: ffmpeg -flags bitexact -y -i $infile -b 8192k -ab 128k -r 29.97 -s 720×480 -f mpegts -vcodec mpeg2video -acodec mp2 -ar 44100 -aspect 16:9 $outfile
# capabilities
from=video/vnd.dlna.mpeg-tts
to=video/mpeg
asynchronous
priority=idle
{/code}
最後に、今回設定したfromのMIMEタイプ”video/vnd.dlna.mpeg-tts”を
“C:\Program Files\TwonkyMedia\resources”フォルダにある
“transcoding.db”へ次の1行を追加します。
{code}
MTS,mts,video/vnd.dlna.mpeg-tts
{/code}
toのMIMEタイプ”video/mpeg”は最初から設定してあります。
※使用するMIMEタイプは”transcoding.db”に設定してある必要があります。
ここまで完了したら、[サーバーをリスタート]します。
REGZAから視聴してみると、
トランスコーディングが機能し[AVCHD]ファイルが視聴できるようになります。
同じように”WMV”形式の動画を視聴するには、”ffmpeg-wmv-mpeg.desc”ファイルを作成し、
以下のように編集します。
{code}
# transcode WMV video to MPEG-2 video
#(c) 2008 by PacketVideo
exec: ffmpeg -flags bitexact -y -i $infile -b 8192k -ab 128k -r 29.97 -s 720×480 -f mpegts -vcodec mpeg2video -acodec mp2 -ar 44100 -aspect 16:9 $outfile
# capabilities
from=video/x-ms-wmv
to=video/mpeg
asynchronous
priority=idle
{/code}
今回設定したfromのMIMEタイプ”video/x-ms-wmv”は
“transcoding.db”に最初から設定してあるので追加作業は必要ありません。
REGZAから視聴してみると、
トランスコーディングが機能し[WMV]ファイルが視聴できるようになります。
これでTwonkyServerのトランスコーディングを使用して、
“MPEG2″しか再生できないREGZA Z9000から[AVCHD]や[WMV]が視聴できるようになりました。
これ以外のファイル、
たとえばYOUTUBEなどで使用されている”MP4″も同じ手順を踏めばREGZAから視聴できます。
ただし、トランスコーディング機能(ffmpeg)の処理が間に合わずカクカクです。、
この遅さはffmpegのコマンドのせいなのか、TwonkyServerのせいなのか、
それとも、マシンスペックの限界なのかよくわからず・・・。
この辺はもう少し調査が必要です。
TwonkyServerはトランスコーディング処理を始めてしまうと
最後まで変換し、キャッシュに保存されます。
1回目は遅いが2回目以降はキャッシュから表示されるので
しばらくして視聴するとスムーズに視聴できます。
変換したファイルはキャッシュに保存されるので、
同じファイルを試してもキャッシュから表示してしまい、
変更したコマンドで処理しない場合がありました。
そのために、一度キャッシュを削除してから試したほうが確実です。
キャッシュフォルダは、”C:\ProgramData\twonkymedia\db\cache”になります。
その中にあるフォルダを丸ごと消してしまえば、キャッシュはクリアされます。
“C:\ProgramData”は隠しフォルダなので、そのままでは表示されません。
フォルダオプションから隠しフォルダを表示するように変更します。
ffmpegはあまり使用したことが無いため、もう少し調査を行う予定です。
現在固定ビットレート指定のはずなので、可変に変えたりして試したいと思っています。
ちなみに、
違うパソコンのブラウザから”TwonkyServer”へアクセスすると、
公開しているコンテンツを視聴することができたりします。
丁寧な解説でとても参考になりました。ありがとうございます。
他の解説サイトも参考にした結果、以下の追加変更をすれば、
twonky server を使用してほぼ全ての動画がREGZA(Z1)で視聴できるようになりました。
YOUTUBEなどの動画を変換無し(.flv)でダウンロードして、
そのままREGZAで視聴できるのが便利です。
※ffmpeg.exeで変換できることが条件で、変換が不要なmpegファイルはそのまま再生されます。
バックグラウンドトランスコーディング・オプションは設定しなくても
必要に応じて再生時にトランスコードされます。
※設定すると変換が必要な全ての動画ファイルが勝手に変換されてしまいます。)
[client.db]
→toshiba regza tv のTR:の行最後に”,MPEG”を追加
TR:JPEG4096x4096,JPEG160x160,JPEG640x480,JPEG1024x768,JPEG1920x1080,MPEG
[ffmpeg_all_mpeg.desc]
(以下の内容で新規作成してその他のffmpeg_XXXXXXX.descは不要なので全て削除)
# transcode video
#(c) 2008 by PacketVideo
exec: ffmpeg -i $infile -y -threads 4 -f vob -vcodec mpeg2video -flags2 dct8x8 -bf 1 -b 4600k -r 29.97 -s 720×480 -aspect 16:9 -acodec ac3 -ar 48000 -ab 128k $outfile
# capabilities
from=video/all
to=video/mpeg
dlnaprofile=MPEG
asynchronous
priority=idle
[twonkymedia_server.ini]
clearcacheonrestart=1
コメント有難うございます。管理人です。
すばらしいですね!! (Y)
こんな記述が出来るとは思いもよりませんでした。
有益な情報ありがとうございます。
他の方も参考になさって下さい。 :-$
DLNAサーバーを試す[TwonkyServer編] 記事とっても参考になりました。
うちでは、地デジ対応でキッチンのTVをアクオス(AQUOS)に変えてTwonkyServeと悪戦苦闘中です。デジ備忘さんのように詳細に書けませんがアクオス対応した記事を掲載致しました。
ttp://open-net.info/blog/?p=597
よかったら覗いてみてくださいませ。
デジ備忘さんの記事は、いつも楽しみに拝見させて頂いております。
これからもよろしくお願いします。
ffmpegも設定さえうまくいけば1920×1080のフルHDのmp4をトランスコーディングしながら
レグザへ1920×1080のフルHDのまま流すことができるようです。
ただし、自分で試したのはこちらにも紹介されていたmezzmoですが日本語対応で使いやすかったです。(体験版の15日間でうまくいったので購入しました。)
設定ファイルの書き換え方法について以下のところに載せてみましたのでなにかの参考になればと思います。
http://www18.atwiki.jp/dlnereg/pages/14.html
おかげさまで助かっています。
けんけんさん こんにちは
情報ありがとうございます。
私も以前”mezzmo”を試した時、デバイスとしてREGZAが選択できて
画面も日本語で表示され、GUIも使いやすかったと記憶しています。
他の方も参考になさってください。
折角の情報なので”DLNAサーバーソフトウェアあれこれ。“の”mezzmo”の欄から
リンクを張らせていただきました。
問題あるようでしたら連絡お願いします。