昨年10月18日に導入しはじめたDLNAサービスmediatomb。
10月23日に「DMS-1.50対応」とする事によりREGZA 37Z3500からの接続&トランスコード再生ができるとこで終わっていたのだが、DLNAサーバーを試す[MediaTomb]編 – トラスコ時にシークバーを表示するとMediatombをビエラのDLNAサーバとして使う(その8)を参考にして、ようやくREGZA 37Z3500でもシーク&ポーズが出来るようになった。
というわけで手順をおさらい。
svnでチェックアウトしたソースコードにSourceForge.net: MediaTomb: Detail: 2995015 - Add time-based seek capability to transcoded streamsからダウンロードしたパッチmediatomb-seek.patchを適用し、build&インストール。
$ svn co https://svn.mediatomb.cc/svnroot/mediatomb/trunk/mediatomb mediatomb-src
$ cd mediatomb-src
$ patch -p 0 < ~/Download/mediatomb-seek.patch
$ autoreconf -i
$ ./configure && make
$ sudo make install
設定ファイル/etc/mediatomb/config.xmlは全てのagent行にcan-seek parameterを追加する。ポイントはトランスコード処理のmediatomb-ffmpeg-video.shを起動するagent行で、argumentsの%secondsとcan-seek parameterのyesを追加。
<agent command="/usr/local/bin/mediatomb-ffmpeg-video.sh" arguments="%in %out %seconds" can-seek="yes"/>
トランスコード時に起動される/usr/local/bin/mediatomb-ffmpeg-video.shは以下のとおり。%secondsをffmpegの-ssオプションに展開するのがミソ。
!/bin/bash
# exec "/usr/local/bin/ffmpeg" -ss "${3}" -i "${1}" -f mpegts -vcodec mpeg2video -b 2048k -acodec mp2 -ab 128k -ac 2 -threads 1 - > "${2}"
FFMPEG_PATH="/usr/local/bin/ffmpeg"
INPUT="$1"
OUTPUT="$2"
OPT_SEEKPOS="${3:+-ss $3}"
OPT_VCODEC="-vcodec mpeg2video"
OPT_VBRATE="-b:v 3M"
#OPT_VFRATE="-r 25"
OPT_ACODEC="-acodec mp2"
OPT_ABRATE="-ab 128k"
OPT_AFRATE="-ar 44100"
OPT_ACHS="-ac 2"
OPT_ASPECT="-aspect 4:3"
#OPT_ASPECT="-aspect 16:9"
#OPT_THREADS="-threads 0"
#FORMAT="dvd"
FORMAT="mpegts"
exec "${FFMPEG_PATH}" ${OPT_SEEKPOS} -i "${INPUT}" -f ${FORMAT} \
${OPT_VCODEC} ${OPT_VBRATE} ${OPT_VFRATE} \
${OPT_ACODEC} ${OPT_ABRATE} ${OPT_AFRATE} ${OPT_ACHS} \
${OPT_ASPECT} ${OPT_THREADS} - > "${OUTPUT}"
先人のたゆまぬ努力と慈悲に感謝。
【参照】
●デジ備忘 http://www.degi.saloon.jp/
┣DLNAサーバーを試す[MediaTomb][ubuntu]編 – REGZAへ認識させる 2010年11月6日
┣DLNAサーバーを試す[MediaTomb]編 – トランスコードしてREGZAから視聴 2010年12月1日
┗DLNAサーバーを試す[MediaTomb]編 – トラスコ時にシークバーを表示する 2011年5月4日
●ぱぱらくだ日記 http://papa3camel.blogspot.jp/
┗MediatombをビエラのDLNAサーバとして使う(その8) 2012年7月11日
●Ubuntu Japanese Wiki https://wiki.ubuntulinux.jp/
┗UbuntuTips/Server/DLNAserver
●MediaTomb - Free UPnP MediaServer http://mediatomb.cc/
┗MediaTomb - Browse Files at SourceForge.net
●FFmpeg http://ffmpeg.org/