Testing new profile for Roku 4
Posted: Sat Jan 16, 2016 12:08 am
The Roku profile is designed to support all players. There has been a significant improvement in the Roku hardware with each version. Even the Roku 2 has more than one version. With the release of the Roku 4, it now has the hardware to support much higher bitrates than before. I have done some testing, and so far it seems to handle my H264 Blu-Ray rips with no issues. However, not every BD disc uses H264, so I had to allow for VC-1. Below is a first attempt to build a Roku 4 specific profile. I've tested it with MKV, M2TS, MPG, MP4. TS and WMV containers, with most types of audio.
I would appreciate any additional assistance with testing. the MediaFormatProfile lines are the same as the standard Roku profile, so there's no additions yet for H265 or 4K video. Since Roku players don't display that sort on information with Device Spy, I'm checking with the Roku developers to determine what should be added. The comments in the profile are left over from the normal Roku profile, so there may be some that actually don't apply to what's below the comment.
If you have a Roku 4, be aware that you may actually get a faster network connection via Wi-Fi, as the box is still 100 Mb Ethernet, while the Wi-Fi is 802.11AC. I have confirmed it supports 10 bit color and 4K at 60 fps. Quite an improvement over my 2 XS.
I would appreciate any additional assistance with testing. the MediaFormatProfile lines are the same as the standard Roku profile, so there's no additions yet for H265 or 4K video. Since Roku players don't display that sort on information with Device Spy, I'm checking with the Roku developers to determine what should be added. The comments in the profile are left over from the normal Roku profile, so there may be some that actually don't apply to what's below the comment.
If you have a Roku 4, be aware that you may actually get a faster network connection via Wi-Fi, as the box is still 100 Mb Ethernet, while the Wi-Fi is 802.11AC. I have confirmed it supports 10 bit color and 4K at 60 fps. Quite an improvement over my 2 XS.
- Code:
<Profile id="Roku4MPApp" name="Roku 4 Media Player" extendsProfileId="1">
<Detection>
<UPnPSearch>
<ModelName>Roku 4</ModelName>
</UPnPSearch>
<HttpHeaders>
<User-Agent>.*ROKU.4*</User-Agent>
</HttpHeaders>
</Detection>
<MediaFormatProfiles>
<MediaFormatProfile mime-type="video/mp4">AVC_MP4_MP_SD_AAC_MULT5</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mp4">AVC_MP4_MP_SD_MPEG1_L3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mp4">AVC_MP4_MP_SD_AC3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mp4">AVC_MP4_MP_HD_720p_AAC</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mp4">AVC_MP4_MP_HD_1080i_AAC</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mp4">AVC_MP4_HP_HD_AAC</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mp4">AVC_MP4_LPCM</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mp4">MPEG4_P2_MP4_ASP_AAC</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mp4">MPEG4_P2_MP4_SP_L6_AAC</MediaFormatProfile>
<MediaFormatProfile mime-type="video/mp4">MPEG4_P2_MP4_NDSD</MediaFormatProfile>
<MediaFormatProfile mime-type="audio/mpeg">MP3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_AAC_MULT5</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_AAC_MULT5_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_AAC_MULT5_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_MPEG1_L3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_MPEG1_L3_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_MPEG1_L3_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_AAC_MULT5</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_AAC_MULT5_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_AAC_MULT5_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_MPEG1_L3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_MPEG1_L3_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_MPEG1_L3_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_AC3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_AC3_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_SD_AC3_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_HP_SD_MPEG1_L2_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_HP_SD_MPEG1_L2_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_HD_AAC_MULT5</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_HD_AAC_MULT5_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_HD_AAC_MULT5_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_HD_MPEG1_L3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_HD_MPEG1_L3_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_HD_MPEG1_L3_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_HD_AC3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_HD_AC3_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_MP_HD_AC3_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_HD_DTS_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_HD_DTS_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_HD_50_LPCM_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_HP_HD_MPEG1_L2_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">AVC_TS_HP_HD_MPEG1_L2_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">MPEG4_P2_TS_ASP_AAC</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">MPEG4_P2_TS_ASP_AAC_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">MPEG4_P2_TS_ASP_AAC_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">MPEG4_P2_TS_ASP_AC3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">MPEG4_P2_TS_ASP_AC3_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">MPEG4_P2_TS_ASP_AC3_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">MPEG4_P2_TS_ASP_MPEG1_L3</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">MPEG4_P2_TS_ASP_MPEG1_L3_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">MPEG4_P2_TS_ASP_MPEG1_L3_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">MPEG4_P2_TS_ASP_MPEG2_L2</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">MPEG4_P2_TS_ASP_MPEG2_L2_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">MPEG4_P2_TS_ASP_MPEG2_L2_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">VC1_TS_AP_L1_AC3_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">VC1_TS_AP_L2_AC3_ISO</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">VC1_TS_HD_DTS_T</MediaFormatProfile>
<MediaFormatProfile mime-type="video/vnd.dlna.mpeg-tts" name="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO">VC1_TS_HD_DTS_ISO</MediaFormatProfile>
</MediaFormatProfiles>
<Transcoding>
<!-- Remux audio and video streams - for DivX/Xvid in AVI/Matroska -->
<Video targetContainer="mpegts">
<Matches container="*" vCodec="mpeg4" aCodec="aac" />
<Matches container="*" vCodec="msmpeg4" aCodec="aac" />
</Video>
<!-- Remux video stream, transcode audio only - for DivX/Xvid in AVI/Matroska -->
<Video targetContainer="mpegts" targetACodec="ac3" aBitrate="128">
<Matches container="*" vCodec="mpeg4" aCodec="mp3" />
<Matches container="*" vCodec="msmpeg4" aCodec="mp3" />
<Matches container="*" aCodec="truehd" />
</Video>
<!-- Remux supported audio, transcode H.264 video if bitrate is too high, transcode non-H.264 video -->
<Video targetContainer="mpegts" targetVCodec="h264" targetACodec="ac3" >
<Matches container="*" vCodec="mpeg2video" />
<Matches container="*" vCodec="vc1" />
<Matches container="*" vCodec="wmv2" />
</Video>
<Audio targetContainer="mp3">
<Matches container="*" />
</Audio>
</Transcoding>
<OnlineTranscoding>
<Video targetContainer="applehttp"> <!-- dont transcode to ac3 -->
<Matches container="mp4" />
<Matches container="flv" vCodec="h264" />
<Matches container="applehttp" vCodec="h264" />
</Video>
</OnlineTranscoding>
<GenericTranscoding>
<Video targetContainer="asf" targetVCodec="wmv2" targetACodec="wmav2" maxVBitrate="15360" forceStereo="true" />
</GenericTranscoding>
<LimitImageResolution>false</LimitImageResolution>
</Profile>