FFmpeg update in docker images

100 views
Skip to first unread message

Gregory Aref'ev

unread,
Jan 1, 2024, 4:49:37 PM1/1/24
to BubbleUPnP
Hello,

In the recent update of the docker image (in particular, I use bubbleupnpserver-openj9 which was updated on the 20th of December 2023) you updated to FFmpeg v6.1 which is compiled against a newer version of Nvidia Encoder (nvenc v12.1). Unfortunately, my Nvidia driver doesn't support that version. I have Nvidia GeForce GT 710 installed in my home NAS for the sole purpose of hardware h264 transcoding. That GPU is only supported by older drivers (470.*.*) which in turn are incompatible with the FFmpeg build that comes with the latest docker image of BubbleUPnP Server. This is what I see in the log:
bubbleupnp  | [h264_nvenc @ 0x536f900] Using device cuda0 (type cuda) with h264_nvenc encoder.
bubbleupnp  | [h264_nvenc @ 0x536f900] Loaded Nvenc version 11.1
bubbleupnp  | [h264_nvenc @ 0x536f900] Driver does not support the required nvenc API version. Required: 12.1 Found: 11.1
bubbleupnp  | [h264_nvenc @ 0x536f900] The minimum required Nvidia driver for nvenc is (unknown) or newer
bubbleupnp  | [h264_nvenc @ 0x536f900] Nvenc unloaded


And then FFmpeg falls back to CPU transcoding. Of course, I could have built FFmpeg with a specific configuration for my setup and mounted it instead of the default binary in the container. But this seems to be a step back in the usability of BubbleUPnP Server after an update that was supposed to make the user experience better (I believe), provided that everything used to work perfectly before.

Could you please do one of the following:
  1. Tag the previous versions of the docker images to make them available on dockerhub
  2. Add a parameter to the docker image to select your previous build of FFmpeg (v5.0, which I believe is still hosted somewhere on your server as it is downloaded by the bubbleupnpserver_0.9-7_all.deb installer)
  3. Create an optional build of FFmpeg v6.1 with support for older hardware. With a parameter that can be passed to the docker image
Thank you so much! And Happy New Year!
Greg

Bubblesoft

unread,
Jan 2, 2024, 4:19:32 AM1/2/24
to BubbleUPnP
Hi,

Thank you for the detailed report and bringing my attention on this issue.
To fix it, I will recompile FFmpeg with v11.1 NVIDIA headers.
Existing installs of BubbleUPnP Server will automatically update to the new ffmpeg binary.

Bubblesoft

unread,
Jan 2, 2024, 5:13:20 AM1/2/24
to BubbleUPnP
Updated ffmpeg binary is available.
You can update to it on an existing install going into the web interface, Settings > Updates tab, Check for updates, Apply update.
Or remove the bubblesoftapps/bubbleupnpserver-openj9 image and refetch it to create an update container.

How did you get NVIDIA working on the BubbleUPnP Server container ? I suppose you are using NVIDIA Container Toolkit
with the relevant command-line options passed to docker for the container ?
Reply all
Reply to author
Forward
0 new messages