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:
- Tag the previous versions of the docker images to make them available on dockerhub
- 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)
- 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