Jump to content

[Bug] 4k HDR + 2.0 AAC to Chromecast Ultra, transcoded when should Direct Play


BloodyIron

Recommended Posts

BloodyIron

Hey Folks,

 

Finally making time to submit this bug report.

 

I'm trying to get my ecosystem setup for 4k tastiness. Have a 4k panel, with HDR and a built-in Chromecast Ultra, no other Smart TV garbage.

 

When I connect Emby to my TV via Chromecast then send my test video to it, it transcodes to 1080p and the HDR is also stripped.

 

What is expected is for it to actually just Direct Play this, since the content matches what the Direct Play documentation spec says it should be.

 

Naturally, it's also worth pointing out, that if non-compliant 4k HDR content were too be transcoded, that it should stay 4K and HDR, and really only transcode the audio (where necessary), assuming codec compatibility, etc.

 

I'm going to privately pass the logs to Luke due to privacy sensitivity.

 

Hoping we can get this hammered out! :D Can't wait to do 4K HDR through Emby!

Link to comment
Share on other sites

Are you sure it's a chromecast ultra? it's not identifying itself the way the ultra model normally does.

Link to comment
Share on other sites

BloodyIron

When I stream sample YT content that is 4k and HDR, the TV reports 2160p and HDR mode on. There's an info function for the TV to report resolution, and if HDR is present "HDR" is explicitly added to the display.

 

So, the evidence points to it being a Chromecast Ultra, however the TV spec sheet doesn't explicitly say, one way or another. I can't recall for sure if my WAP said explicitly, but I think it might have shown up as AC too (802.11ac), which is only available on the Chromecast Ultra (last I checked).

 

 

Are you sure it's a chromecast ultra? it's not identifying itself the way the ultra model normally does.

Link to comment
Share on other sites

KarlDag

Are you sure it's a chromecast ultra? it's not identifying itself the way the ultra model normally does.

It's not a Chromecast ultra, it's a Google Cast enabled TV, probably similar to what Vizio does with smartcast.

Edited by KarlDag
Link to comment
Share on other sites

BloodyIron

I don't see how that's any different, it meets the spec of the Chromecast Ultra.

 

It's not a Chromecast ultra, it's a Google Cast enabled TV, probably similar to what Vizio does with smartcast.

Link to comment
Share on other sites

KarlDag

I don't see how that's any different, it meets the spec of the Chromecast Ultra.

If you didn't buy a chromecast ultra, then it's not a chromecast ultra.

 

That's like saying that because my vizio tv will support airplay2 later this year, they're adding an appletv 4K to it. It's not the case.

 

The TV in this case supports Google Cast, which is a protocol meant to be able to cast from a mobile device, it doesn't have a chromecast ultra attached to it.

 

If there's a bug in the TVs firmware for example, and it doesn't report as 4K or not HDR (or whatever other situation might arise ) to the protocol, then it won't accept the 4k HDR file when casted. Considering YouTube does cast 4K HDR, there's probably some other incompatibility between your file and what the TV firmware accepts. I've seen issues with reference frames being too high in a h264 media file before, but I don't know if that's an issue with hevc too.

 

Sent from my Pixel 2 XL using Tapatalk

Edited by KarlDag
Link to comment
Share on other sites

BloodyIron

Not sure what you mean by "reference frames being too high" too high what?

 

 

If you didn't buy a chromecast ultra, then it's not a chromecast ultra.

That's like saying that because my vizio tv will support airplay2 later this year, they're adding an appletv 4K to it. It's not the case.

The TV in this case supports Google Cast, which is a protocol meant to be able to cast from a mobile device, it doesn't have a chromecast ultra attached to it.

If there's a bug in the TVs firmware for example, and it doesn't report as 4K or not HDR (or whatever other situation might arise ) to the protocol, then it won't accept the 4k HDR file when casted. Considering YouTube does cast 5K HDR, there's probably some other incompatibility between your file and what the TV firmware accepts. I've seen issues with reference frames being too high in a h264 media file before, but I don't know if that's an issue with hevc too.

Sent from my Pixel 2 XL using Tapatalk

Link to comment
Share on other sites

KarlDag

Not sure what you mean by "reference frames being too high" too high what?

Let's not make it more complicated that it has to be. All I'm saying is that when you cast, the TV tells the server "here are the characteristics is the media files I can play". Emby server then compares that to your media file - if for whatever reason there is some characteristic of the file that your TV downstairs support, it will need to be transcoded.

 

Let's wait for @@Luke to see what is in the logs, I don't understand them.

 

Also, as far I know, when a file is being transcoded it is impossible, right now, to transcode back into HDR, so you'll lose the HDR and colors will be muted. That's a limitation of the current state of tech, Plex has the same issue.

 

Sent from my Pixel 2 XL using Tapatalk

Edited by KarlDag
  • Like 1
Link to comment
Share on other sites

BloodyIron

Certainly. And when I first got the TV I poured all over the manual (figuratively of course) and unfortunately at the time it was rather short on details/specs. I was namely looking for wifi spec, but I don't recall seeing lots of Chromecast-centric specs either. :S

 

Let's not make it more complicated that it has to be. All I'm saying is that when you cast, the TV tells the server "here are the characteristics is the media files I can play". Emby server then compares that to your media file - if for whatever reason there is some characteristic of the file that your TV downstairs support, it will need to be transcoded.

Let's wait for @@Luke to see what is in the logs, I don't understand them.

Sent from my Pixel 2 XL using Tapatalk

Link to comment
Share on other sites

it's reporting itself as a regular chromecast, and we're checking for the ultra model to detect support for certain things. we'll have to see if there's another way we can do that. thanks.

  • Like 1
Link to comment
Share on other sites

BloodyIron

@@Luke it seems to me the Youtube app sees the 4k and HDR capability. I wonder how it's getting the spec capabilities of the device.

 

Do you know of a way to connect to such devices and dump the specs from it? Ala, codecs, res, bitrates, etc? Is this anything like EDID info?

 

Very curious!

Link to comment
Share on other sites

BloodyIron

I just noticed your part about the HDR. To clarify, I'm not talking about transcoding back into HDR, I am talking about retaining the HDR info in the transcode process.

 

 

Let's not make it more complicated that it has to be. All I'm saying is that when you cast, the TV tells the server "here are the characteristics is the media files I can play". Emby server then compares that to your media file - if for whatever reason there is some characteristic of the file that your TV downstairs support, it will need to be transcoded.

Let's wait for @@Luke to see what is in the logs, I don't understand them.

Also, as far I know, when a file is being transcoded it is impossible, right now, to transcode back into HDR, so you'll lose the HDR and colors will be muted. That's a limitation of the current state of tech, Plex has the same issue.

Sent from my Pixel 2 XL using Tapatalk

Link to comment
Share on other sites

BloodyIron

Thanks! If there's anything more I can do to help, do let me know :)

 

Can't wait to watch 4k HDR from my Emby to my TV :D

 

 

We're looking into it, thanks.

Link to comment
Share on other sites

  • 1 month later...
BloodyIron

Is there a version of Emby you want me to update to before testing?

 

Hi, please try this again and let me know if there's still an issue. Thanks !

Link to comment
Share on other sites

BloodyIron

OMFG it's working!

 

Okay, so two test results.

 

1.

 

>>Video
Title4K HEVC
CodecHEVC
ProfileMain 10
Level153
Resolution3840x2160
Aspect ratio16:9
AnamorphicNo
InterlacedNo
Framerate23.976
Bitrate64,195 kbps
Video rangeHDR
Color primariesbt2020
Color spacebt2020nc
Color transfersmpte2084
Pixel formatyuv420p10le
Ref frames1
 
>>Audio
TitleEnglish DTS 7.1 (Default)
LanguageEnglish
CodecDTS
ProfileDTS-HD MA
Layout7.1
Channels8 ch
Sample rate48,000 Hz
Bit depth24 bit
DefaultYes

 

That one appears to trigger "Direct streaming" as-per the server Dashboard reporting that.

 

Furthermore, my TV reports 2160p and HDR!

 

My wifi is hating me though, so I may need to do something about that, or switch to wired or something, heh.

 

This one does not use much CPU at all, maybe one thread 50-80%-ish!

 

 

2.

 

>>Video
Title4K H264
CodecH264
Codec tagavc1
AVCYes
ProfileHigh
Level51
Resolution3840x2160
Aspect ratio16:9
AnamorphicNo
InterlacedNo
Framerate29.97
Bitrate95,290 kbps
Color primariesbt709
Color spacebt709
Color transferbt709
Bit depth8 bit
Pixel formatyuv420p
Ref frames1
NAL4

 

>>Audio
TitleUnd AAC stereo (Default)
Languageund
CodecAAC
Codec tagmp4a
ProfileLC
Layoutstereo
Channels2 ch
Bitrate447 kbps
Sample rate48,000 Hz
DefaultYes
 
That one seems to trigger transcoding. 

 

My TV reports 2160p, BUT NOT HDR. That might be because the video doesn't have HDR (maybe?) heh. This is a sample 4K fireworks video.

 

This one chews my CPU up massively! 100% of 6x threads/cores (tuned it down recently from 24). Likely due to no GPU offloading. Doing about 19FPS in transcode.

 

 

So at this point, this looks to be working properly! That is, when I use codecs the device supports!

 

In your findings, should I just reference the Chromecast Ultra codec list? Or what? Since my TV is "not quite a Chromecast Ultra, but looks a bit like it" or something...

 

Thanks a tonne btw! :DD

Edited by BloodyIron
Link to comment
Share on other sites

BloodyIron

Oh, also, this TV has a remote with a play/pause button, that works for YouTube/Netflix Chromecasting, but for Emby, pauses only, not plays. Should I make another thread for that? (I'd like unpause to be fixed, so convenient!)

Link to comment
Share on other sites

BloodyIron

Thanks for all your help! As for the remote thing, should I open another thread, or are you adding it to the queue, or?

 

Thanks for the feedback.

Link to comment
Share on other sites

Guest asrequested

Please excuse my butting in :)  But, it would be nice to have a device override option in the server. Lemme splain. I have a Vizio with Smartcast. If I try to play HDR content with smartcast, it transcodes. (I know this is because of what Smartcast is reporting). But I know it can play these. So it would be nice if I could tell the server to ignore what the app is telling it, and just play the video. That would be a nice power user option :)

Edited by Doofus
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...