Serviio

デジタル録画番組を除くビデオコンテンツを「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 Files\Serviio インストール先フォルダ
\bin サービス起動停止用プログラムフォルダ
\config 設定ファイル用フォルダ
\lib javaプログラム用フォルダ※ffmpeg.exeを含む
\library データベース用フォルダ
\log ログファイル用フォルダ
C:\WINDOWS\Temp トランスコード後のファイル一時保存フォルダ※変更可能

起動方法

①「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」

status

「Library」

library

「Metadata」

metadata

「Transcoding」

transcoding

「Presentation」

presentation
※デフォルトだとたくさんのフォルダが表示されてしまうので必要最低限のものだけにしました。

「Console Settings」

console settings

「About」

about

実行結果(※デフォルト設定)

「HVL-AVR」や「DiXiM Media Server 3 for IO-DATA」をDMSにした場合と同じく、パターンC,D,Eが一覧表示され再生もできました。
TVPlus

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で作成してくれた)も表示されています。
実行結果1

dvr-msも再生できました。
実行結果2

再生はかなり重くなります。コントロールボタン(停止、早送り・巻き戻し、一時停止など)もすべて表示されています。
実行結果3

以上で、デジタル録画番組以外のビデオコンテンツを「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> 

 

カテゴリ

検証

タグ

Serviio