Join now - be part of our community!

YouTube HDR... finally

profile.country.AT.title
Kuschelmonschter
Hero

YouTube HDR... finally

YouTube HDR content is finally available!

 

You will find a playlist here. However, these clips will be played as SDR on Sonys for now.

 

With youtube-dl you can find vp9.2 encodings for those clips:

 

330          webm       256x144    144p60  156k , vp9.2, 60fps, video only, 2.38MiB
331          webm       426x240    240p60  256k , vp9.2, 60fps, video only, 3.87MiB
332          webm       640x360    360p60  485k , vp9.2, 60fps, video only, 7.35MiB
333          webm       854x480    480p60  909k , vp9.2, 60fps, video only, 13.83MiB
334          webm       1280x720   720p60 1991k , vp9.2, 60fps, video only, 28.18MiB
335          webm       1920x1080  1080p60 3201k , vp9.2, 60fps, video only, 49.70MiB
336          webm       2560x1440  1440p60 11166k , vp9.2, 60fps, video only, 170.23MiB
337          webm       3840x2160  2160p60 20122k , vp9.2, 60fps, video only, 335.45MiB

 

 

Those are webm however which the native Video app won't play.

 

We will see whether we will get support for it soon, even for the early 2016 models with the old MediaTek SoC from last year. At least Sony promised that back at CES:

 

Spoiler
YouTube will also start streaming in HDR quality later this year, using a new VP9-Profile 2 codec that brings HDR support to Google’s VP9 video format. Sony’s Motoi Kawamura, Head of TV Product Planning for Sony Europe, confirmed to FlatpanelsHD that the 2016 models will support VP9-Profile 2 and be capable of streaming YouTube in HDR. We saw a demo at CES and it looked very good.

Source

 

 

 

401 REPLIES 401
profile.country.GB.title
Jecht_Sin
Enthusiast

I think I made mpegts working in Plex. At least a couple of HDR videos I have should be on that format (one is the HLG video TravelXP 4K HDR HLG. It has a .ts format). The transcoding issue (and there are plenty) is due to some bugs here and there. This is what I did to make it always working:

 

  • Uninstall Plex
  • From apk mirror download version 5.10.x.y
  • In Plex settings set Direct Play to "Forced"
  • I have also added the "Info ON" to see the resolution I am playing and if it is transcoding it.
  • Update Plex via Google Play
  • Never touch the settings again because that is where it messes up (even just going into settings one said)

Instead it seems the networking realy is the culprit for the performances.. I played a 4K video in YouTube, this is the CPU usage after the video has been fully downloaded:

 

 

Mem: 1477460K used, 136252K free, 97688K shrd, 8192K buff, 236968K cached
CPU: 10.0% usr 12.2% sys  0.1% nic 77.5% idle  0.0% io  0.0% irq  0.0% sirq
Load average: 38.16 37.38 36.24 2/2629 30846
  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
13899  1242 u0_a140  S    1359m 86.0   2  4.2 {roid.youtube.tv} com.google.android.youtube.tv

 

And this playing while streaming:

 

Mem: 1461216K used, 152496K free, 98132K shrd, 18812K buff, 281680K cached
CPU: 40.2% usr 36.4% sys 10.4% nic  8.5% idle  4.1% io  0.0% irq  0.1% sirq
Load average: 39.90 38.06 36.68 15/2497 31256
  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
13899  1242 u0_a140  D    1309m 82.8   1 28.7 {roid.youtube.tv} com.google.android.youtube.tv

Absurd.

 

PS: I'll check with the videos on USB. Now you made me curious.

profile.country.AT.title
Kuschelmonschter
Hero

Did I understand it correctly that usage is higher after the file has fully been downloaded? So when there is actually no network traffic anymore? Looks like something busy-loops afterwards?

 

OK. Got it wrong. Looked at the idle percentage. Seems like Nougat has a newer busybox version. The top in Marshmallow does not show idle (or nic).

profile.country.GB.title
Jecht_Sin
Enthusiast

Ok, I did some tests via USB 3.0 (not that 3.0 or 2.0 should really matter). Just using "The  world in HDR" so we know what we are talking about.

 

Kodi:

 

Mem: 1434768K used, 178944K free, 89948K shrd, 10104K buff, 315156K cached
CPU: 14.5% usr 19.3% sys  0.3% nic 65.6% idle  0.0% io  0.0% irq  0.1% sirq
Load average: 38.69 38.59 37.55 2/2474 5183
  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
 2608  1242 u0_a158  S    1551m 98.1   2 12.8 org.xbmc.kodi
 1233     1 system   D <   133m  8.4   0  5.9 /system/bin/surfaceflinger
 1710     2 root     DW       0  0.0   1  2.6 [NR main loop]
  473     1 media    S     149m  9.4   2  1.7 /system/bin/mediaserver

 

Sony's Video:

 

Mem: 1346260K used, 267452K free, 73728K shrd, 27384K buff, 335192K cached
CPU:  2.8% usr  5.5% sys  0.3% nic 91.1% idle  0.1% io  0.0% irq  0.0% sirq
Load average: 39.91 39.08 37.95 2/2346 5980
  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
 1710     2 root     DW       0  0.0   1  1.6 [NR main loop]
 1233     1 system   S <   145m  9.2   0  0.7 /system/bin/surfaceflinger
13720     2 root     DW       0  0.0   0  0.7 [SonySOPQCtrlVdo]
 1311     2 root     SW       0  0.0   1  0.7 [VDEC  7]

 

Basically the CPU with Video is doing f. nothing! :yahoo:

 

They never played as smooth as now. Although Kodi does use some CPU resources (it's a bit heavy in my opinion).

 

PS: Via USB La La Land demo plays the DTS-HD audio?! what's going on? Unless I played a different video. I'll check later. Lunch time!

 

profile.country.AT.title
Kuschelmonschter
Hero


Jecht_Sin schrieb:
PS: Via USB La La Land demo plays the DTS-HD audio?!

Why not? Nothing fancy about it :wink: . Which app? How did it play? Via DTS 5.1 passthrough? As decoded stereo PCM?

profile.country.GB.title
Jecht_Sin
Enthusiast

 


Kuschelmonschter wrote: 

OK. Got it wrong. Looked at the idle percentage. Seems like Nougat has a newer busybox version. The top in Marshmallow does not show idle (or nic).


No, I have taken a copy of busybox from this apk (unzipped) and put it in "/data/local/tmp". That's the directory used by various rooting tools in Android, and it is writeable by everyone. 

 

I did it because as you see the Android's top is awful. Plus I get to use all busybox commands. I made this profile (which must be source at each adb shell login via ". /data/local/tmp/profile") if you're interested:

 

 

export HOME=/data/local/tmp

echo $PATH | grep $HOME:
if [ $? -eq 1 ]; then
	export PATH=$HOME:$PATH
fi
stty cols 180 rows 44

 

 

Obviously you should change cols and rows according to the size of your terminal. Then to get all busybox commands you should run (after having sourced the profile):

 

busybox --install -s /data/local/tmp

 

Kuschelmonschter wrote:

Jecht_Sin schrieb:
PS: Via USB La La Land demo plays the DTS-HD audio?!

Why not? Nothing fancy about it :wink: . Which app? How did it play? Via DTS 5.1 passthrough? As decoded stereo PCM?


Never mind. I have got confused. The DTS-HD 7.1 audio does play (well, probably converted as you explained) in Sony's Video app via both USB and DLNA. It's mute in Plex (and Plex only). I thought to remember Video didn't play the DTS-HD audio either.

 

profile.country.AT.title
Kuschelmonschter
Hero


Jecht_Sin schrieb:
Never mind. I have got confused. The DTS-HD 7.1 audio does play (well, probably converted as you explained) in Sony's Video app via both USB and DLNA. It's mute in Plex (and Plex only). I thought to remember Video didn't play the DTS-HD audio either.

Yes, Video can do it. It can extract DTS Core (5.1) from DTS HD and output it via some proprietary passthrough API. It does not use the standard Android APIs like ENCODING_DTS or ENCODING_IEC61793. That' why it works there...

profile.country.GB.title
Jecht_Sin
Enthusiast

Oh yeah, I think to remember now that I have read something like that about Video in the past. So let me understand:

 

  1. Video uses some proprietary APIs
  2. Kodi uses the PCM hack
  3. Plex uses only standard APIs and as such is doomed with DTS-HD

Is that correct?

 

Instead I had a doubt but now I am sure: neither Kodi nor Video play "The World in HDR" in.. HDR. Both have the same identical washed colours. With Video I can check the image settings while playing and it doesn't show the HDR icon. I can't check in Kodi, since getting into settings it stops the video (something that I hate about that app. How do you get the info about the videos you're playing in Kodi?), but I am sure it isn't HDR.

 

Same for few other videos. HDR isn't there. While they all play in HDR in Plex. Which is another reason why I privilege Plex. DTS-HD apart or other fancy audio format it plays everything. Although the networking perfomances make it a pain with the demos.

profile.country.AT.title
Kuschelmonschter
Hero


1. Video uses some proprietary APIs

Yes.

 


2. Kodi uses the PCM hack

Depends...

 

Kodi 16 Jarvis: PCM hack

SPMC 16: PCM hack in IEC passthrough mode / RAW API (ENCODING_DTS etc.) in RAW passthrough mode

Kodi 17: RAW API (ENCODING_DTS etc.) on Lollipop and Marshmallow / IEC API (ENCODING_IEC61937) on Nougat

 

Then there exist custom builds of Kodi 17 which use PCM hack (so-called **  builds) instead of RAW API to "fix" DTS.

 

So depending on the app and which API it uses, but also which version of Android you run, results might vary. No conventional user understands it anymore.

 


3. Plex uses only standard APIs and as such is doomed with DTS-HD

I only know the situation for Kodi. No clue which API is used in Plex. Suppose it uses the RAW APIs (ENCODING_DTS etc.), which would explain why DTS does not work. Pretty sure that it doesn't use PCM hack.

 

What it probably could do is extract DTS Core and decode it to stereo PCM instead of trying passthrough. Think you can disable passthrough in Plex. Then it might play...

 

 

 

Concerning HDR, I don't think Plex does anything special and it should work in Kodi too. HDR metadata is encoded in HEVC or VP9.2 bitstream. So when HW decoding video, the decoder will find the data and do the rest. In case of MediaCodec Surface mode, the TV is also responsible for rendering video. So neither do the apps' renderers have to support HDR. They only have to render the UI. I can't verify with "The World in HDR" since this is VP9.2 which my TV can't handle. I can only play the 4K VP9 SDR stream. Would have to try some HEVC HDR...

 

[Edited for language] EdU

profile.country.AT.title
Kuschelmonschter
Hero

Playing the "The World in HDR" 4K VP9 SDR stream (30mbps) with Opus audio via NFS share didn't consume much more CPU than via USB (under +5%). Playback is perfectly smooth.

 

I couldn't see the file via DLNA. Suppose WebM is not indexed. Need to investigate.

profile.country.AT.title
Kuschelmonschter
Hero

I now played the Sony Camp HDR Demo in Kodi. It is a HEVC HDR10 sample. The TV detects that it is HDR and switches to the respective picture profile. Colors and brightness are beautiful. So everything is fine for me.