Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decoding error with rkmpp #534

Open
54601 opened this issue Feb 4, 2025 · 1 comment
Open

Decoding error with rkmpp #534

54601 opened this issue Feb 4, 2025 · 1 comment
Labels
bug Something isn't working

Comments

@54601
Copy link

54601 commented Feb 4, 2025

Description of the bug

When playing a specific video, the playback was normal for a few seconds and then black to 00:00 with a frozen black screen.
The ffmpeg log suggest me to report this bug:

[vist#0:0/hevc @ 0xaaaacd221900] [dec:hevc_rkmpp @ 0xaaaacd227df0] Error submitting packet to decoder: Generic error in an external library
    Last message repeated 26 times
[vist#0:0/hevc @ 0xaaaacd221900] [dec:hevc_rkmpp @ 0xaaaacd227df0] A decoder returned an unexpected error code. This is a bug, please report it.
[vist#0:0/hevc @ 0xaaaacd221900] [dec:hevc_rkmpp @ 0xaaaacd227df0] Error processing packet in decoder: Internal bug, should not have happened
[vist#0:0/hevc @ 0xaaaacd221900] [dec:hevc_rkmpp @ 0xaaaacd227df0] Task finished with error code: -558323010 (Internal bug, should not have happened)
[vist#0:0/hevc @ 0xaaaacd221900] [dec:hevc_rkmpp @ 0xaaaacd227df0] Terminating thread with return code -558323010 (Internal bug, should not have happened)
[vost#0:0/hevc_rkmpp @ 0xaaaacd224650] Could not open encoder before EOF
[vost#0:0/hevc_rkmpp @ 0xaaaacd224650] Task finished with error code: -22 (Invalid argument)
[vost#0:0/hevc_rkmpp @ 0xaaaacd224650] Terminating thread with return code -22 (Invalid argument)
[out#0/hls @ 0xaaaacd1ea2c0] Nothing was written into output file, because at least one of its streams received no packets.
frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A speed=N/A    
Conversion failed!

Reproduction steps

The bug is reproducable whenever playing THE video. I've tried to play other videos with 4K HDR HEVC content (the same codec with the problematic one), but the decoder works fine on others. I've also tried to play the video locally, which is also fine.
I made a 10min slice of the video for testing: problem video

What is the current bug behavior?

Video failed to play.

What is the expected correct behavior?

Video play.

Jellyfin Server version

10.10.0+

Specify commit id

No response

Specify unstable release number

No response

Specify version number

No response

Specify the build version

10.10.5

Environment

- OS:Ubuntu 24.04 LTS
- Linux Kernel: 6.1.0-1025-rockchip
- Virtualization: /
- Clients: edge-chrome & jellyfin on IOS
- Browser: edge-chrome
- FFmpeg Version: 7.0.2-Jellyfin
- Playback Method: transcoding
- Hardware Acceleration: rkmpp
- GPU Model: rk3588
- Plugins: /
- Reverse Proxy: yes
- Base URL: /
- Networking: /
- Storage: SMB

Jellyfin logs

No relevant log, ffmpeg logs see below.

FFmpeg logs

/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -ss 00:02:27.000 -noaccurate_seek -f matroska -init_hw_device rkmpp=rk -hwaccel rkmpp -hwaccel_output_format drm_prime -noautorotate -afbc rga -i file:"/jellyfin/pool/电影/喜剧/Hello.Mr.Billionaire.2018.2160p.WEB-DL.HDR.H265.DDP5.1-cfandora.mkv" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 hevc_rkmpp -tag:v:0 hvc1 -b:v 3552000 -maxrate 3552000 -bufsize 7104000 -profile:v:0 main -level 150 -g:v:0 72 -keyint_min:v:0 72 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,vpp_rkrga=w=1920:h=752:format=p010,hwmap=derive_device=opencl,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwmap=derive_device=rkmpp:reverse=1,format=drm_prime" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "88cda0cc1bdf159a08de8dddba1a9456-1.mp4" -start_number 49 -hls_segment_filename "/var/cache/jellyfin/transcodes/88cda0cc1bdf159a08de8dddba1a9456%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/var/cache/jellyfin/transcodes/88cda0cc1bdf159a08de8dddba1a9456.m3u8"


ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.3.0-6ubuntu2~24.04)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=arm64 --cross-prefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrga
  libavutil      59.  8.100 / 59.  8.100
  libavcodec     61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample   5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
Input #0, matroska,webm, from 'file:/jellyfin/pool/电影/喜剧/Hello.Mr.Billionaire.2018.2160p.WEB-DL.HDR.H265.DDP5.1-cfandora.mkv':
  Metadata:
    title           : Hello.Mr.Billionaire.2018.2160p.WEB-DL.HDR.H265.DDP5.1-cfandora
    encoder         : libebml v1.4.2 + libmatroska v1.6.4
    creation_time   : 2021-04-12T14:56:28.000000Z
  Duration: 01:58:08.79, start: 0.000000, bitrate: 17385 kb/s
  Stream #0:0(chi): Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x1504 [SAR 1:1 DAR 120:47], 24 fps, 24 tbr, 1k tbn (default)
      Metadata:
        BPS             : 16935699
        DURATION        : 01:58:08.792000000
        NUMBER_OF_FRAMES: 170131
        NUMBER_OF_BYTES : 15006706351
        _STATISTICS_WRITING_APP: mkvmerge v56.0.0 ('Strasbourg / St. Denis') 64-bit
        _STATISTICS_WRITING_DATE_UTC: 2021-04-12 14:56:28
        _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:1(chi): Audio: eac3 (Dolby Digital Plus + Dolby Atmos), 48000 Hz, 5.1(side), fltp, 448 kb/s (default)
      Metadata:
        BPS             : 448000
        DURATION        : 01:58:08.640000000
        NUMBER_OF_FRAMES: 221520
        NUMBER_OF_BYTES : 396963840
        _STATISTICS_WRITING_APP: mkvmerge v56.0.0 ('Strasbourg / St. Denis') 64-bit
        _STATISTICS_WRITING_DATE_UTC: 2021-04-12 14:56:28
        _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (hevc_rkmpp) -> hevc (hevc_rkmpp))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[vist#0:0/hevc @ 0xaaab05c0fbf0] [dec:hevc_rkmpp @ 0xaaab05c160e0] Error submitting packet to decoder: Generic error in an external library
    Last message repeated 67 times
[vist#0:0/hevc @ 0xaaab05c0fbf0] [dec:hevc_rkmpp @ 0xaaab05c160e0] A decoder returned an unexpected error code. This is a bug, please report it.
[vist#0:0/hevc @ 0xaaab05c0fbf0] [dec:hevc_rkmpp @ 0xaaab05c160e0] Error processing packet in decoder: Internal bug, should not have happened
[vist#0:0/hevc @ 0xaaab05c0fbf0] [dec:hevc_rkmpp @ 0xaaab05c160e0] Task finished with error code: -558323010 (Internal bug, should not have happened)
[vist#0:0/hevc @ 0xaaab05c0fbf0] [dec:hevc_rkmpp @ 0xaaab05c160e0] Terminating thread with return code -558323010 (Internal bug, should not have happened)
[vost#0:0/hevc_rkmpp @ 0xaaab05c12930] Could not open encoder before EOF
[vost#0:0/hevc_rkmpp @ 0xaaab05c12930] Task finished with error code: -22 (Invalid argument)
[vost#0:0/hevc_rkmpp @ 0xaaab05c12930] Terminating thread with return code -22 (Invalid argument)
[out#0/hls @ 0xaaab05bd8290] Nothing was written into output file, because at least one of its streams received no packets.
frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A speed=N/A    
Conversion failed!

Client / Browser logs

No response

Relevant screenshots or videos

No response

Additional information

No response

@54601 54601 added the bug Something isn't working label Feb 4, 2025
@nyanmisaka nyanmisaka transferred this issue from jellyfin/jellyfin Feb 4, 2025
@nyanmisaka
Copy link
Member

The video stream you provided contains some errors that cause the rkmpp decoder to complain and reset. This exceeds a hardcoded error threshold in the rkmppdec wrapper. I will remove this function in the next release and it should mitigate this issue.

Note that without this bailing out function, the stability of parallel transcoding may be reduced. You can't expect to reset hardware units without affecting other ongoing tasks at all.

[hevc @ 0000024db756c740] Invalid NAL unit 43, skipping.rate=N/A speed=13.1x
[hevc @ 0000024db756c740] Invalid NAL unit 0, skipping.trate=N/A speed=14.5x
    Last message repeated 1 times
[hevc @ 0000024db7589940] Invalid NAL unit 0, skipping.trate=N/A speed=14.4x
    Last message repeated 1 times
[hevc @ 0000024db7c66600] Invalid NAL unit 0, skipping.trate=N/A speed=14.9x
[hevc @ 0000024db7c66600] Invalid NAL unit 0, skipping.trate=N/A speed=  15x
[hevc @ 0000024db7c66600] Invalid NAL unit 0, skipping.trate=N/A speed=13.8x
[hevc @ 0000024db752a200] Skipping NAL unit 10:43.00 bitrate=N/A speed=13.4x
[hevc @ 0000024db752a200] Invalid NAL unit 0, skipping.trate=N/A speed=13.3x
[hevc @ 0000024db8044b80] Invalid NAL unit 0, skipping.trate=N/A speed=13.1x
[hevc @ 0000024db8044b80] Invalid NAL unit 0, skipping.trate=N/A speed=  13x
[hevc @ 0000024db8044b80] Invalid NAL unit 0, skipping.trate=N/A speed=  13x
[hevc @ 0000024db7c66600] Invalid NAL unit 0, skipping.
[hevc @ 0000024db752a200] Invalid NAL unit 0, skipping.
[hevc @ 0000024db58473c0] Invalid NAL unit 0, skipping.
[hevc @ 0000024db7589940] Invalid NAL unit 0, skipping.trate=N/A speed=12.9x
[hevc @ 0000024db7589940] Invalid NAL unit 0, skipping.trate=N/A speed=12.9x
[hevc @ 0000024db58473c0] Invalid NAL unit 0, skipping.trate=N/A speed=12.9x
[hevc @ 0000024db8044b80] Invalid NAL unit 0, skipping.trate=N/A speed=12.8x
[ 3002.916690] mpp_rkvdec2 fdc48100.rkvdec-core: resetting for err 0x23
[ 3002.916815] mpp_rkvdec2 fdc48100.rkvdec-core: reset done
[ 3002.916821] mpp_rkvdec2 fdc38100.rkvdec-core: resetting for err 0x107
[ 3002.916923] mpp_rkvdec2 fdc38100.rkvdec-core: reset done
[ 3003.008446] mpp_rkvdec2 fdc48100.rkvdec-core: resetting for err 0x107
[ 3003.008570] mpp_rkvdec2 fdc48100.rkvdec-core: reset done
[ 3003.008576] mpp_rkvdec2 fdc38100.rkvdec-core: resetting for err 0x23
[ 3003.008698] mpp_rkvdec2 fdc38100.rkvdec-core: reset done
[ 3003.090024] mpp_rkvdec2 fdc48100.rkvdec-core: resetting for err 0x23
[ 3003.090150] mpp_rkvdec2 fdc48100.rkvdec-core: reset done
[ 3003.090155] mpp_rkvdec2 fdc38100.rkvdec-core: resetting for err 0x107
[ 3003.090258] mpp_rkvdec2 fdc38100.rkvdec-core: reset done
[ 3013.041698] mpp_rkvdec2 fdc48100.rkvdec-core: resetting for err 0x23
[ 3013.041830] mpp_rkvdec2 fdc48100.rkvdec-core: reset done
[ 3013.041836] mpp_rkvdec2 fdc38100.rkvdec-core: resetting for err 0x107
[ 3013.041939] mpp_rkvdec2 fdc38100.rkvdec-core: reset done
[ 3013.137698] mpp_rkvdec2 fdc48100.rkvdec-core: resetting for err 0x23
[ 3013.137838] mpp_rkvdec2 fdc48100.rkvdec-core: reset done
[ 3013.137844] mpp_rkvdec2 fdc38100.rkvdec-core: resetting for err 0x23
[ 3013.137948] mpp_rkvdec2 fdc38100.rkvdec-core: reset done
[ 3013.230684] mpp_rkvdec2 fdc48100.rkvdec-core: resetting for err 0x23
[ 3013.230835] mpp_rkvdec2 fdc48100.rkvdec-core: reset done
[ 3013.230841] mpp_rkvdec2 fdc38100.rkvdec-core: resetting for err 0x107
[ 3013.230955] mpp_rkvdec2 fdc38100.rkvdec-core: reset done
[ 3013.341170] mpp_rkvdec2 fdc48100.rkvdec-core: resetting for err 0x23
[ 3013.341307] mpp_rkvdec2 fdc48100.rkvdec-core: reset done
[ 3013.341314] mpp_rkvdec2 fdc38100.rkvdec-core: resetting for err 0x107
[ 3013.341425] mpp_rkvdec2 fdc38100.rkvdec-core: reset done
[ 3071.376767] mpp_rkvdec2 fdc48100.rkvdec-core: resetting for err 0x23
[ 3071.376923] mpp_rkvdec2 fdc48100.rkvdec-core: reset done
[ 3071.376930] mpp_rkvdec2 fdc38100.rkvdec-core: resetting for err 0x107
[ 3071.377040] mpp_rkvdec2 fdc38100.rkvdec-core: reset done
[ 3071.485650] mpp_rkvdec2 fdc48100.rkvdec-core: resetting for err 0x107
[ 3071.485824] mpp_rkvdec2 fdc48100.rkvdec-core: reset done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: No status
Development

No branches or pull requests

2 participants