Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chromecast Ultra restricted to 1280x720 #743

Open
olanystrom opened this issue Jan 4, 2025 · 3 comments
Open

Chromecast Ultra restricted to 1280x720 #743

olanystrom opened this issue Jan 4, 2025 · 3 comments
Labels
bug Something isn't working

Comments

@olanystrom
Copy link

olanystrom commented Jan 4, 2025

Describe the bug

When I try to cast video to my Chromecast Ultra it will request transcode for everything more highres than 1280x720

To Reproduce

Cast any video to Chromecast, see transcoding happening, both in video-quality and in FFmpeg.Transcode-logs

Expected behavior

Original Video

Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
Metadata:
BPS : 70395117
DURATION : 02:06:54.691000000
NUMBER_OF_FRAMES: 182570
NUMBER_OF_BYTES : 67004633130
_STATISTICS_WRITING_APP: mkvmerge v89.0 ('And the Melody Still Lingers On (Night in Tunisia)') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2025-01-03 00:28:47
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Side data:
DOVI configuration record: version: 1.0, profile: 8, level: 6, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 1


Streamed video

Output #0, hls, to '/config/data/transcodes/773641bbac593f7e9ac8b25173250939.m3u8':
Metadata:
encoder : Lavf61.1.100
Stream #0:0: Video: h264, yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 90k tbn (default)
Metadata:
encoder : Lavc61.3.100 libx264
Side data:
cpb: bitrate max/min/avg: 82347000/0/0 buffer size: 164694000 vbv_delay: N/A
DOVI configuration record: version: 1.0, profile: 8, level: 6, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 1


Request headers
Image

Notice the
MaxWidth=1280
and
TranscodeReasons=ContainerBitrateExceedsLimit

headers

Screenshots

See Headers above

  • OS: Docker
  • Browser: Android App
  • Jellyfin version: 10.10.3
  • Cast Receiver version: Stable (Was Unstable, want really unstable)
  • Cast client: Ultra
@olanystrom olanystrom added the bug Something isn't working label Jan 4, 2025
@olanystrom
Copy link
Author

Additional info.
Query-parameter
h264-level=42
indicates that it sees that it is a ULTRA
but
Query Parameter:
MaxWidth=1280
indicates that it is not an ULTRA.

Very strange, I dont understand how this combination is possible.

@olanystrom
Copy link
Author

With Unstable I get
Request URI Query Parameter: MaxWidth=3840
but this particular video does not work.

@mindlight73
Copy link

I have the same issue with my AndroidTV with latest firmware.
Brand
Philips
Model
70PUS7304/12 (TPM191E)
Firmware
TPM191E_R.201.000.248.227
Android TV Os Version
11
Android TV Security Patch Level
1 April 2024
Kernel Version
4.9.285-ab3673
#1 Tue May 28 10:46:32 CST 2024
Android TV OS Build
RTT2.211108.001 release-keys
ChromeCast (Built in) Version number
3.72.446070

I plan to add logs in a couple of days.

GodTamIt added a commit to GodTamIt/jellyfin-chromecast that referenced this issue Jan 13, 2025
This addresses several issues with how device profile building was done:

  1. Devices were hard-coded, which did not account for the many
     different device profiles that may not be 1st party Google
     Chromecast™️ devices. This includes almost every Android TV with
     Cast functionality built-in.
  2. Different devices may have slightly different profile requirements,
     so even if an overall codec WAS correct, certain profiles may not
     be supported.
  3. Resolution constraints were being sent as a poor representation of
     of video codec profile and bit depth constraints. This change fixes
     this issue.
  4. This also improves the accuracy of the codec detection for less
     popular codecs like AV1.

Issues:
  - jellyfin#401
  - jellyfin#603
  - jellyfin#606
  - jellyfin#743
GodTamIt added a commit to GodTamIt/jellyfin-chromecast that referenced this issue Jan 13, 2025
This addresses several issues with how device profile building was done:

  1. Devices were hard-coded, which did not account for the many
     different device profiles that may not be 1st party Google
     Chromecast™️ devices. This includes almost every Android TV with
     Cast functionality built-in.
  2. Different devices may have slightly different profile requirements,
     so even if an overall codec WAS correct, certain profiles may not
     be supported.
  3. Resolution constraints were being sent as a poor representation of
     of video codec profile and bit depth constraints. This change fixes
     this issue.
  4. This also improves the accuracy of the codec detection for less
     popular codecs like AV1.

Issues:
  - jellyfin#401
  - jellyfin#603
  - jellyfin#606
  - jellyfin#743
GodTamIt added a commit to GodTamIt/jellyfin-chromecast that referenced this issue Jan 13, 2025
This addresses several issues with how device profile building was done:

  1. Devices were hard-coded, which did not account for the many
     different device profiles that may not be 1st party Google
     Chromecast™️ devices. This includes almost every Android TV with
     Cast functionality built-in.
  2. Different devices may have slightly different profile requirements,
     so even if an overall codec WAS correct, certain profiles may not
     be supported.
  3. Resolution constraints were being sent as a poor representation of
     of video codec profile and bit depth constraints. This change fixes
     this issue.
  4. This also improves the accuracy of the codec detection for less
     popular codecs like AV1.

Issues:
  - jellyfin#401
  - jellyfin#603
  - jellyfin#606
  - jellyfin#743
GodTamIt added a commit to GodTamIt/jellyfin-chromecast that referenced this issue Jan 13, 2025
This addresses several issues with how device profile building was done:

  1. Devices were hard-coded, which did not account for the many
     different device profiles that may not be 1st party Google
     Chromecast™️ devices. This includes almost every Android TV with
     Cast functionality built-in.
  2. Different devices may have slightly different profile requirements,
     so even if an overall codec WAS correct, certain profiles may not
     be supported.
  3. Resolution constraints were being sent as a poor representation of
     of video codec profile and bit depth constraints. This change fixes
     this issue.
  4. This also improves the accuracy of the codec detection for less
     popular codecs like AV1.

Issues:
  - jellyfin#401
  - jellyfin#603
  - jellyfin#606
  - jellyfin#743
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants