FAQ  •  Register  •  Login

Help creating a new device profile

<<

jpage4500

Serviio newbie

Posts: 1

Joined: Mon Nov 24, 2014 3:12 pm

Post Mon Nov 24, 2014 3:46 pm

Help creating a new device profile

Hi,

I've been trying to find a DLNA server which will stream movies to a DISH Hopper for a while now. Most servers don't have DISH profile so I'm stuck trying to figure out how to create one myself as the 'default' one never seems to work for me.

I realize this probably isn't the ideal client device.. the fact is I've got an XBMC device and Chromecast as well which are much better at this. But, my primary intent is to be able to play movies for my kids and not having to switch TV inputs is ideal. Also, I use BubbleUPNP android app to do the browsing and just play it to the Hopper - so it can even be done from another room!

I've searched for the DISH Hopper in this forum and there is a thread or 2 but I'm looking to create a full profile and didn't find much on this. Anyway, I imagine that there's always going to be new devices which someone wants to support so I thought it someone would be willing to list out steps needed to create a new profile it could be helpful to anyone - not just DISH owners.

In fact - after trying out several DLNA media servers the biggest weakness that I've found in each is the ability to help diagnose and create a new device profile. I realize each device probably requires a lot of tweaks and someone to test each - but the easier it is to create a new profile -- and then share it somewhere so others can use it -- the more I'd be willing to purchase one. I'm not saying it's necessary -- just would be a nice way to distinguish one server from another at the moment.

Anyway - back to the DISH - I've found a description of video formats it supports (link below). Someone else posted the headers from upnp spy (I think - second link). Is that enough to create a basic profile? Or, is more info needed? Also, since I know video files are a mixed bag - a tutorial that included specific test video's would also be very helpful for create a checklist of what works and what doesn't.. Obviously, all that takes time - but it'd be hugely appreciated by me and probably many others!!

from: http://forum.kooraroo.com/archive/index.php/t-1047.html
  Code:
"Below are the supported formats for Hopper DLNA Playback:
Images - JPEG only, all sizes (thumbnail we do use PNG)
Video - Containers MPEG-TS, MPEG-PS, MKV, MP4 with combination of Video codec H264/AVC, MPEG2 and audio codec, AAC, AAC PLUS, AC3 and MPEG audio
Audio - MP3, AAC, ALAC, FLAC, AC3, WAV, LPCM"
Look forward to testing the profile. As far as AAC audio, only 2 channel stereo is passed, AAC 5.1 is not supported. Also, mp4 video is occasionally pixelated from what I've seen in my testing.


viewtopic.php?f=3&t=8356#p67358

<edit> I found another page which someone created a Hopper profile for TVersity.. not sure if it helps or not but just wanted to add in case --
https://briancarlile.wordpress.com/2012 ... -and-joey/
  Code:
As far as I can tell so far the hopper units can natively handle mp4 and mkv containers with mpeg2, and h264 video and AAC/MPEG audio — The rest (such as Xvid, wmv, etc) must be transcoded

thanks!!
<<

mjb

User avatar

Streaming enthusiast

Posts: 45

Joined: Fri Jan 06, 2012 10:42 pm

Post Sat Jan 09, 2016 8:30 am

Re: Help creating a new device profile

I have confirmed through trial and error that the Hopper's "Home Media" player supports:
  • MPEG and Matroska containers (.mkv, .mpg, .mpeg, .mp4, .vob, .ts)
  • some MPEG video (mpeg1, mpeg2, h264)
  • AC-3 audio (mono, stereo, 5.1, maybe more) and MPEG audio (MP1, MP2, MP3, AAC-LC) (mono or stereo)
The bad news:
  • Despite official info relayed from the Dish support forum, it apparently doesn't support ALAC, WAV, or LPCM.
  • If multiple audio streams are available, you don't get to pick; the Hopper just uses the last one, whereas when matching and transcoding, Serviio only sees the first one.
  • When resuming after a long pause, sometimes the first 30 seconds or so will repeat once.
  • Seeking in natively rendered content is flaky; if it doesn't work right away, pause it, resume, try again.
  • Seeking doesn't work at all in transcoded content; if you try, it will either do nothing or go back to the start.
  • No subtitle support. (Although, someone on the Dish support forum says MPEG-4 Timed Text is supported in MP4 files.)
  • The zoom button on the remote doesn't work. When watching non-HD content, for example, it will just use the mode you chose when watching non-HD content from live TV or DVR.
  • Sometimes it gets confused and just gives you the 'busy' animation (green boxes). Sometimes the problem resolves itself, other times you must restart Serviio or go back to Live TV or the DVR. Often I have to hit the red reset button on the Hopper because it just gets completely stuck.
The broken seek on transcodes is something I kind of expected, but the native rendering only using the last audio stream is a real bummer. If you need the first audio stream, you must transcode/remux, and then you can't seek.

Anyway, this is the profile I'm using (updated June 2018):

  Code:
<Profile id="Hopper" name="Dish Hopper" extendsProfileId="1">
   <!--
   video: mp2t, mp1s, mpeg2, mp4, x-matroska
   audio: mpeg, mpeg3, mp3, mp4, mp4-latm
   image: jpeg

      Does support AAC audio in a video stream.
      If multiple audio streams, only the last one is played.
      If an MJPEG stream exists (e.g. for thumbnail), file will not play.
      Image slideshow is broken (as of May 2018); you can view 1 at a time though.
      Does not support H.264 in an MPEG-TS stream, so must transcode to MPEG-2 video.
   -->
   <Detection>
       <UPnPSearch>
         <ModelName>.*Hopper.*</ModelName>
         <Manufacturer>Echostar.*</Manufacturer>
       </UPnPSearch>
   </Detection>
   <Transcoding>
      <Video targetContainer="mpegts" targetVCodec="mpeg2video" maxVBitrate="15000" maxHeight="720">
         <Matches container="*" vCodec="h264" levelGreaterThan="4.1" aCodec="aac"/>
         <Matches container="*" vCodec="h265" levelGreaterThan="4.1" aCodec="aac"/>
      </Video>
      <Video targetContainer="mpegts" targetVCodec="mpeg2video" maxVBitrate="15000">
         <!-- unsupported video with AAC or MP3 audio: transcode video only -->
         <Matches container="*" vCodec="h264" levelGreaterThan="4.1" aCodec="aac"/>
         <Matches container="*" vCodec="h264" profile="high_422" aCodec="aac"/>
         <Matches container="*" vCodec="h264" profile="high_444" aCodec="aac"/>
         <Matches container="*" vCodec="h264" profile="high_10" aCodec="aac"/>
         <Matches container="*" vCodec="h265" aCodec="aac"/>
         <Matches container="*" vCodec="mpeg4" aCodec="aac"/>
         <Matches container="*" vCodec="mpeg4" aCodec="mp3"/>
         <Matches container="avi" aCodec="aac"/>
         <Matches container="avi" aCodec="mp3"/>
         <Matches container="flv" aCodec="aac"/>
         <Matches container="flv" aCodec="mp3"/>
         <!--
         not working; see http://forum.serviio.org/viewtopic.php?f=7&t=24545
         <Matches container="*" vCodec="svq3" aCodec="aac"/>
         <Matches container="*" vCodec="svq3" aCodec="mp3"/>
         -->
      </Video>
      <Video targetContainer="mpegts" targetVCodec="mpeg2video" maxVBitrate="15000" targetACodec="ac3" aBitrate="448">
         <Matches container="*" aCodec="dca"/>
         <Matches container="*" aCodec="dts-hd"/>
         <Matches container="*" aCodec="eac3"/>
         <Matches container="*" aCodec="lpcm"/>
         <Matches container="*" vCodec="dvvideo"/>
         <Matches container="*" vCodec="h264" levelGreaterThan="4.1"/>
         <Matches container="*" vCodec="h264" profile="high_422"/>
         <Matches container="*" vCodec="h264" profile="high_444"/>
         <Matches container="*" vCodec="h264" profile="high_10"/>
         <Matches container="*" vCodec="h265"/>
         <Matches container="*" vCodec="mpeg4"/>
         <Matches container="*" vCodec="theora"/>
         <Matches container="*" vCodec="vc1"/>
         <Matches container="*" vCodec="wmv2"/>
         <Matches container="avi"/>
         <Matches container="flv"/>
         <!--
         not working; see http://forum.serviio.org/viewtopic.php?f=7&t=24545
         <Matches container="*" vCodec="cvid"/>
         <Matches container="*" vCodec="svq1"/>
         <Matches container="*" vCodec="svq3"/>
         -->
      </Video>
      <Audio targetContainer="mp3" aBitrate="320">
         <Matches container="ape"/>
         <Matches container="flac"/>
         <Matches container="lpcm"/>
         <Matches container="ogg"/>
      </Audio>
   </Transcoding>
</Profile>


Previously, I didn't cap the video bitrate because everything I tried was playing OK, but that was before the new UI rolled out in 2017. The new UI makes the original Hopper models run slow as molasses, and on mine, at least, I now have to cap the video at 15 Mbps. Faster models like the Hopper 3 might not need this cap.

Suggestions to improve it would be appreciated.

Return to Serviio Support & Help

Who is online

Users browsing this forum: Google Adsense [Bot] and 104 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.