Hi @wellu
I use below command to repair .mkv you provided, then repaired stream can work on i.MX8MP.
ffmpeg -i capture3.mkv -c:v libx265 -crf 23 -preset fast -c:a copy repaired.mkv
ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
Input #0, matroska,webm, from 'capture3.mkv':
Metadata:
encoder : GStreamer matroskamux version 1.24.7
creation_time : 2025-08-13T06:29:37.529959Z
Duration: N/A, start: 0.382000, bitrate: N/A
Stream #0:0(eng): Video: hevc (Main), yuv420p(tv, unknown/bt709/unknown), 1280x800, SAR 1:1 DAR 8:5, 30 fps, 30 tbr, 1k tbn, 30 tbc (default)
Metadata:
title : Video
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> hevc (libx265))
Press [q] to stop, [?] for help
[hevc @ 0x5f891b95e940] Could not find ref with POC -362
x265 [info]: HEVC encoder version 3.5+1-f0c1022b6
x265 [info]: build info [Linux][GCC 11.2.0][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main profile, Level-4 (Main tier)
x265 [info]: Thread pool created using 32 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 5 / wpp(13 rows)
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 2
x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt : 15 / 4 / 0
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / on / on
x265 [info]: AQ: mode / str / qg-size / cu-tree : 2 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress : CRF-23.0 / 0.60
x265 [info]: tools: rd=2 psy-rd=2.00 rskip mode=1 signhide tmvp fast-intra
x265 [info]: tools: strong-intra-smoothing lslices=5 deblock sao
Output #0, matroska, to 'repaired.mkv':
Metadata:
encoder : Lavf58.76.100
Stream #0:0(eng): Video: hevc, yuv420p(tv, unknown/bt709/unknown, progressive), 1280x800 [SAR 1:1 DAR 8:5], q=2-31, 30 fps, 1k tbn (default)
Metadata:
title : Video
encoder : Lavc58.134.100 libx265
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame= 856 fps=379 q=30.6 Lsize= 965kB time=00:00:28.43 bitrate= 278.1kbits/s speed=12.6x
video:956kB audio:0kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 0.939328%
x265 [info]: frame I: 4, Avg QP:20.74 kb/s: 2778.42
x265 [info]: frame P: 168, Avg QP:22.44 kb/s: 738.77
x265 [info]: frame B: 684, Avg QP:30.09 kb/s: 144.64
x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
x265 [info]: consecutive B-frames: 0.6% 0.0% 0.0% 0.0% 99.4%
encoded 856 frames in 2.20s (389.23 fps), 273.56 kb/s, Avg QP:28.55
The difference of frames:
--- capture3.json 2025-08-19 11:39:43.045729390 +0900
+++ repaired.json 2025-08-19 11:39:28.132640482 +0900
@@ -13,7 +13,7 @@
"coded_width": 1280,
"coded_height": 800,
"closed_captions": 0,
- "has_b_frames": 0,
+ "has_b_frames": 2,
"sample_aspect_ratio": "1:1",
"display_aspect_ratio": "8:5",
"pix_fmt": "yuv420p",
@@ -21,12 +21,13 @@
"color_range": "tv",
"color_primaries": "bt709",
"chroma_location": "left",
+ "field_order": "progressive",
"refs": 1,
"r_frame_rate": "30/1",
"avg_frame_rate": "30/1",
"time_base": "1/1000",
- "start_pts": 382,
- "start_time": "0.382000",
+ "start_pts": 0,
+ "start_time": "0.000000",
"disposition": {
"default": 1,
"dub": 0,
@@ -43,22 +44,25 @@
},
"tags": {
"language": "eng",
- "title": "Video"
+ "title": "Video",
+ "ENCODER": "Lavc58.134.100 libx265",
+ "DURATION": "00:00:28.533000000"
}
}
],
"format": {
- "filename": "capture3.mkv",
+ "filename": "repaired.mkv",
"nb_streams": 1,
"nb_programs": 0,
"format_name": "matroska,webm",
"format_long_name": "Matroska / WebM",
- "start_time": "0.382000",
- "size": "3320178",
+ "start_time": "0.000000",
+ "duration": "28.533000",
+ "size": "988301",
+ "bit_rate": "277096",
"probe_score": 100,
"tags": {
- "encoder": "GStreamer matroskamux version 1.24.7",
- "creation_time": "2025-08-13T06:29:37.529959Z"
+ "ENCODER": "Lavf58.76.100"
}
}
}
The core error log with capture3.mkv should be this :
codecparsers_h265 gsth265parser.c:1578:gst_h265_parser_identify_nalu_hevc: Can't parse, buffer has too small size 3959, offset 3959
Best Regards,
Zhiming