Won't Direct Play (Direct Stream Only)

I've noticed that when using the PS4 app it ALWAYS uses Direct Streaming with MP4 videos (from Blu Ray) created using Handbrake's "High Profile" preset. If I simply change the H.264 level from 4.1 to 4.0 (with ALL other settings unchanged), it will successfully "Direct Play" the file. 

Anyone have any idea why this is? In both cases it appears to play just fine.

 

The area of the log file that seems to be pertinent is:

May 17, 2015 17:12:40:219 [11212] DEBUG - MDE: analyzing media item 1
May 17, 2015 17:12:40:219 [11212] DEBUG - MDE: Castaway18: Direct Play is disabled
May 17, 2015 17:12:40:219 [11212] DEBUG - MDE: Castaway18: no direct play video profile exists for mkv/h264/aac
May 17, 2015 17:12:40:219 [11212] DEBUG - MDE: Castaway18: no direct play video profile exists for mkv/h264/ac3
May 17, 2015 17:12:40:219 [11212] DEBUG - Castaway18: unable to obtain value for audio.bitrate
May 17, 2015 17:12:40:219 [11212] DEBUG - MDE: computed resolution bounding box of 1920x1080.
May 17, 2015 17:12:40:219 [11212] DEBUG - Scaled up video bitrate to 17854Kbps based on 150% fudge factor.
May 17, 2015 17:12:40:219 [11212] DEBUG - MDE: selected media 0
May 17, 2015 17:12:40:219 [11212] DEBUG - Cleaning directory for session ric38773p4ym0a4i ()
May 17, 2015 17:12:40:219 [11212] DEBUG - Starting a transcode session ric38773p4ym0a4i at offset -1.0 (stopped=1)
May 17, 2015 17:12:40:221 [11212] DEBUG - [Universal] Using local file path instead of URL: M:\Movies\Castaway18.mkv
 
I don't know why it says that Direct Play is disabled - it is not. Playing the same file created using the H.264 Level 4.0 does not report the above issues.

Ok, I just read this:

https://support.plex.tv/hc/en-us/articles/204377253-What-media-formats-are-supported

It appears it won't Direct Play H.264 Level 4.1 encoded files - why is that??  Does Roku have this limitation? What do I gain with level 4.1? Should I use 4.0 instead because of this?

For the most part the difference between the those two levels is simply the max video bitrate. (http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels)

Also, you are trying to play an MKV not an MP4.  (I believe in the current app version this will cause a remux, which is direct stream at the very least).


May 17, 2015 17:12:40:221 [11212] DEBUG - [Universal] Using local file path instead of URL: M:\Movies\Castaway18.mkv

Thanks for the reply - I've tried both MKV and MP4 - that particular log example was the MKV. The only time I've had it play directly was 4.0 using the MP4...  I just verified, it direct-streams the MKV with either 4.0 or 4.1.

Will I lose anything by using 4.0 then instead? Should I care that it's only direct streaming? The CPU hit doesn't seem to be huge when it's streaming (~3-4% CPU usage for that thread).

When it comes to quality everyone has different tastes and opinions.  For myself, 4.0 is fine as my blurays usually end up around 12Mbps after I convert them with ffmpeg.  So while yes, you do lose a bit in the initial conversion process only you can tell if it something you will notice or care about. (a lot of times it comes down to what the original source was, what kind of TV you're watching on, etc)

I wouldn't worry about direct play vs direct stream.  Those two are both very negligible when it comes to CPU usage.  But again this will depend on you server and number of users.  If you have a smaller CPU and a higher number of users that extra remuxing could be the difference between an extra user or two.  Generally, I only try and prevent video transcodes as that is what will hammer your CPU the most.