jellyfin-tizen
jellyfin-tizen copied to clipboard
Transcoded videos do not start in q90R
Hello,
I'm running Jellyfin for Tizen 0.1.0 in a Q90r (used the docker image to install in the TV). It is working fine except for some files that require transcoding and it is not properly detected.
When I launch the video from the Tizen app here are the logs
[2023-08-20 08:09:49.105 +02:00] [INF] WS "192.168.1.192" request [2023-08-20 08:10:01.669 +02:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-08-20 08:10:01.669 +02:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/mnt/TV/XXX.ATVP.WEB-DL.DD+5.1.Atmos.DoVi.HEVC-INSIGNE.mp4", AudioStreamIndex=1, SubtitleStreamIndex=-1 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/57cf7479-0760-0b49-3b1f-811a641313b3/stream.mp4?MediaSourceId=57cf747907600b493b1f811a641313b3&Static=true&VideoCodec=hevc&AudioCodec=eac3&AudioStreamIndex=1&api_key=<token>&SubtitleMethod=Encode&Tag=2d494e4fae2e8695b06101361cd9ecf2"
However, if I login to a jellyfin web client and cast it to the same device, then transcoding happens and video plays fine
[2023-08-20 08:12:07.370 +02:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-08-20 08:12:07.370 +02:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/mnt/TV/XXX.ATVP.WEB-DL.DD+5.1.Atmos.DoVi.HEVC-INSIGNE.mp4", AudioStreamIndex=1, SubtitleStreamIndex=-1 ) => ( PlayMethod=Transcode, TranscodeReason=DirectPlayError ) "media:/videos/57cf7479-0760-0b49-3b1f-811a641313b3/master.m3u8?MediaSourceId=57cf747907600b493b1f811a641313b3&VideoCodec=h264,hevc,hevc&AudioCodec=eac3&AudioStreamIndex=1&VideoBitrate=139232000&AudioBitrate=768000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=6&RequireAvc=false&Tag=2d494e4fae2e8695b06101361cd9ecf2&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=False&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&hevc-rangetype=SDR,HDR10,HLG,DOVI&TranscodeReasons=DirectPlayError"
If I try same jellyfin client in a different TV (The Frame 32 LS03) plays fine (since panel is 1080p and content is 4K)
[2023-08-20 12:44:16.675 +02:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-08-20 12:44:16.675 +02:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/mnt/TV/XXX.ATVP.WEB-DL.DD+5.1.Atmos.DoVi.HEVC-INSIGNE.mp4", AudioStreamIndex=1, SubtitleStreamIndex=-1 ) => ( PlayMethod=Transcode, TranscodeReason=VideoBitrateNotSupported ) "media:/videos/57cf7479-0760-0b49-3b1f-811a641313b3/master.m3u8?MediaSourceId=57cf747907600b493b1f811a641313b3&VideoCodec=h264,hevc,hevc&AudioCodec=eac3&AudioStreamIndex=1&VideoBitrate=20000000&AudioBitrate=768000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=6&RequireAvc=false&Tag=2d494e4fae2e8695b06101361cd9ecf2&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=False&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&hevc-rangetype=SDR,HDR10,HLG,DOVI&TranscodeReasons=VideoBitrateNotSupported" [2023-08-20 12:44:18.214 +02:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -init_hw_device opencl=ocl@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:\"/mnt/TV
Any idea why Tizen app in q90R does not detect that the video requires transcoding?
Thanks
Why do you think the video requires transcoding? What's wrong?
Video is in Dolby Vision and my TV does not support it. In addition, video does not play, it timeouts. I have a kodi box and I can play the video but colors are messed up since my TV does not understand DV.
DolbyVision is currently added to the Tizen device profile without any verification: https://github.com/jellyfin/jellyfin-web/blob/c02be1e35c4dd03d2fd91d4ea6188a44749ff217/src/scripts/browserDeviceProfile.js#L833
Iiuc, there is no Samsung TV that supports Dolby Vision. 😕
If you build app yourself, remove |DOVI
on the line mentioned (for now).
Thank you for the suggestion! Considering that Tizen is primarily utilized by Samsung TVs and Dolby Vision is not supported, perhaps it would be logical to eliminate it from the profile in the main repository?
I would say yes. That block should also be rewritten to use options.supportsDolbyVision
, options.supportsHdr10
.
I had a similar problem on my QN85B. Drove me crazy for several months. Direct play worked great. Transcoded playback would just freeze up immediately.
After trying many different things, I stumbled on a solution. There is a user setting named "Prefer fMP4-HLS Media Container" which I had enabled. When I disabled it (which causes a TS container to be used), transcoded playback started working. Something you might want to try.
Forcing a TS container did have a side effect though. The server now transcodes to H264 video rather than H265 (which my video card can do). I think that's a limitation of the TS container. Most of my content direct plays. So use of H264 instead of H265 for transcoding was not a big deal for me.
Hope that helps.
Thanks for the info, unfortunately I already had disabled this setting on my tests. Anyway, I have checked again with the setting enabled and disabled and same result.