Wed Apr 10, 2013 10:58 am by scottrotton
top of my code looks like this
<Profile id="sony2012" name="Sony Bravia TV (2012)" extendsProfileId="1">
<!-- 2012 models
- Still images: JPEG, MPO
- Music: MP3, linear PCM, WMA, MP4
- Video: AVCHD, MPEG2, MPEG1, MP4 (AVC), MP4 (MPEG4), DivX, WMV -->
<Detection>
<UPnPSearch>
<FriendlyName>BRAVIA KDL-\d{2}[A-Z]X\d5(\d|G).*</FriendlyName>
</UPnPSearch>
</Detection>
<DeviceDescription>
<!-- act as WMP so that the TV doesn't show root categories -->
<ModelName>Windows Media Player Sharing</ModelName>
<ModelNumber>3.0</ModelNumber>
<Manufacturer>Microsoft Corporation</Manufacturer>
</DeviceDescription>
<ContentDirectoryMessageBuilder>org.serviio.upnp.service.contentdirectory.SonyDLNAMessageBuilder</ContentDirectoryMessageBuilder>
<ContentDirectoryDefinitionFilter>org.serviio.upnp.service.contentdirectory.definition.WMPContentDirectoryDefinitionFilter</ContentDirectoryDefinitionFilter>
<MediaFormatProfiles>
<!-- rename native WMA formats to those supported by the tv -->
<MediaFormatProfile mime-type="audio/x-ms-wma" name="WMABASE">WMA_BASE</MediaFormatProfile>
<MediaFormatProfile mime-type="audio/x-ms-wma" name="WMAFULL">WMA_FULL</MediaFormatProfile>
<!-- rename 3gp profiles that can be played as AVC -->
<MediaFormatProfile mime-type="video/mp4" name="AVC_MP4_MP_SD_AAC_MULT5">AVC_3GPP_BL_QCIF15_AAC</MediaFormatProfile>
<!-- Rename native avi formats to those supported by the tv -->
<MediaFormatProfile mime-type="video/avi" name="">AVI</MediaFormatProfile>
<!-- Rename native mpeg2ts with h264+ac3/aac formats to those supported by the tv (aac support is not advertised by the renderer but it works) -->
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU">AVC_TS_MP_HD_AC3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU">AVC_TS_MP_SD_AC3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU">AVC_TS_MP_HD_AAC_MULT5</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU">AVC_TS_MP_SD_AAC_MULT5</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T">AVC_TS_MP_HD_AC3_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T">AVC_TS_MP_SD_AC3_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T">AVC_TS_HP_HD_MPEG1_L2_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T">AVC_TS_HP_SD_MPEG1_L2_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T">AVC_TS_MP_HD_AAC_MULT5_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T">AVC_TS_MP_SD_AAC_MULT5_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T">AVC_TS_MP_SD_MPEG1_L3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T">AVC_TS_MP_SD_MPEG1_L3_T</MediaFormatProfile>
<!-- Rename transcoded mpeg2ts with h264 to one of the TV's supported profiles -->
<MediaFormatProfile mime-type="video/mpeg" name="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO">AVC_TS_MP_HD_AC3_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mpeg" name="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO">AVC_TS_MP_SD_AC3_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mpeg" name="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO">AVC_TS_HP_HD_MPEG1_L2_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mpeg" name="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO">AVC_TS_HP_SD_MPEG1_L2_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mpeg" name="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO">AVC_TS_MP_HD_AAC_MULT5_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mpeg" name="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO">AVC_TS_MP_SD_AAC_MULT5_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mpeg" name="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO">AVC_TS_MP_SD_MPEG1_L3_ISO</MediaFormatProfile>
</MediaFormatProfiles>
<Transcoding>
<!-- Transcode all h264 video with HIGH/MAIN > Level 4.1 on MPEG-TS stream with MPEG2VIDEO and ac3 audio transcoding -->
<!-- expected profile MPEG_TS_SD_EU/MPEG_TS_SD_NA/MPEG_TS_SD_KO -->
<Video targetContainer="mpegts" targetVCodec="mpeg2video" maxVBitrate="17000" targetACodec="ac3" aBitrate="384" DAR="16:9" forceInheritance="true">
<Matches container="*" vCodec="h264" profile="high" levelGreaterThan="4.1" />
<Matches container="*" vCodec="h264" profile="main" levelGreaterThan="4.1" />
<Matches container="*" vCodec="h264" profile="high_10" /><!-- High 10@L4.1 not supported by Bravia devices -->
<Matches container="mpegts" vCodec="vc1" />
</Video>
<!-- Remux containers with h264 video + AC3/AAC audio to MPEG-TS stream without transcoding -->
<Video targetContainer="mpegts" forceInheritance="true">
<Matches container="avi" vCodec="h264" aCodec="ac3" />
<Matches container="avi" vCodec="h264" aCodec="aac" />
<Matches container="matroska" vCodec="h264" aCodec="ac3" />
<Matches container="matroska" vCodec="h264" aCodec="aac" />
<Matches container="flv" vCodec="h264" aCodec="ac3" />
<Matches container="flv" vCodec="h264" aCodec="aac" />
</Video>
<!-- Remux all other h264 video to MPEG-TS stream with ac3 audio transcoding -->
<!-- expected profile AVC_TS_MP_HD_AC3_ISO -->
<Video targetContainer="mpegts" targetACodec="ac3" aBitrate="384" forceInheritance="true">
<Matches container="avi" vCodec="h264" />
<Matches container="matroska" vCodec="h264" />
<Matches container="flv" vCodec="h264" />
<Matches container="mp4" vCodec="h264" aCodec="mp3" />
<Matches container="mp4" vCodec="h264" aCodec="lpcm" />
<!-- if audio different to ac3/aac, it must be transcoded -->
<Matches container="mpegts" aCodec="mp3" />
<Matches container="mpegts" aCodec="dca" />
<Matches container="mpegts" aCodec="lpcm" />
<Matches container="mpeg" aCodec="dca" />
</Video>
<!-- VC1_ASF_AP_L3_WMA not supported : TODO find a match -->
<!-- <Video targetContainer="asf" targetACodec="wmav2" forceStereo="true"> -->
<!-- <Matches container="asf" vCodec="vc1" maxHeight="720"/> -->
<!-- </Video> -->
<!-- DVR-MS -->
<!-- force mpeg2video transcoding to fix monotone timestamps problems -->