Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

FFMPEG - Shinobi Docker help - Nvidia GPU

Featured Replies

Evening - 

 

Trying to get Nvidia hw-acceleration running on the shinobi docker. After a lot of tinkering, I'm reaching out for help :)

 

Goal:

  • Update ffmpeg to the latest version
  • Update the CUDA version from 12.7 to the latest.
  • I believe Nvidia driver version 565.57.01 is the latest of this writing per the Nvidia Driver plugin
  • GPU: Nvidia Quadro P4000

 

TLDR: If this is not what is needed to get Nvidia drivers working with Shinobi - What must I do to get it working?  Details and references are below numbered 1 - 7.

 

1. When attempting to update FFMPEG - here's the terminal output

image.png.913a180975406b1ace32f7b2763dabb9.png

 

2. Inside Shinobi input settings, here's what I have available - it seems the container recognizes that the Nvidia drivers are available/accessible however when switching to an Nvidia decoder option, the camera feed crashes, will not recover due to the following error image.png.33d8e77ea3921b8f1e8dbd2d4977bcc8.png, and must be reset to Auto, essentially reverting to CPU I assume. This error is repeatable, with all options in the Video decoder listed below.

 

3. Accelerator is set to "Yes"

4. Acceleration Engine is set to "Auto" however the following options are available: (I've attempted all variations/combinations, no GPU related HW works)

  • vdpau
  • vaapi (VA-API)
  • DRM Object Sharing

5. Video Decoder is set to "Auto(Recommended)", however, the available options are available:

image.png.47fe7d49997a26037fc40432aa3d13b7.png

 

6. While in the Shinobi docker terminal console, the ffmpeg -version command reports the following:

ffmpeg version 4.1.6-1~deb10u1 Copyright (c) 2000-2020 the FFmpeg developers

image.thumb.png.17d3c63c7075f158347c07631ada3dd7.png

image.png.82be055970ffe30d053f7438b0ef2fad.png

 

7. When running the nvidia-smi command in the shinobi docker terminal console, this is what is reported: 

image.png.8d7e0614102d0f072b77849ec5b9a18e.png

 

 

image.png

Edited by Optico89
removed duplicate picture

  • 3 months later...

Hi, good evening

Since a long time ago, I always have this issue with the Docker "shinobi-pro-cctv" - and it'd happened again last night, when I've updated my dockers with new network parameters - So, you are right in your inquiry.

About the issue: the FFmpeg build inside the aforementioned shinobi docker version does not have ANY hardware acceleration for our nvidia gpus (you'll can check with the command "ffmpeg -codecs" inside your docker console).

About the solution for this issue, you'll have to (if you have the same docker):

  1. Disable any kind of autoupdate for this docker. If it eventually does update, you'll have to do inject the FFmpeg build again;

  2. "Inject" a FFmpeg build that was compiled with hardware acceleration in mind;

    • This is simple if you search for a compatible already compiled FFmpeg build from around the same date of your nvidia driver plugin. For example, my driver is:

      • Nvidia Driver Version: 550.67.

      • Date: 2024.01.19

    • So, my FFmpeg build is from around:

      • autobuild-2024-01-31-12-54

  3. Put your FFmpeg build in the same share folder that you informed in your docker as shinobi config, since you'll have to access inside Docker. For example, mine is registered as: "/mnt/user/appdata/shinobi";

  4. Now, in the aforementioned Shinobi Docker console, you'll have to:

    • stop cameras with:

      • pm2 stop camera.js

    • copy your corrected FFmpeg build to overwrite the other one. Obs.: change YOURBUILDHERE with the name that its your FFmpeg build folder:

      • cp /config/YOURBUILDHERE/bin/* /usr/bin/

        • For example, in my docker I used: cp /config/shinobi/bin/* /usr/bin/

        • Obs: "/usr/bin/" is where the FFmpeg is located in this Docker. You can check yours with the command "which ffmpeg".

    • Restart those cameras with:

      • pm2 start camera.js

    • Obs.: you'll have to use a FFmpeg build from around the same date, because the FFmpeg build has a minimum nvidia driver request that works.

Now, with that out of the way, you can check with the command ffmpeg -codecs if it worked. Mine is reported as:

image.png

And, like that, it'll work as it should.

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.