Jump to content

Orange Pi 5 Plus (16GB) hard crashes during transcoding of HEVC 4K HDR10 video in Jellyfin


Recommended Posts

Posted

I am running Ubuntu 24.04 Noble (Armbian Linux 6.1.115-vendor-rk35xx) and no additional packages affecting VPU performance have been installed; everything is stock. Jellyfin is running in Docker, and transcoding works perfectly, except for some movies.


I tried to play a 4K video in Chrome (native HEVC support), set the bitrate to 40mbps, and the video played normally at a transcoding speed of about 3x, but after a while, Orange Pi crashed. In Firefox inside neko (where there is no hardware acceleration and HEVC), the crash happened even faster, after ~2 seconds of playback.


The crash happens as if the board loses power: journalctl is not saved, nothing is visible via ssh. I use a 100W Baseus GaN Pro Desktop Power Strip (model CCGAN100-1ACE) and the Orange Pi is the only device connected to it. I also have a 100W cable that shows the current consumption in watts. During transcoding, it showed 10, and then the board hard rebooted again, so I don't think this is related to power issues.

Before that, I used Ubuntu 24.04 from Joshua Riek, and there was a problem with the Mali driver crashing under heavy load or simply after a while. A similar hard reboot also occurred if the driver was “too slow” to crash.

Here is Jellyfin's video info:

Spoiler


Video
Title: Deepwater Horizon (2016) - 4K - HEVC - Dolby Vision Profile 8.1 (HDR10)
Codec: HEVC
AVC: No
Profile: Main 10
Level: 153
Resolution: 3840x2160
Aspect ratio: 16:9
Anamorphic: No
Interlaced: No
Framerate: 23.976025
Bitrate: 97917 kbps
Bit depth: 10 bit
Video range: HDR
Video range type: DOVIWithHDR10
DV title: Dolby Vision Profile 8.1 (HDR10)
DV version major: 1
DV version minor: 0
DV profile: 8
DV level: 6
DV rpu preset flag: 1
DV el preset flag: 0
DV bl preset flag: 1
DV bl signal compatibility id: 1
Color space: bt2020nc
Color transfer: smpte2084
Color primaries: bt2020
Pixel format: yuv420p10le
Ref frames: 1



ffprobe:

Spoiler
  Stream #0:0(eng): Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
    Metadata:
      title           : Deepwater Horizon (2016)
      BPS             : 76184352
      DURATION        : 01:47:19.350000000
      NUMBER_OF_FRAMES: 154390
      NUMBER_OF_BYTES : 61322213457
      _STATISTICS_WRITING_APP: mkvmerge v67.0.0 ('Under Stars') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2022-05-17 10:46:34
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Side data:
      DOVI configuration record: version: 1.0, profile: 8, level: 6, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 1

 


I also have a 4 GB model of Orange Pi 5 (not  B), and there were no problems with transcoding this video; it was just slow due to the small amount of RAM.

I don't even know where to start. What should I do to at least understand the cause of this issue?

Posted
10 hours ago, Olejka said:

The crash happens as if the board loses power: journalctl is not saved, nothing is visible via ssh. I use a 100W Baseus GaN Pro Desktop Power Strip (model CCGAN100-1ACE) and the Orange Pi is the only device connected to it. I also have a 100W cable that shows the current consumption in watts. During transcoding, it showed 10, and then the board hard rebooted again, so I don't think this is related to power issues.

You should pipe the output from a serial console cable to another computer where you store it. Make sure kernel cmdline loglevel=7

 

AFAIR the OPI5+ can only use 5V as input supply power. Your 100W PSU might be a standard spec one so it does only deliver 3A at 5V. This might be a perfect 5.000V, but an extra cable in between will drop that a bit and the risk is then that short higher power drap will either make the 5V goo too low and/or the PSU will cut the power because more than 3A drawn during a short peak.  You will need to look at powering first. Usually 5V only SBC's can be powered via other input then the USB-C input. You need to read the instruction for your OPI5+, and also OPi5, those might be different.

 

OPI5+ and also OPi5 should transcode at more or less the same speed, large amount of memory does not really matter as it is just HW processing blocks doing the work in a rather limited memory space. You should do a manual CLI jellyfin-ffmpeg based transcode, see /var/log/jellyfin how commandline arguments for that specific video look like (and simplify it, output to 1 file instead of chunks m3u8). And or search this forum, I at least have posted examples for check/test earlier. You might also try to reproduce it with a publiclicy know video, look for big buck bunny test vids or so.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines