2025-01-24, 05:16 PM
(2025-01-23, 12:39 AM)theguymadmax Wrote:This is a known issue caused by a bug in ExoPlayer on devices using the MT8696 MediaTek chipset, which is found in Fire TV 4K Sticks and the latest Google streamer. It occurs when playing media that includes both Dolby Vision and HDR10+. Here are several threads related to this.
AndroidTV
https://github.com/jellyfin/jellyfin-and...ssues/2630 (old issue)
https://github.com/jellyfin/jellyfin-and...ssues/4021 (new issue)
Exoplayer/AndroidX Media
https://github.com/google/exoplayer/issues/11096 (old issue)
https://github.com/androidx/media/issues/1895 (new issue)
Workarounds:
- Remove DV Metadata: Follow the steps in this forum thread to strip out the Dolby Vision metadata.
Code:/usr/lib/jellyfin-ffmpeg/ffmpeg -y -hide_banner -stats -fflags +genpts+igndts -loglevel error -i "/path/to/dvhdr10+_video.mkv" -map 0 -bsf:v hevc_metadata=remove_dovi=1 -codec copy -max_muxing_queue_size 2048 -max_interleave_delta 0 -avoid_negative_ts disabled hdr10_video.mkv
- Remove HDR10+ Metadata:
Code:/usr/lib/jellyfin-ffmpeg/ffmpeg -y -hide_banner -stats -fflags +genpts+igndts -loglevel error -i "/path/to/dvhdr10+_video.mkv" -map 0 -bsf:v hevc_metadata=remove_hdr10plus=1 -codec copy -max_muxing_queue_size 2048 -max_interleave_delta 0 -avoid_negative_ts disabled dv_video.mkv
- Force Transcoding on ATV: Reduce the bitrate or set audio to stereo to trigger transcoding on the client.
- Use Kodi as an external player for the ATV client: Kodi allows you to choose the format compatible with your TV. You can disable Dolby Vision or HDR10+ as needed.
- Use Kodi with Jellyfin Plugin: Kodi allows you to choose the format compatible with your TV. You can disable Dolby Vision or HDR10+ as needed.
Thank you for this detailed response!
Since HDR seems to be a more widely accepted format, i went with the first option of removing the DV metadata. (There is one minor issue with the example provided in that the final file name needs to be enclosed in quotes, but i got it working")
In addition, since I will need to do this with all 4K content that comes in, I wanted to automate this process. So, i utilized ChatGPT to help me build a powershell script to do this. I've created a "watched" folder, and when the 4K file is finished copying into that folder, the ffmpeg command is automatically triggered on the source file and generates the new file with -HDR added to the file name as a suffix.
I've tested this entire workflow, and the videos are playing properly in Google Streamer.
Thanks again for all your help!