65535 13 Posted February 9 Posted February 9 (edited) Hello, I tried the Xbox app today to see if I can finally use it for UHD. Overall, despite being somewhat buggy, the app itself seems to be in decent shape. However, for HDR playback it still has issues. 1. Attempting to play HDR (tested with both 1080p and 2160p) at 120 hz will result in a stuck spinning blue circle with no playback and no error message. The same files play fine on 24 hz or 60 hz. I reported this in the past. If playback at 120 hz cannot be fixed, consider making the automatic display mode switcher prioritize 60 hz over 120 hz for HDR content. 24 > 60 > 120. 2. Higher bitrate HDR files (threshold seems to be around 30 mbps) are forced to transcode with "VideoBitrateNotSupported" when they play perfectly fine if transcoding is disallowed. I reported this in the past and even uploaded a sample file. 3. Dolby Vision profile 7 files (aka DV with EL) don't seem to trigger automatic HDR enabling and look washed out. Once HDR is enabled they play and look fine. 4. Minor issue: Notification popups include escape sequences. For example: "HDR Mode Enabled.\r\n" (the \r\n is shown on screen). EmbyPlus Xbox 2.213.70.1 on Xbox Series X. Hope these can be addressed. I also encountered other issues with transcoding, like active ffmpeg processes sticking around after playback, but these need more testing before I can give you any useful details. Thanks. Edited February 9 by 65535 1
softworkz 4570 Posted February 14 Posted February 14 Hi, thanks a lot for the feedback! On 2/9/2025 at 3:36 PM, 65535 said: 1. Attempting to play HDR (tested with both 1080p and 2160p) at 120 hz will result in a stuck spinning blue circle with no playback and no error message. The same files play fine on 24 hz or 60 hz. I reported this in the past. If playback at 120 hz cannot be fixed, consider making the automatic display mode switcher prioritize 60 hz over 120 hz for HDR content. 24 > 60 > 120. Starting from Beta 2.217.0 (released today), there's a hard limit of 60 Hz on Xbox which will even be enforced when automatic rate switching is disabled. Refresh rates > 60 Hz also won't be taken into account for automatic rate switching. On 2/9/2025 at 3:36 PM, 65535 said: 2. Higher bitrate HDR files (threshold seems to be around 30 mbps) are forced to transcode with "VideoBitrateNotSupported" when they play perfectly fine if transcoding is disallowed. I reported this in the past and even uploaded a sample file. It might be because the Xbox Series X is a bit more powerful than Serries S (development and testing should always be based on the lower-end models). Starting from Beta 2.217.0, there's an option to disable the 30 Mbps limit, but this mode is unsupported and you'll see a big warning banner - don't complain when video is not playing properly. On 2/9/2025 at 3:36 PM, 65535 said: 3. Dolby Vision profile 7 files (aka DV with EL) don't seem to trigger automatic HDR enabling and look washed out. Once HDR is enabled they play and look fine. Can you please show the Embyx MediaInfo for such kind of file? On 2/9/2025 at 3:36 PM, 65535 said: 4. Minor issue: Notification popups include escape sequences. For example: "HDR Mode Enabled.\r\n" (the \r\n is shown on screen). Fixed in Beta 2.217.0 (released today). It might take about a week until a new stable release will be available. Thanks a lot for reporting! 2
65535 13 Posted February 14 Author Posted February 14 7 hours ago, softworkz said: Thanks a lot for reporting! Thanks for the comprehensive response. I'll happily continue testing and reporting, knowing that my time won't be wasted. 7 hours ago, softworkz said: Starting from Beta 2.217.0, there's an option to disable the 30 Mbps limit Since I'm enrolled in the beta, I thought I'd try it. I started with 4k, but it seems the beta is not "aware" that it can play certain codecs and tries to transcode with `Converting video to compatible codec`. I know it can because disallowing transcoding makes it direct play. I then tried with two AVC files (31 and 30 mbps) and it still transcoded "VideoBitrateNotSupported", so it seems like the option doesn't work. I did enable it, to be clear. 7 hours ago, softworkz said: On 2/9/2025 at 4:36 PM, 65535 said: 3. Dolby Vision profile 7 files (aka DV with EL) don't seem to trigger automatic HDR enabling and look washed out. Once HDR is enabled they play and look fine. Can you please show the Embyx MediaInfo for such kind of file? It happened with every profile 7 file I tried.
softworkz 4570 Posted February 15 Posted February 15 Sorry, the beta was set to work like the regular release, not the plus app. It should work in 2.218.0 now (for all codecs). On 2/9/2025 at 3:36 PM, 65535 said: 3. Dolby Vision profile 7 files (aka DV with EL) don't seem to trigger automatic HDR enabling and look washed out. Once HDR is enabled they play and look fine. Also fixed in 2.218.0 (in a few hours). Thanks! 1
65535 13 Posted February 16 Author Posted February 16 Thank you for your diligence. There are still a couple of issues to iron out though. I found edge cases in my library where HDR is still not enabling. It might have to do with Emby server not recognizing the DV profile in these files. Notice how it says "None" under Dolby Profile: MediaInfo reports them as a profile "8.6": Spoiler Video ID : 1 Format : HEVC Format/Info : High Efficiency Video Coding Format profile : Main 10@L5.1@High HDR format : Dolby Vision, Version 1.0, Profile 8.6, dvhe.08.06, BL+RPU, no metadata compression, Blu-ray compatible / SMPTE ST 2086, Version HDR10, HDR10 compatible Codec ID : V_MPEGH/ISO/HEVC Duration : 2 h 18 min Bit rate : 39.3 Mb/s Width : 3 840 pixels Height : 1 600 pixels Display aspect ratio : 2.40:1 Frame rate mode : Constant Frame rate : 23.976 (24000/1001) FPS Color space : YUV Chroma subsampling : 4:2:0 (Type 2) Bit depth : 10 bits Bits/(Pixel*Frame) : 0.266 Stream size : 37.9 GiB (90%) Writing library : x265 3.4+36-5239276dd:[Windows][GCC 10.2.1][64 bit] 10bit Encoding settings : cpuid=1111039 / frame-threads=4 / numa-pools=24 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x1600 / interlace=0 / total-frames=198941 / level-idc=51 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / repeat-headers / annexb / aud / hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=8 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=40 / lookahead-slices=4 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=4 / tu-intra-depth=4 / limit-tu=4 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=4 / limit-refs=1 / limit-modes / me=3 / subme=5 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / no-sao / no-sao-non-deblock / rd=4 / selective-sao=0 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=1.00 / no-rd-refine / no-lossless / cbqpoffs=-2 / crqpoffs=-2 / rc=crf / crf=20.2 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / vbv-maxrate=160000 / vbv-bufsize=160000 / vbv-init=0.9 / min-vbv-fullness=50.0 / max-vbv-fullness=80.0 / crf-max=0.0 / crf-min=0.0 / ipratio=1.40 / pbratio=1.30 / aq-mode=2 / aq-strength=1.70 / no-cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=0 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=1 / chromaloc-top=2 / chromaloc-bottom=2 / display-window=0 / master-display=G(8500,39850)B(6550,2300)R(35400,14600)WP(15635,16450)L(10000000,1) / cll=996,246 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.03 / no-opt-cu-delta-qp / no-aq-motion / hdr10 / hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / scenecut-aware-qp=0conformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0 / no-vbv-live-multi-pass Language : English Default : Yes Forced : No Color range : Limited Color primaries : BT.2020 Transfer characteristics : PQ Matrix coefficients : BT.2020 non-constant Mastering display color primaries : BT.2020 Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2 Maximum Content Light Level : 996 cd/m2 Maximum Frame-Average Light Level : 246 cd/m2 There's some discussion in this thread: Next, the 120 hz spinning circle problem is still not completely fixed. It switches to 24 hz just fine, but it has trouble switching to 60 from 120. The TV reports being switched to 60, but there's no notification from Emby that the refresh rate changed (only HDR enabled), and you get the endlessly spinning blue circle. If you set the Xbox to 60 hz then everything plays fine. And finally, this is a very minor cosmetic issue but since I already brought it up earlier. The escape sequence is gone but there's no newline: Thanks again for your effort.
65535 13 Posted February 16 Author Posted February 16 Ignore that last screenshot. I forgot to delete it and it's misplaced.
softworkz 4570 Posted February 16 Posted February 16 Thanks a lot for testing. Profile 8.6 actually doesn't exist afaik. Can you run this on the server: ffprobe -print_format json -show_streams <file-path>
softworkz 4570 Posted February 16 Posted February 16 6 hours ago, 65535 said: Next, the 120 hz spinning circle problem is still not completely fixed. It switches to 24 hz just fine, but it has trouble switching to 60 from 120. The TV reports being switched to 60, but there's no notification from Emby that the refresh rate changed (only HDR enabled), and you get the endlessly spinning blue circle. If you set the Xbox to 60 hz then everything plays fine. So, the refresh rate changes but the video doesn't play? Does it play on a second attempt then (when the rate is alredy at 60Hz? Or doesn't it really switch to 60Hz?
65535 13 Posted February 16 Author Posted February 16 2 hours ago, softworkz said: Thanks a lot for testing. Profile 8.6 actually doesn't exist afaik. Can you run this on the server: ffprobe -print_format json -show_streams <file-path> Spoiler ffprobe version 7.1-essentials_build-www.gyan.dev Copyright (c) 2007-2024 the FFmpeg developers built with gcc 14.2.0 (Rev1, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.100 / 61. 19.100 libavformat 61. 7.100 / 61. 7.100 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 4.100 / 10. 4.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 { Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Library\Movies\The Amazing Spider-Man (2012)\The Amazing Spider-Man (2012).mp4': Metadata: major_brand : iso4 minor_version : 1 compatible_brands: iso4 creation_time : 2023-05-25T05:19:18.000000Z encoder : GPAC-2.3-DEV-rev119-g33f36c8a6-master Duration: 02:16:17.18, start: 0.000000, bitrate: 16786 kb/s Chapters: Chapter #0:0: start 0.000000, end 465.924000 Metadata: title : Chapter 1 Chapter #0:1: start 465.924000, end 879.670000 Metadata: title : Chapter 2 Chapter #0:2: start 879.670000, end 1377.543000 Metadata: title : Chapter 3 Chapter #0:3: start 1377.543000, end 1978.226000 Metadata: title : Chapter 4 Chapter #0:4: start 1978.226000, end 2485.066000 Metadata: title : Chapter 5 Chapter #0:5: start 2485.066000, end 2922.503000 Metadata: title : Chapter 6 Chapter #0:6: start 2922.503000, end 3310.933000 Metadata: title : Chapter 7 Chapter #0:7: start 3310.933000, end 3797.293000 Metadata: title : Chapter 8 Chapter #0:8: start 3797.293000, end 4349.011000 Metadata: title : Chapter 9 Chapter #0:9: start 4349.011000, end 4671.750000 Metadata: title : Chapter 10 Chapter #0:10: start 4671.750000, end 5078.949000 Metadata: title : Chapter 11 Chapter #0:11: start 5078.949000, end 5644.556000 Metadata: title : Chapter 12 Chapter #0:12: start 5644.556000, end 6179.548000 Metadata: title : Chapter 13 Chapter #0:13: start 6179.548000, end 6736.355000 Metadata: title : Chapter 14 Chapter #0:14: start 6736.355000, end 7252.912000 Metadata: title : Chapter 15 Chapter #0:15: start 7252.912000, end 8177.184000 Metadata: title : Chapter 16 Stream #0:0[0x1](und): Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x1604, 16015 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default) Metadata: creation_time : 2023-05-25T05:19:18.000000Z vendor_id : [0][0][0][0] Side data: DOVI configuration record: version: 1.0, profile: 8, level: 6, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 6, compression: 0 Mastering Display Metadata, has_primaries:1 has_luminance:1 r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=4000.000000 Content Light Level Metadata, MaxCLL=4809, MaxFALL=1138 Stream #0:1[0x2](eng): Audio: eac3 (ec-3 / 0x332D6365), 48000 Hz, 7.1, fltp, 768 kb/s (default) Metadata: creation_time : 2023-05-25T05:21:32.000000Z handler_name : E-AC-3 7.1 vendor_id : [0][0][0][0] Side data: audio service type: main "streams": [ { "index": 0, "codec_name": "hevc", "codec_long_name": "H.265 / HEVC (High Efficiency Video Coding)", "profile": "Main 10", "codec_type": "video", "codec_tag_string": "hvc1", "codec_tag": "0x31637668", "width": 3840, "height": 1604, "coded_width": 3840, "coded_height": 1608, "closed_captions": 0, "film_grain": 0, "has_b_frames": 2, "pix_fmt": "yuv420p10le", "level": 153, "color_range": "tv", "color_space": "bt2020nc", "color_transfer": "smpte2084", "color_primaries": "bt2020", "chroma_location": "topleft", "refs": 1, "view_ids_available": "", "view_pos_available": "", "id": "0x1", "r_frame_rate": "24000/1001", "avg_frame_rate": "24000/1001", "time_base": "1/24000", "start_pts": 0, "start_time": "0.000000", "duration_ts": 196252040, "duration": "8177.168333", "bit_rate": "16015690", "nb_frames": "196056", "extradata_size": 127, "disposition": { "default": 1, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 0, "timed_thumbnails": 0, "non_diegetic": 0, "captions": 0, "descriptions": 0, "metadata": 0, "dependent": 0, "still_image": 0, "multilayer": 0 }, "tags": { "creation_time": "2023-05-25T05:19:18.000000Z", "language": "und", "vendor_id": "[0][0][0][0]" }, "side_data_list": [ { "side_data_type": "DOVI configuration record", "dv_version_major": 1, "dv_version_minor": 0, "dv_profile": 8, "dv_level": 6, "rpu_present_flag": 1, "el_present_flag": 0, "bl_present_flag": 1, "dv_bl_signal_compatibility_id": 6, "dv_md_compression": "none" }, { "side_data_type": "Mastering display metadata", "red_x": "34000/50000", "red_y": "16000/50000", "green_x": "13250/50000", "green_y": "34500/50000", "blue_x": "7500/50000", "blue_y": "3000/50000", "white_point_x": "15635/50000", "white_point_y": "16450/50000", "min_luminance": "50/10000", "max_luminance": "40000000/10000" }, { "side_data_type": "Content light level metadata", "max_content": 4809, "max_average": 1138 } ] }, { "index": 1, "codec_name": "eac3", "codec_long_name": "ATSC A/52B (AC-3, E-AC-3)", "codec_type": "audio", "codec_tag_string": "ec-3", "codec_tag": "0x332d6365", "sample_fmt": "fltp", "sample_rate": "48000", "channels": 8, "channel_layout": "7.1", "bits_per_sample": 0, "initial_padding": 0, "id": "0x2", "r_frame_rate": "0/0", "avg_frame_rate": "0/0", "time_base": "1/48000", "start_pts": 0, "start_time": "0.000000", "duration_ts": 392504832, "duration": "8177.184000", "bit_rate": "768000", "nb_frames": "255537", "disposition": { "default": 1, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 0, "timed_thumbnails": 0, "non_diegetic": 0, "captions": 0, "descriptions": 0, "metadata": 0, "dependent": 0, "still_image": 0, "multilayer": 0 }, "tags": { "creation_time": "2023-05-25T05:21:32.000000Z", "language": "eng", "handler_name": "E-AC-3 7.1", "vendor_id": "[0][0][0][0]" }, "side_data_list": [ { "side_data_type": "Audio Service Type", "service_type": 0 } ] } ] } 2 hours ago, softworkz said: So, the refresh rate changes but the video doesn't play? Does it play on a second attempt then (when the rate is alredy at 60Hz? Or doesn't it really switch to 60Hz? Yes, the refresh rate changes, according to my TV, but without the Emby notification that usually accompanies a refresh rate change. Then it just gets stuck like this: The app becomes unresponsive to my inputs and the only thing I can do is force close it or wait until it crashes after a few minutes (varies), so I can't test a second attempt. It also plays all SDR files at 120 hz without attempting to switch, which play fine as we know (only HDR has issues with 120 hz).
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now