TSをBRAVIA on miniDLNA
よく判らんタイトルだけど、HDUSで録画したTSを、ファイルそのままminiDLNAに食わせて、BRAVIA KDL-ZX1で視聴できたー。記念すべき?最初の番組はレールガンの最終回。涙で画面がよく見えません。
miniDLNAは、3/20のPM11時ころのCVS HEADに、Tracker:PatchesにあるFreeBSDパッチを当てたもの。依存関係でいろいろ必要なのものはPortsでつっこんだ。
patchが作成された時点のソースにはなかったのかもしれないが、playlist.oがリンク対象になってなくて、makeの最後にエラーになるので、Makefile.amの最後にplaylist.oを足さないとダメ。また、configureが、Portsで入れたffmpegやらのインストール先をうまくみつけてくれないので、ENVIRONMENT.freebsd-portsのような感じでCPPFLAGS/CFLAGS/LDFLAGSを環境変数で指定してやること。
minidlna.confを適当に編集。
media_dir=V,/home/foltia/php/tv db_dir=/tmp/minidlna
これで実行すると、とりあえずBRAVIAからminiDLNAが見えるようになる。
$ ./minidlna -d -f ./minidlna.conf
。。。が、再生可能ファイルがないと言われる。どうも、miniDLNAが返しているファイルリストを見て、BRAVIAが再生不可と判断しているらしい。
あまりにad-hocだけどこんな感じに変更。どうせmedia_dirはfoltiaで録画したTSファイル(とサムネイルとワンセグMP4)しか入ってないフォルダなので。
metadata.cの756行目あたり
asprintf(&m.dlna_pn, "MPEG_TS_%cD_JP_ISO;%s", res, dlna_no_conv); → asprintf(&m.dlna_pn, "MPEG_TS_HD_60_L2_ISO;%s", dlna_no_conv);
upnpglovalvars.hの41行目あたり
"http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_HD_NA_ISO;DLNA.ORG_OP=01;DLNA.ORG_CI=0," \ "http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=01;DLNA.ORG_CI=0," \ → "http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_HD_60_L2_ISO;DLNA.ORG_OP=01;DLNA.ORG_CI=0," \ "http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_HD_JP_ISO;DLNA.ORG_OP=01;DLNA.ORG_CI=0," \ "http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_JP_ISO;DLNA.ORG_OP=01;DLNA.ORG_CI=0," \
これでmake clean allして、/tmp/minidlna/files.dbを削除して、も一度起動すると、BRAVIAのメニューにファイル一覧が出た!
これでひとまずLinkTheaterは外せるとは言え、いくつか課題が。