Share your experience!
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:
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:
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.
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).
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!
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!
Jecht_Sin schrieb:
PS: Via USB La La Land demo plays the DTS-HD audio?!
Why not? Nothing fancy about it . Which app? How did it play? Via DTS 5.1 passthrough? As decoded stereo PCM?
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 . 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.
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...
Oh yeah, I think to remember now that I have read something like that about Video in the past. So let me understand:
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.
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
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.
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.