I wasn't sure why I was frequently getting "Can't play video" errors out of the blue on many files when I hadn't ever seen the problem before, but when I went back to earlier episodes of a TV show which I know I'd watched without a problem before, and with which I was now getting this error, I realized the most likely culprit was updating to v6.4.42 firmware. Please note that the files which are failing worked just fine before, and they also play just fine using VLC video player even when my Z10 Pro with v6.4.42 can't play them. I wish I could provide a small sample video that fails, but, unfortunately, simply remuxing a video fixes the problem. Any attempt to extract a short segment will obscure the problem I'd trying to demonstrate, so the best I can do 564MB sample. http://obscurereasons.com/misc/Stargate_SG-1-S01E03.mkv I certainly don't want to hunt down every single file which will cause a "Can't play video" and remux it, so I hope the attached rtk_dump provides some insight into what's failing.
Faulty files. Not sure exactly what's wrong with it, but the video above is not a correctly created MKV. MediaInfo for original file: Code: General Unique ID : 171114782575801408848018276465570125972 (0x80BB822478998E5CEC36DCD3E14E9894) Complete name : \\nas14\Shared\Test Videos\Temp\Stargate_SG-1-S01E03 (can't play video).mkv Format : Matroska Format version : Version 4 File size : 564 MiB Duration : 44 min 14 s Overall bit rate : 1 783 kb/s Track name : Stargate SG-1 • S01E03 • The Enemy Within Encoded date : UTC 2023-05-29 23:29:35 Writing application : HandBrake 1.6.1 2023012300 Writing library : Lavf59.27.100 ErrorDetectionType : Per level 1 MediaInfo for remuxed file: Code: General Unique ID : 191781832268654593330111217114525726811 (0x9047D65CEF2FB738BD4B94E501C7F85B) Complete name : \\nas14\Shared\Test Videos\Temp\Stargate_SG-1-S01E03 (can't play video) (1).mkv Format : Matroska Format version : Version 4 File size : 553 MiB Duration : 44 min 14 s Overall bit rate : 1 748 kb/s Encoded date : UTC 2023-09-17 11:37:18 Writing application : mkvmerge v64.0.0 ('Willows') 64-bit Writing library : libebml v1.4.2 + libmatroska v1.6.4 / Lavf59.27.100 Video ID : 1 Format : HEVC Format/Info : High Efficiency Video Coding Format profile : Main@L4@Main Codec ID : V_MPEGH/ISO/HEVC Duration : 44 min 13 s Bit rate : 1 098 kb/s Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 23.976 (24000/1001) FPS Color space : YUV Chroma subsampling : 4:2:0 (Type 0) Bit depth : 8 bits Bits/(Pixel*Frame) : 0.022 Stream size : 347 MiB (63%) Writing library : x265 3.5+1-f0c1022b6:[Windows][GCC 10.2.0][64 bit] 8bit+10bit+12bit 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=1920x1080 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=3 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-eob / no-eos / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=24 / keyint=240 / gop-lookahead=0 / bframes=4 / b-adapt=0 / b-pyramid / bframe-bias=0 / rc-lookahead=15 / lookahead-slices=6 / scenecut=40 / no-hist-scenecut / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=0 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=2 / limit-refs=3 / no-limit-modes / me=1 / subme=2 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / sao / no-sao-non-deblock / rd=2 / selective-sao=4 / no-early-skip / rskip / fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=0.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=20.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=2 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=1 / transfer=1 / colormatrix=1 / chromaloc=1 / chromaloc-top=0 / chromaloc-bottom=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=255 / 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 / no-opt-cu-delta-qp / no-aq-motion / no-sbrc / no-hdr10 / no-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 / no-mcstf Default : Yes Forced : No Color range : Limited Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709 Audio #1 ID : 2 Format : AC-3 Format/Info : Audio Coding 3 Commercial name : Dolby Digital Codec ID : A_AC3 Duration : 44 min 13 s Bit rate mode : Constant Bit rate : 448 kb/s Channel(s) : 6 channels Channel layout : L R C LFE Ls Rs Sampling rate : 48.0 kHz Frame rate : 31.250 FPS (1536 SPF) Compression mode : Lossy Stream size : 142 MiB (26%) Title : AC-3 5.1 Language : English Service kind : Complete Main Default : Yes Forced : No Audio #2 ID : 3 Format : MPEG Audio Format version : Version 1 Format profile : Layer 3 Format settings : Joint stereo / MS Stereo Codec ID : A_MPEG/L3 Codec ID/Hint : MP3 Duration : 44 min 13 s Bit rate mode : Constant Bit rate : 192 kb/s Channel(s) : 2 channels Sampling rate : 44.1 kHz Frame rate : 38.281 FPS (1152 SPF) Compression mode : Lossy Delay relative to video : -25 ms Stream size : 60.7 MiB (11%) Title : Dolby PL2 Writing library : LAME3.100 Language : English Default : No Forced : No Text ID : 4 Format : PGS Muxing mode : zlib Codec ID : S_HDMV/PGS Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs Duration : 42 min 48 s Bit rate : 41.5 kb/s Count of elements : 1277 Stream size : 12.7 MiB (2%) Title : English SDH Language : English Default : No Forced : No Menu 00:00:00.000 : :Chapter 1 00:04:33.732 : :Chapter 2 00:11:39.866 : :Chapter 3 00:16:37.538 : :Chapter 4 00:22:11.205 : :Chapter 5 00:28:34.755 : :Chapter 6 00:34:50.255 : :Chapter 7 00:41:35.368 : :Chapter 8 00:43:05.583 : :Chapter 9 I tested the original file in a Z9X using firmware v6.3.92 and v6.4.62. Also tried it in a Z9X Pro. For completeness I tried it in a Dune 1619 box. It wouldn't play in any of these boxes/firmwares.
It's odd that the mediainfo command doesn't understand these files while VLC doesnt have any problem with them, and sees all video, audio, and subtitle tracks in these files. These files are all the product of Handbrake and/or MKVToolnix (including some automated metadata updating using mkvpropedit). I can't imagine why any of those tools would be corrupting the files in any manner. It would certainly be nice if the Zidoo firmware and/or mediainfo was as flexible or forgiving as VLC. At least this gives me a way that I can automate locating all of the troublesome files, and perhaps fix them in an automated way too (I haven't tried to script the execution of mkvmerge beyond using the -J option to get file info, but hopefully remuxing a file as-is without changing anything is straight forward).
Indeed the sample provided wouldn’t play. I then loaded it into mkvtoolnix and observed there were 4 tag entries. Unticked and now plays nicely on my UHD3000. The presence of tags in MKV files has in my experience leads to problems. Remove them and they play. I must admit I’m regularly remuxer of all my files regardless of origin and I strip out all unnecessary elements. BTW my MediaInfo app on my windows 11 PC only shows the first 5 lines of a MediaInfo file. After removing the tags it displayed all the details.
Oddly enough I've been able to fix these files that won't play by remuxing and not changing anything at all. Whatever is upsetting mediainfo, simply pulling all of the tracks apart and putting them back together, keeping all of the tracks and all of the tags as is, fixes the problem. Before I'd been dragging files into the MKVToolnix GUI to fix them as I stumbled across bad files one by one. At the moment, however, I've got an automated repair going on that simply renames video_file.mkv to video_file.bak.mkv, executes mkvmerge -o video_file.mkv video_file.bak.mkv, then deletes video_file.bak.mkv. Using mediainfo to find all files with only 0-1 tracks, I indentified 168 files (out of 4373) in need of repair. I'm not sure how many hours it's going to take to fix everything, but the process is underway.
Everything is fixed now, AFAIK (it's not like I tried to play every remuxed file) after about 3-4 hours. There's still a bit of weirdness where, for some files, the only "badge" that appears is the MKV badge (no badges for frame rate, resolution, HDR, encoders, etc.) even after clicking on More Info and then the refresh button. Sometimes I go into More Info, there's nothing there but MKV, and when I hit refresh I indeed get more info. I then close the popup, and badges are updated. Sometimes I go into More Info and all of the technical metadata I'd want is already there, despite the poster wall showing nothing but an MKV badge. It's when this happens that refreshing the data does no good. I don't know that I automatically accept that there was something faulty about these files I had to remux. Not only did VLC play them, and show detailed codec information about them as well, but mkvmerge -J also shows complete track info (albeit without all of the fine details MediaInfo provides). MediaInfo itself might be buggy and failing on files that, while not meeting the tool's expectations, aren't truly invalid.
As I said above, it was simply a case of a faulty file that was not MKV compliant. Nothing to do with the number of tracks, it's just they weren't strung together properly so that a player could recognise what they were - hence the odd MediaInfo report. It's not a MediaInfo bug. Some players are more tolerant of non compliant files, some are not, and remuxing just strings all the tracks together correctly. Simply a case of garbage in, garbage out. As for the badges, one way that can happen is if an incomplete MKV is scraped - for example if it's scraped whilst encoding or ripping, but in this case I suspect it's simply because of the above. The best way to fix it is to clear the database and rescan once you're sure all your files are fixed (you can export/import NFOs to keep the content metadata) however if you want a sticking plaster, just rename the offending files with, for example, the movies's year in brackets so they rescrape the newly renamed and compliant file.
I think you misunderstood my reference to the number of tracks. I wasn't saying the number of tracks had anything to do with whether or not the file was compliant or playable. I was saying, simply as a symptom to look for, mediainfo shows only one track (the "general" track) when it doesn't like the format of these files. My automated fix was based on looking for instances where mediainfo reported only that one track. What would you suspect to be the culprit then? If mediainfo isn't failing when it shouldn't, are Handbrake and/or MKVToolNix creating "garbage" files? All of my files are products of these tools and no other tools, except for a few 3D video files (none of which caused any problems) which are unmodified MakeMKV output.
I'd be fairly sure the culprit is Handbrake. I've never had or known any issue with MKVToolnix (or MakeMKV). Handbrake went through some very dodgy iterations years ago (anyone remember the hidden 8-bit pipeline?). I assume it's stable and usable these days but I have no idea as I use Staxrip to hardware encode using an NVidia card.