デジタル録画番組を除くビデオコンテンツを「DiXiM Digital TV plus for IO-DATA」で視聴するために、「Serviio」をDMSにして試してみました。
「TVersity」と同じくパターンA~Gのビデオコンテンツが再生できるかどうかを検証します。
導入は、WHSに行いました。公式サイトはこちらになります。
※Serviioは、Digital Media Renderer deviceと接続します。DMR機能がないと利用できません。
※「Device Name」が”Unrecognized device”の場合はServiioのサポート対象外のようです。
「Serviio」フォルダ構成
C:Program FilesServiio | インストール先フォルダ |
bin | サービス起動停止用プログラムフォルダ |
config | 設定ファイル用フォルダ |
lib | javaプログラム用フォルダ※ffmpeg.exeを含む |
library | データベース用フォルダ |
log | ログファイル用フォルダ |
C:WINDOWSTemp | トランスコード後のファイル一時保存フォルダ※変更可能 |
起動方法
①「Start Serviio Service」で2つの「ServiioService.exe」プロセスが起動します。
②「Start Serviio Console」で「ServiioConsole.exe」が起動しタスクトレイにアイコンが表示されます。
③このタスクトレイから「Open Serviio Console」でコンフィグレージョン画面が表示されます。
※①は通常、OS起動時にサービスから自動的に起動されます。
※①の操作の代わりに、「サービス起動停止用プログラムフォルダ」にある「serviio.bat」を使用した場合は、「ServiioService.exe」ではなく「javaw.exe」プロセスが起動します。
※②と③はコンフィグレーション画面を表示する場合です。
※コンフィグレーション画面の「Status」タブにある「Start」と「Stop」ボタンは、プロセスを停止するものではなくMedia Serverとしての機能を開始/停止するもののようです。
停止方法
①タスクトレイから「Exit Serviio」で、すべてのプロセス(「ServiioConsole.exe」と「ServiioService.exe」)が停止します。
※「ServiioConsole.exe」プロセスのみ停止する場合は、タスクトレイから「Exit ServiioConsole」で停止します。同時にタスクトレイのアイコンも消えます。
※コマンドラインから停止する場合は、「serviio.bat -stop」で停止します。
※コンソール画面の「Stop Service」と「Start Service」は、公開の停止・開始を意味しています。プロセス自体の停止・開始ではないようです。
Serviioコンフィグレーション画面
「Status」
「Library」
「Metadata」
「Transcoding」
「Presentation」
※デフォルトだとたくさんのフォルダが表示されてしまうので必要最低限のものだけにしました。
「Console Settings」
「About」
実行結果(※デフォルト設定)
「HVL-AVR」や「DiXiM Media Server 3 for IO-DATA」をDMSにした場合と同じく、パターンC,D,Eが一覧表示され再生もできました。
profiles.xmlの編集
編集時の留意点
※porfile id=1(Generic DLNA profile)の箇所は登録されているすべてのprofileから参照されていますので絶対に編集しないでください。
上の「Status」画面をみると「Generic DLNA profile」が使用されています。
これは、Serviio内で以下の順序で自動的に決定されます。
①M-SEARCHで取得した識別文字と一致するプロファイル
②HTTPヘッダーにある文字列と一致するプロファイル
③profile id=1のプロファイル(「Generic DLNA profile」)
※①や②でもダメな場合はあきらめて手動で選択してください。
ここで、①や②はそれぞれプロファイルに記述することになるのですが、そこに記述する値はパケットキャプチャーで取得した値ではなく、Serviioにとりこまれている値を調査して記述するほうが確実です。
それには、Serviioのログファイルの出力レベルをDEBUGモードにしてログを採取し、そのログから値を取得します。
以下は簡単な手順です。
①「Status」タブの「Renderer profile」内の該当デバイスを一旦削除します。
※この画面の情報はデータベースに保存されますので、変更した場合は「Save」ボタンで必ず保存し、データベース内を更新してください。
②ServiioServer.exeを停止
※Serviio Console画面の「Stop Service」ボタンではなく、ServiioServer.exeプロセスの停止をします。
③「設定ファイル用フォルダ」にある”log4j.xml”ファイルの編集。
以下の”INFO”を”DEBUG”に変更します。
<category name="org.serviio">
<priority value="INFO">
</priority></category>
④ServiioServer.exeとServiioConsole.exeを起動
起動すると、ログファイルに「DEBUG」と記述された出力が書き込まれていきます。
※ログファイルは膨大な量になりますのでディスクの空き容量に注意してください。
⑤Serviio Console画面を表示して先ほど削除したところにデバイスが登録されているのを確認します。
⑥ログファイル内の以下文字列を検索して使えそうな値を見つけてください。
M-SEARChの場合:「RendererSearchSender」の行。
HTTPヘッダーの場合:「DeviceDescriptionRequestHandler」でその下が「RendererDAOImpl」になっている行のheaders=のあと。
それぞれ該当行の数行下でプロファイルが決定されていると思います。
⑦「Status」タブの「Renderer profile」内の該当デバイスをもう一度削除します。
⑧ログファイルの出力レベルをもとの”INFO”に戻します。
※ServiioServer.exeを停止して行ってください。
⑨profiles.xmlを編集します。
⑩ServiioServer.exeおよびServiioConsole.exeを起動したのち、コンソール画面を開いて「Status」タブの「Renderer Profile」で選択されているプロファイルが追加したプロファイル名(Generic DLNA profile以外)になっているかを確認してください。
※うまくいかない場合は、記述が間違っている可能性があります。
※profile.xmlの内容のみ修正する場合もServiioServer.exeとServiioConsole.exeを再起動してください。
カスタマイズは個別設定の部分のみ追加し、以下のようにしました。
自動的にプロファイルを選択させることができなかったので、手動でプロファイルを選択しています。
<profile extendsprofileid="1" id="14" name="DiXiM Digital TV plus">
<transcoding>
<!-- For dvr-ms files force mpeg2video transcoding to fix monotone timestamps problems--><video forcevtranscoding="true" targetacodec="ac3" targetcontainer="mpegts">
<matches container="asf" vcodec="mpeg2video"></matches></video>
<video targetacodec="ac3" targetcontainer="mpegts">
<matches container="matroska"></matches></video>
<video abitrate="384" targetacodec="ac3" targetcontainer="mpegts" targetvcodec="mpeg2video">
<matches container="avi"></matches></video>
</transcoding>
</profile>
“Profile id”は、ユニークな番号でよさそうです。おそらく読み込まれる順番やコンフィグレーション画面の「Status」タブにあるプルダウンリストに表示する順番に関係するように思います。
“name”は、コンフィグレーション画面の「Status」タブに表示されるProfileのラベル名です。
“extendsProfileId”は、親となるprofile id番号を指定します。通常は”1″です。
“Transcoding”は、トランスコード対象コンテンツについて記述します。3種類(Video/Image/Audio)のMediaClassについてそれぞれ複数の設定を記述できます。
“Video”は、MediaClassがVideoのコンテンツについての記述です。
“targetContainer”は、トランスコード後のコンテナフォーマット名(ファイルフォーマット名)です。ffmpegのフォーマット名と同じと思われます。
“targetVCode”は、トランスコードで使用するビデオコーデック名です。
“targetACode”は、トランスコードで使用するオーディオコーデック名です。
“aBitrate”は、オーディオビットレートの指定です。
“Matches”は、トランスコードの対象となるコンテンツの条件を記述します。条件にはファイルコンテナ、ビデオコーデック、オーディオコーデック、その他ビットレートなどが指定できます。
その他、以下がありますが、今回は使用していません。
“Detection”は、デバイスとプロファイルの紐付けを自動で行う場合に記載するためのものです。M-SEARCHからキーワードを取得するか、HTTPヘッダーから取得するかで記述がかわります。
“MediaFormatProfiles”は、DMRで再生できるMediaformatにあわせて、Serviioサーバ側で対象のMediaformatを追加する場合に指定します。”extendsProfileId”によりprofile id=1に設定されているMediaformatがすでに登録されていますので、それでは不十分な場合に追加します。
※profiles.xmlの記述の説明は、「Editing renderer Profiles」にあります。
ffmpeg情報
同梱されているffmpegの情報です。
公開するコンテンツの情報は、このffmpegコマンドを実行して取得した情報をデータベースに保存しています。
また、トランスコードの実行やCoverImageの生成にも使われています。
対応フォーマットおよび対応コーデックのすべてがServiioで利用できるとは限りませんので参考程度にしておいてください。
(1)バージョン情報
FFmpeg version UNKNOWN, Copyright (c) 2000-2011 the FFmpeg developers built on Jan 10 2011 21:46:22 with gcc 4.4.2 configuration: --enable-static --disable-shared --disable-shared --disable-ffplay --disable-ffserver --enable-memalign-hack --enable-libmp3lame --arch=x86 --enable-runtime-cpudetect --enable-w32threads --target-os=mingw32 --cross-prefix=i686-mingw32- libavutil 50.36. 0 / 50.36. 0 libavcore 0.16. 0 / 0.16. 0 libavcodec 52.108. 0 / 52.108. 0 libavformat 52.92. 0 / 52.92. 0 libavdevice 52. 2. 3 / 52. 2. 3 libavfilter 1.72. 0 / 1.72. 0 libswscale 0.12. 0 / 0.12. 0
(2)対応フォーマット情報
File formats: D. = Demuxing supported .E = Muxing supported -- E 3g2 3GP2 format E 3gp 3GP format D 4xm 4X Technologies format D IFF IFF format D ISS Funcom ISS format D MTV MTV format DE RoQ raw id RoQ format E a64 a64 - video for Commodore 64 D aac raw ADTS AAC DE ac3 raw AC-3 E adts ADTS AAC D aea MD STUDIO audio DE aiff Audio IFF DE alaw PCM A-law format DE amr 3GPP AMR file format D anm Deluxe Paint Animation D apc CRYO APC format D ape Monkey's Audio D applehttp Apple HTTP Live Streaming format DE asf ASF format E asf_stream ASF format DE ass Advanced SubStation Alpha subtitle format DE au SUN AU format DE avi AVI format E avm2 Flash 9 (AVM2) format D avs AVS format D bethsoftvid Bethesda Softworks VID format D bfi Brute Force & Ignorance D bink Bink D c93 Interplay C93 D caf Apple Core Audio Format DE cavsvideo raw Chinese AVS video D cdg CD Graphics Format E crc CRC testing format DE daud D-Cinema audio format DE dirac raw Dirac DE dnxhd raw DNxHD (SMPTE VC-3) D dsicin Delphine Software International CIN format DE dts raw DTS DE dv DV video format E dvd MPEG-2 PS format (DVD VOB) D dxa DXA D ea Electronic Arts Multimedia Format D ea_cdata Electronic Arts cdata DE eac3 raw E-AC-3 DE f32be PCM 32 bit floating-point big-endian format DE f32le PCM 32 bit floating-point little-endian format DE f64be PCM 64 bit floating-point big-endian format DE f64le PCM 64 bit floating-point little-endian format DE ffm FFM (FFserver live feed) format DE ffmetadata FFmpeg metadata in text format D film_cpk Sega FILM/CPK format DE filmstrip Adobe Filmstrip DE flac raw FLAC D flic FLI/FLC/FLX animation format DE flv FLV format E framecrc framecrc testing format E framemd5 Per-frame MD5 testing format DE g722 raw G.722 E gif GIF Animation D gsm raw GSM DE gxf GXF format DE h261 raw H.261 DE h263 raw H.263 DE h264 raw H.264 video format D idcin id Cinematic format DE image2 image2 sequence DE image2pipe piped image2 sequence D ingenient raw Ingenient MJPEG D ipmovie Interplay MVE format E ipod iPod H.264 MP4 format D iv8 A format generated by IndigoVision 8000 video server D ivf On2 IVF D lmlm4 lmlm4 raw format D lxf VR native stream format (LXF) DE m4v raw MPEG-4 video format E matroska Matroska file format D matroska,webm Matroska/WebM file format E md5 MD5 testing format DE mjpeg raw MJPEG video DE mlp raw MLP D mm American Laser Games MM format DE mmf Yamaha SMAF E mov MOV format D mov,mp4,m4a,3gp,3g2,mj2 QuickTime/MPEG-4/Motion JPEG 2000 format E mp2 MPEG audio layer 2 DE mp3 MPEG audio layer 3 E mp4 MP4 format D mpc Musepack D mpc8 Musepack SV8 DE mpeg MPEG-1 System format E mpeg1video raw MPEG-1 video E mpeg2video raw MPEG-2 video DE mpegts MPEG-2 transport stream format D mpegtsraw MPEG-2 raw transport stream format D mpegvideo raw MPEG video E mpjpeg MIME multipart JPEG format D msnwctcp MSN TCP Webcam stream DE mulaw PCM mu-law format D mvi Motion Pixels MVI format DE mxf Material eXchange Format E mxf_d10 Material eXchange Format, D-10 Mapping D mxg MxPEG clip file format D nc NC camera feed format D nsv Nullsoft Streaming Video E null raw null video format DE nut NUT format D nuv NuppelVideo format DE ogg Ogg D oma Sony OpenMG audio E psp PSP MP4 format D psxstr Sony Playstation STR format D pva TechnoTrend PVA file and stream format D qcp QCP format D r3d REDCODE R3D format DE rawvideo raw video format E rcv VC-1 test bitstream D rl2 RL2 format DE rm RealMedia format D rpl RPL/ARMovie format DE rso Lego Mindstorms RSO format DE rtp RTP output format DE rtsp RTSP output format DE s16be PCM signed 16 bit big-endian format DE s16le PCM signed 16 bit little-endian format DE s24be PCM signed 24 bit big-endian format DE s24le PCM signed 24 bit little-endian format DE s32be PCM signed 32 bit big-endian format DE s32le PCM signed 32 bit little-endian format DE s8 PCM signed 8 bit format DE sap SAP output format D sdp SDP D shn raw Shorten D siff Beam Software SIFF D smk Smacker video D sol Sierra SOL format DE sox SoX native format DE spdif IEC 61937 (used on S/PDIF - IEC958) DE srt SubRip subtitle format E svcd MPEG-2 PS format (VOB) DE swf Flash format D thp THP D tiertexseq Tiertex Limited SEQ format D tmv 8088flex TMV DE truehd raw TrueHD D tta True Audio D tty Tele-typewriter D txd Renderware TeXture Dictionary DE u16be PCM unsigned 16 bit big-endian format DE u16le PCM unsigned 16 bit little-endian format DE u24be PCM unsigned 24 bit big-endian format DE u24le PCM unsigned 24 bit little-endian format DE u32be PCM unsigned 32 bit big-endian format DE u32le PCM unsigned 32 bit little-endian format DE u8 PCM unsigned 8 bit format D vc1 raw VC-1 D vc1test VC-1 test bitstream format E vcd MPEG-1 System format (VCD) D vfwcap VFW video capture D vmd Sierra VMD format E vob MPEG-2 PS format (VOB) DE voc Creative Voice file format D vqf Nippon Telegraph and Telephone Corporation (NTT) TwinVQ D w64 Sony Wave64 format DE wav WAV format D wc3movie Wing Commander III movie format E webm WebM file format D wsaud Westwood Studios audio format D wsvqa Westwood Studios VQA format D wtv Windows Television (WTV) D wv WavPack D xa Maxis XA File Format D yop Psygnosis YOP Format DE yuv4mpegpipe YUV4MPEG pipe format
(3)対応コーデック情報
Codecs: D..... = Decoding supported .E.... = Encoding supported ..V... = Video codec ..A... = Audio codec ..S... = Subtitle codec ...S.. = Supports draw_horiz_band ....D. = Supports direct rendering method 1 .....T = Supports weird frame truncation ------ D V D 4xm 4X Movie D V D 8bps QuickTime 8BPS video D A 8svx_exp 8SVX exponential D A 8svx_fib 8SVX fibonacci D V D FRWU Forward Uncompressed EV a64multi Multicolor charset for Commodore 64 EV a64multi5 Multicolor charset for Commodore 64, extended with 5th color (colram) DEA aac Advanced Audio Coding D A aac_latm AAC LATM (Advanced Audio Codec LATM syntax) D V D aasc Autodesk RLE DEA ac3 ATSC A/52A (AC-3) EA ac3_fixed ATSC A/52A (AC-3) D A adpcm_4xm ADPCM 4X Movie DEA adpcm_adx SEGA CRI ADX ADPCM D A adpcm_ct ADPCM Creative Technology D A adpcm_ea ADPCM Electronic Arts D A adpcm_ea_maxis_xa ADPCM Electronic Arts Maxis CDROM XA D A adpcm_ea_r1 ADPCM Electronic Arts R1 D A adpcm_ea_r2 ADPCM Electronic Arts R2 D A adpcm_ea_r3 ADPCM Electronic Arts R3 D A adpcm_ea_xas ADPCM Electronic Arts XAS D A adpcm_ima_amv ADPCM IMA AMV D A adpcm_ima_dk3 ADPCM IMA Duck DK3 D A adpcm_ima_dk4 ADPCM IMA Duck DK4 D A adpcm_ima_ea_eacs ADPCM IMA Electronic Arts EACS D A adpcm_ima_ea_sead ADPCM IMA Electronic Arts SEAD D A adpcm_ima_iss ADPCM IMA Funcom ISS DEA adpcm_ima_qt ADPCM IMA QuickTime D A adpcm_ima_smjpeg ADPCM IMA Loki SDL MJPEG DEA adpcm_ima_wav ADPCM IMA WAV D A adpcm_ima_ws ADPCM IMA Westwood DEA adpcm_ms ADPCM Microsoft D A adpcm_sbpro_2 ADPCM Sound Blaster Pro 2-bit D A adpcm_sbpro_3 ADPCM Sound Blaster Pro 2.6-bit D A adpcm_sbpro_4 ADPCM Sound Blaster Pro 4-bit DEA adpcm_swf ADPCM Shockwave Flash D A adpcm_thp ADPCM Nintendo Gamecube THP D A adpcm_xa ADPCM CDROM XA DEA adpcm_yamaha ADPCM Yamaha DEA alac ALAC (Apple Lossless Audio Codec) D A als MPEG-4 Audio Lossless Coding (ALS) D A amrnb Adaptive Multi-Rate NarrowBand D A amrwb Adaptive Multi-Rate WideBand D V D amv AMV Video D V D anm Deluxe Paint Animation D V D ansi ASCII/ANSI art D A ape Monkey's Audio DES ass Advanced SubStation Alpha subtitle DEV D asv1 ASUS V1 DEV D asv2 ASUS V2 D A atrac1 Atrac 1 (Adaptive TRansform Acoustic Coding) D A atrac3 Atrac 3 (Adaptive TRansform Acoustic Coding 3) D V D aura Auravision AURA D V D aura2 Auravision Aura 2 D V D avs AVS (Audio Video Standard) video D V D bethsoftvid Bethesda VID video D V D bfi Brute Force & Ignorance D A binkaudio_dct Bink Audio (DCT) D A binkaudio_rdft Bink Audio (RDFT) D V binkvideo Bink video DEV D bmp BMP image D V D c93 Interplay C93 D V D camstudio CamStudio D V D cavs Chinese AVS video (AVS1-P2, JiZhun profile) D V D cdgraphics CD Graphics video D V D cinepak Cinepak D V D cljr Cirrus Logic AccuPak D A cook COOK D V D cyuv Creative YUV (CYUV) D A dca DCA (DTS Coherent Acoustics) DEV D dnxhd VC3/DNxHD D V dpx DPX image D A dsicinaudio Delphine Software International CIN audio D V D dsicinvideo Delphine Software International CIN video DES dvbsub DVB subtitles DES dvdsub DVD subtitles DEV D dvvideo DV (Digital Video) D A eac3 ATSC A/52B (AC-3, E-AC-3) D V D eacmv Electronic Arts CMV video D V D eamad Electronic Arts Madcow Video D V D eatgq Electronic Arts TGQ video D V eatgv Electronic Arts TGV video D V D eatqi Electronic Arts TQI Video D V D escape124 Escape 124 DEV D ffv1 FFmpeg video codec #1 DEVSD ffvhuff Huffyuv FFmpeg variant DEA flac FLAC (Free Lossless Audio Codec) D V D flic Autodesk Animator Flic video DEVSD flv Flash Video (FLV) / Sorenson Spark / Sorenson H.263 D V D fraps Fraps DEA g722 G.722 ADPCM DEA g726 G.726 ADPCM DEV D gif GIF (Graphics Interchange Format) D A gsm GSM D A gsm_ms GSM Microsoft variant DEV D h261 H.261 DEVSDT h263 H.263 / H.263-1996 D VSD h263i Intel H.263 EV h263p H.263+ / H.263-1998 / H.263 version 2 D V D h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 DEVSD huffyuv Huffyuv / HuffYUV D V D idcinvideo id Quake II CIN video D V D iff_byterun1 IFF ByteRun1 D V D iff_ilbm IFF ILBM D A imc IMC (Intel Music Coder) D V D indeo2 Intel Indeo 2 D V D indeo3 Intel Indeo 3 D V indeo5 Intel Indeo Video Interactive 5 D A interplay_dpcm DPCM Interplay D V D interplayvideo Interplay MVE video DEV D jpegls JPEG-LS D V kgv1 Kega Game Video D V D kmvc Karl Morton's video codec D V D lagarith Lagarith lossless EA libmp3lame libmp3lame MP3 (MPEG audio layer 3) EV ljpeg Lossless JPEG D V D loco LOCO D A mace3 MACE (Macintosh Audio Compression/Expansion) 3:1 D A mace6 MACE (Macintosh Audio Compression/Expansion) 6:1 D V D mdec Sony PlayStation MDEC (Motion DECoder) D V D mimic Mimic DEV D mjpeg MJPEG (Motion JPEG) D V D mjpegb Apple MJPEG-B D A mlp MLP (Meridian Lossless Packing) D V D mmvideo American Laser Games MM Video D V D motionpixels Motion Pixels video D A mp1 MP1 (MPEG audio layer 1) D A mp1float MP1 (MPEG audio layer 1) DEA mp2 MP2 (MPEG audio layer 2) D A mp2float MP2 (MPEG audio layer 2) D A mp3 MP3 (MPEG audio layer 3) D A mp3adu ADU (Application Data Unit) MP3 (MPEG audio layer 3) D A mp3adufloat ADU (Application Data Unit) MP3 (MPEG audio layer 3) D A mp3float MP3 (MPEG audio layer 3) D A mp3on4 MP3onMP4 D A mp3on4float MP3onMP4 D A mpc7 Musepack SV7 D A mpc8 Musepack SV8 DEVSDT mpeg1video MPEG-1 video DEVSDT mpeg2video MPEG-2 video DEVSDT mpeg4 MPEG-4 part 2 D VSDT mpegvideo MPEG-1 video DEVSD msmpeg4 MPEG-4 part 2 Microsoft variant version 3 DEVSD msmpeg4v1 MPEG-4 part 2 Microsoft variant version 1 DEVSD msmpeg4v2 MPEG-4 part 2 Microsoft variant version 2 D V D msrle Microsoft RLE D V D msvideo1 Microsoft Video 1 D V D mszh LCL (LossLess Codec Library) MSZH DEA nellymoser Nellymoser Asao D V D nuv NuppelVideo/RTJPEG DEV D pam PAM (Portable AnyMap) image DEV D pbm PBM (Portable BitMap) image DEA pcm_alaw PCM A-law D A pcm_bluray PCM signed 16|20|24-bit big-endian for Blu-ray media D A pcm_dvd PCM signed 20|24-bit big-endian DEA pcm_f32be PCM 32-bit floating point big-endian DEA pcm_f32le PCM 32-bit floating point little-endian DEA pcm_f64be PCM 64-bit floating point big-endian DEA pcm_f64le PCM 64-bit floating point little-endian D A pcm_lxf PCM signed 20-bit little-endian planar DEA pcm_mulaw PCM mu-law DEA pcm_s16be PCM signed 16-bit big-endian DEA pcm_s16le PCM signed 16-bit little-endian D A pcm_s16le_planar PCM 16-bit little-endian planar DEA pcm_s24be PCM signed 24-bit big-endian DEA pcm_s24daud PCM D-Cinema audio signed 24-bit DEA pcm_s24le PCM signed 24-bit little-endian DEA pcm_s32be PCM signed 32-bit big-endian DEA pcm_s32le PCM signed 32-bit little-endian DEA pcm_s8 PCM signed 8-bit DEA pcm_u16be PCM unsigned 16-bit big-endian DEA pcm_u16le PCM unsigned 16-bit little-endian DEA pcm_u24be PCM unsigned 24-bit big-endian DEA pcm_u24le PCM unsigned 24-bit little-endian DEA pcm_u32be PCM unsigned 32-bit big-endian DEA pcm_u32le PCM unsigned 32-bit little-endian DEA pcm_u8 PCM unsigned 8-bit DEA pcm_zork PCM Zork DEV D pcx PC Paintbrush PCX image DEV D pgm PGM (Portable GrayMap) image DEV D pgmyuv PGMYUV (Portable GrayMap YUV) image D S pgssub HDMV Presentation Graphic Stream subtitles D V D pictor Pictor/PC Paint DEV D ppm PPM (Portable PixelMap) image D V D ptx V.Flash PTX image D A qcelp QCELP / PureVoice D A qdm2 QDesign Music Codec 2 D V D qdraw Apple QuickDraw D V D qpeg Q-team QPEG DEV D qtrle QuickTime Animation (RLE) video D V D r10k AJA Kona 10-bit RGB Codec D V D r210 Uncompressed RGB 10-bit DEV rawvideo raw video DEA real_144 RealAudio 1.0 (14.4K) encoder D A real_288 RealAudio 2.0 (28.8K) D V D rl2 RL2 video DEA roq_dpcm id RoQ DPCM DEV D roqvideo id RoQ video D V D rpza QuickTime video (RPZA) DEV D rv10 RealVideo 1.0 DEV D rv20 RealVideo 2.0 D V D rv30 RealVideo 3.0 D V D rv40 RealVideo 4.0 DEV sgi SGI image D A shorten Shorten D A sipr RealAudio SIPR / ACELP.NET D A smackaud Smacker audio D V D smackvid Smacker video D V D smc QuickTime Graphics (SMC) DEV D snow Snow D A sol_dpcm DPCM Sol DEA sonic Sonic EA sonicls Sonic lossless D V D sp5x Sunplus JPEG (SP5X) D S srt SubRip subtitle D V D sunrast Sun Rasterfile image DEV D svq1 Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1 D VSD svq3 Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3 DEV D targa Truevision Targa image D VSD theora Theora D V D thp Nintendo Gamecube THP video D V D tiertexseqvideo Tiertex Limited SEQ video DEV D tiff TIFF image D V D tmv 8088flex TMV D A truehd TrueHD D V D truemotion1 Duck TrueMotion 1.0 D V D truemotion2 Duck TrueMotion 2.0 D A truespeech DSP Group TrueSpeech D A tta True Audio (TTA) D A twinvq VQF TwinVQ D V D txd Renderware TXD (TeXture Dictionary) image D V D ultimotion IBM UltiMotion DEV D v210 Uncompressed 4:2:2 10-bit D V D v210x Uncompressed 4:2:2 10-bit D V vb Beam Software VB D V D vc1 SMPTE VC-1 D V D vcr1 ATI VCR1 D A vmdaudio Sierra VMD audio D V D vmdvideo Sierra VMD video D V D vmnc VMware Screen Codec / VMware Video DEA vorbis Vorbis D VSD vp3 On2 VP3 D V D vp5 On2 VP5 D V D vp6 On2 VP6 D V D vp6a On2 VP6 (Flash version, with alpha channel) D V D vp6f On2 VP6 (Flash version) D V D vp8 On2 VP8 D V D vqavideo Westwood Studios VQA (Vector Quantized Animation) video D A wavpack WavPack D A wmapro Windows Media Audio 9 Professional DEA wmav1 Windows Media Audio 1 DEA wmav2 Windows Media Audio 2 D A wmavoice Windows Media Audio Voice DEVSD wmv1 Windows Media Video 7 DEVSD wmv2 Windows Media Video 8 D V D wmv3 Windows Media Video 9 D V D wnv1 Winnov WNV1 D A ws_snd1 Westwood Audio (SND1) D A xan_dpcm DPCM Xan D V D xan_wc3 Wing Commander III / Xan D V D xl Miro VideoXL DES xsub DivX subtitles (XSUB) D V yop Psygnosis YOP Video Note, the names of encoders and decoders do not always match, so there are several cases where the above table shows encoder only or decoder only entries even though both encoding and decoding are supported. For example, the h263 decoder corresponds to the h263 and h263p encoders, for file formats it is even worse.
実行結果(profile.xml編集後)
7パターンすべて表示され再生もできました。CoverImage(おそらくffmpegで作成してくれた)も表示されています。
再生はかなり重くなります。コントロールボタン(停止、早送り・巻き戻し、一時停止など)もすべて表示されています。
以上で、デジタル録画番組以外のビデオコンテンツを「DiXiM Digital TV for IO-DATA」で再生できることがわかりました。
私の場合は、「Serviio」を使っていこうと思います。
この先いろいろとカスタマイズしていくとそうでもないのかもしれませんが、いまのところprofiles.xmlの編集は「Serviio」のほうがわかり易く楽です。
また、ログファイルの出力レベルを変更できるので、設定時の解析にも使えます。
profile.xmlにはエラーとなる記述があるとログファイルにその理由が出力されるので、なぜできないのか?がわかりやすいと思います。
このロギング機能があれば、パケットキャプチャソフトをわざわざ導入する必要もいまのところなさそうです。
今後、すべてのビデオコンテンツを公開設定にすると全部で200タイトルくらいになりますので、トランスコード後のファイル一時保管場所は、Cドライブから容量的に十分空きのあるDドライブに変更しておきました。
TODO
DVR-MSのファイル(アナログ番組録画データ)はmpegtsにトランスコード変換していますが、再生が非常に重く感じるので可能であれば他の設定にしようと思います。
TVersityは作業途中の状態ですが、Serviioで簡単にできてしまったので使うのをやめることにしました。
TVsersityはいろいろな接続方法があるのがメリットなのでしょうが、DLNA対応機器であれば逆にそれがデメリットにもなりかねません。
わけのわからないサイト(フィッシング詐欺サイト系と同じドメイン名)に接続しにいってるみたいな感じですので、WHSということもあって気持ち悪いですし・・・アンインストールしました。
追記 DVR-MS(アナログ番組データ)の再生に関して
再生を繰り返していると、どんどん症状が悪化していき、ついには「DiXiM Digital TV plus for IO-DATA」が起動できなくなってしまいました。
復旧のためにTV plusを再インストールすることに・・・
恒久的な対策として、扱いにくいdvr-msを他のフォーマットへ変換することにしました。
具体的な内容は別の記事に書きたいと思います。
追記 2011.05.02 現在のprofiles.xml
※プロファイルの自動識別ができました。
※パターンC,D,E(MP4)以外をトランスコードするようにしてあります。
※DVR-MSは、WMVにトランスコードしたほうが軽くなるかもしれません。
<profile extendsprofileid="1" id="14" name="DiXiM Digital TV plus">
<detection>
<upnpsearch>
<friendlyname>.*DiXiM Digital TV plus*.</friendlyname>
<modelname>DiXiM Media Renderer</modelname>
</upnpsearch>
</detection>
<mediaformatprofiles>
<mediaformatprofile mime-type="video/mpeg" name="MPEG_TS_SD_EU_ISO,MPEG_TS_SD_NA_ISO,MPEG_TS_SD_KO_ISO">AVC_TS_MP_SD_AAC_MULT5_ISO</mediaformatprofile>
</mediaformatprofiles>
<transcoding>
<!-- For dvr-ms files force mpeg2video transcoding to fix monotone timestamps problems--><video targetcontainer="mpeg">
<matches container="asf" vcodec="mpeg2video"></matches></video>
<video targetcontainer="mpegts">
<matches container="avi" vcodec="h264"></matches></video>
<video targetacodec="ac3" targetcontainer="mpegts" targetvcodec="mpeg2video">
<matches container="avi"></matches></video>
<video targetcontainer="mpegts">
<matches container="matroska"></matches></video>
<video targetcontainer="mpegts">
<matches acodec="ac3" container="mp4"></matches></video>
</transcoding>
</profile>
【解説】※Transcode部のみ
トランスコードの記述では、コンテナだけを変えるREMUXINGと別のコーデックで変換するトランスコードの2種類を記述できます。
この違いは記述の方法をかえることでコントロールできるのだと思います。
※ロギングレベルをDEBUGにすれば、実際のトランスコード実行時のffmpegコマンドが確認できます。
ここから推測ですが、恐らく、targetのコーデックを指定しなければそのまま指定したコンテナに格納されるだけかと思います。
実際のプロファイルを使って上から順に説明します。
①パターンGのDVR-MSはMPEG2 PSにREMUX
※mpegはServiioでは、MPEG2PSを意味しています。
②パターンBのAVI(映像:H264)は、MPEG2 TSにREMUX
③パターンAのAVIは、MPEG2 TS(映像:MPEG2 Video,音声:AC3)にトランスコード
④パターンFのMKVは、MPEG2 TSにREMUX
⑤MP4(音声:ac3)は、MPEG2 TSにREMUX
といった意図で記述してあります。
⑤番は事前にMKVをMP4にREMUXした場合を想定したものです。
※DLNA.ORG_FLAGS=の数値は省略してあります。
【結果】
意図した通りうまくいきました。
①DVR-MSをMPEG2 PSにREMUX(PAL,NTSCの2種類あり)
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=10;DLNA.ORG_CI=1;DLNA.ORG_FLAGS= http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=10;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=
②AVIをMPEG2 TSにREMUX
http-get:*:video/mpeg:DLNA.ORG_PN=AVC_TS_MP_SD_MPEG1_L3_ISO;DLNA.ORG_OP=10;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=
③AVIをMPEG2 TSにトランスコード(EU,NA,KOを3種類あり)
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;DLNA.ORG_OP=10;DLNA.ORG_CI=1;DLNA.ORG_FLAGS= http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=10;DLNA.ORG_CI=1;DLNA.ORG_FLAGS= http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_OP=10;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=
④MKVをMPEG2 TSにREMUX
http-get:*:video/mpeg:DLNA.ORG_PN=AVC_TS_MP_SD_AC3_ISO;DLNA.ORG_OP=10;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=
⑤MP4をMPEG2 TSにREMUX
http-get:*:video/mpeg:DLNA.ORG_PN=AVC_TS_MP_SD_AC3_ISO;DLNA.ORG_OP=10;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=
③番のProtocolInfoには1つのコンテンツで3種類が設定されています。
これを別のものに書き換えたくてMediaFormatProfilesを設定したのですが、使い方が間違っているのかなんら変化はありませんでした。
とりあえず、MediaServerのContent Managerサービスからは各ビデオコンテンツ用のコンテンツ情報が送れる状況にあるので、あとはMedia Renderer側でその情報を受け取り、一覧に表示するかどうかの判定がされ表示されたものは画面で操作できるようになります。
画面で操作できるということは、再生の操作ができるということですから、再生ボタンを押すことでMedia RendererからMedia Serverへ再生のためのアクション要求を送ります。
要求を受けたMedia ServerからHTTPストリーミングで配信され、Media Rendererがそのストリームデータを受信してそれを再生できれば無事完了です。
※他の記事に記載しましたが、我が家のビデオコンテンツは、Matroska(パターンF)はMP4にコンテナだけ入れ替えして、あとのAVI(パターンAとB)やDVR-MS(パターンF)は、DiXiM TV側の設定変更だけでDiXiM Media Serverから配信できることがわかりましたので、Serviioは不要になりました。
追記
アナログチューナで録画した番組データはDVR-MS形式で、このファイルは多重化されています。
通常は映像1、音声1ですが、洋楽映画などは映像1、音声2チャンネルでそのうちの1つが不明になるためにDiXiM Media Serverから配信できないケースがありました。デフォルトの設定で対応できない場合はどうしようもないのがDiXiM Media Serverです。
そのため、カスタマイズが可能なServiioがまた必要になりました。
2011.06.16 profile.xml
DLNA ProfileName:AVC_MP4_MP_SD_AC3は再生できない(エラーNO:80028CA24)ので、DLNA ProfileName:AVC_TS_MP_SD_AC3_ISOにトランスコードで対応
MP4(H264+ac3)をMPEG2-TS(H264+ac3)にREMUXを追加
※AC3はDolby5.1ch音声です。再生時はステレオ2chになるためか効果音はそのままで肉声が聞き取りづらくなります。
<profile extendsprofileid="1" id="14" name="DiXiM Digital TV plus">
<detection>
<upnpsearch>
<friendlyname>.*DiXiM Digital TV plus*.</friendlyname>
<modelname>DiXiM Media Renderer</modelname>
</upnpsearch>
</detection>
<transcoding>
<!-- For dvr-ms files force mpeg2video transcoding to fix monotone timestamps problems--><video forcevtranscoding="true" maxvbitrate="8192" targetacodec="mp3" targetcontainer="mpeg">
<matches container="asf" vcodec="mpeg2video"></matches></video>
<video targetcontainer="mpegts">
<matches acodec="ac3" container="mp4"></matches></video>
<video targetcontainer="mpegts">
<matches container="matroska"></matches></video>
<video abitrate="384" targetacodec="ac3" targetcontainer="mpegts" targetvcodec="mpeg2video">
<matches container="avi"></matches></video>
</transcoding>
</profile>
[common_content id=”13602″]