Skip to content

[Playback] High quality media requiring transcodes do not play #219

@tykateetee

Description

@tykateetee

Moonfin version

v2.4.0

Platform

Tizen (Samsung)

Platform version

Tizen 5.0 / Tizen 6.0

TV model

UN65RU7300FXZC / UN58TU7000FXZC

Jellyfin server version

10.11.9

Content type

Movie

Media details (as much as you know, check the info button at the bottom right of the player)

Video:

Title4K HEVC HDR
CodecHEVC
AVCNo
ProfileMain 10
Level153
Resolution3840x2160
Aspect ratio16:9
AnamorphicNo
InterlacedNo
Framerate23.976025
Bitrate98696 kbps
Bit depth10 bit
Video rangeHDR
Video range typeHDR10
Color spacebt2020nc
Color transfersmpte2084
Color primariesbt2020
Pixel formatyuv420p10le
Ref frames1

Audio:

TitleDTS -X 7.1 - English - DTS-HD MA + DTS:X - Default
Languageeng
CodecDTS
AVCNo
ProfileDTS-HD MA + DTS:X
Layout7.1
Channels8 ch
Bitrate6297 kbps
Sample rate48000 Hz
Bit depth24 bit
DefaultYes
ForcedNo
ExternalNo

Playback path

Transcode

Symptoms (check all that apply)

  • Black screen / endless spinner
  • Audio only (no video)
  • Stuttering / frame drops
  • A/V sync issues
  • Seeking/scrubbing broken
  • Subtitles missing or incorrect
  • Unexpected forced transcode
  • App crashes / exits

Steps to reproduce

  • Locate and attempt to play high bitrate content (>~40mbps?), while having the client bitrate limit set lower
  • View error message "Playback Error Playback Failed. The file format may not be supported."

Frequency

Always

Logs / errors (optional)

I was able to get around this by modifying TizenPlayer.js Line 729-731. Current code has:

if (isLiveTV || result.url.includes('.m3u8')) { avplaySetStreamingProperty('ADAPTIVE_INFO', 'FIXED_MAX_RESOLUTION=1920x1080'); }

My temporary workaround (that worked for me) was to simply change that line to not enforce a 1080p limit:

if (isLiveTV) { avplaySetStreamingProperty('ADAPTIVE_INFO', 'FIXED_MAX_RESOLUTION=1920x1080'); }.

This has potential to be related to #179 and #209, as I have tried this with two different files supporting either DTS:X 7.1 or TrueHD 7.1 Atmos and both fail with the current v2.4.0 release. Changing the aforementioned if clause resulted in both files playing sucessfully via Direct Streaming, with only the audio codec being transcoded when a bitrate limit was not enforced.

Attached is a screenshot of the console with my fix included, I will try to get the one without my fix soon as I am not currently able to expirement. If memory serves, it would request 4k for the transcode, then apply the 1080p limit, and then refuse to play (presumably due to the mismatch) just before the bitrate change message. Similar to #209, there is nothing present in the servers logs anywhere about the client even attempting playback, and similar to #179, the files play without issues in the official Jellyfin-Tizen. Mentioned in that issue as well was this comment, and I also found that 1080p files played fine while 4k did not. I think that all of these issues could be related, it's just that both DTS:X 7.1 and TrueHD 7.1 Atmos tracks are more frequently found on higher end 4k content and are not the actual cause of the issue, although I am completely hypothesizing. I can confirm that this 1080p fixed limit did not apply anymore for a movie transcode once the .m3u8 check was removed, and as mentioned earlier the 4k content with atmos tracks then would play successfully.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions