Jump to content

Docker nvidia accelerated transcoding not working after cuda upgrade


pmalek

Recommended Posts

Hi all,

 

I've just updated my CUDA drivers to version 10 and I cannot get transcoding to work. I'm running emby (currently version 4.0.0.1) in Docker with the following Dockerfile 

FROM alpine:latest AS builder

ARG VERSION=3.6.0.46

RUN apk update \
&& apk add wget ca-certificates \
&& wget --progress=bar:force -O /emby.deb \
https://github.com/MediaBrowser/Emby.Releases/releases/download/${VERSION}/emby-server-deb_${VERSION}_amd64.deb

FROM nvidia/video-codec-sdk:8.2-ubuntu18.04
COPY --from=builder /emby.deb /emby.deb
RUN (dpkg -i /emby.deb ; true) \
&& echo /opt/emby-server/lib/ >> /etc/ld.so.conf \
&& echo /opt/emby-server/lib/samba >> /etc/ld.so.conf \
&& ldconfig

ENTRYPOINT ["/opt/emby-server/bin/emby-server"]

Logs

embyserver.txt https://pastebin.com/8KTsdNUB

hardware_detection.txt https://pastebin.com/xT52f9F1

ffmpeg-transcode https://pastebin.com/5wCQ9D6s

 

Any clues why this might not work?

 

executing ffmpeg in containers returns the following:

root@259f4dbd38a3:/# /opt/emby-server/bin/ffmpeg
ffmpeg version 4.0.2-emby_2018_12_09 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (crosstool-NG crosstool-ng-1.23.0)
configuration: --cc=x86_64-pc-linux-gnu-gcc --arch=x86_64 --prefix=/home/embybuilder/Buildbot/x64/ffmpeg-x64/staging --pkg-config=pkg-config --disable-doc --disable-ffplay --disable-vdpau --disable-xlib --enable-fontconfig --enable-gnutls --enable-gpl --enable-iconv --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libwebp --enable-libx264 --enable-libzvbi --enable-version3 --enable-libsmbclient --enable-cuda --enable-cuvid --enable-libmfx --enable-nvenc --enable-vaapi --enable-cross-compile --cross-prefix=x86_64-pc-linux-gnu- --extra-libs='-lexpat -lfreetype -lfribidi -lfontconfig -liconv -lpng -lz -lvorbis -logg -lnettle -lhogweed -lgmp -laddns-samba4 -lasn1util-samba4 -lauthkrb5-samba4 -lCHARSET3-samba4 -lcliauth-samba4 -lcli-cldap-samba4 -lcli-ldap-common-samba4 -lcli-nbt-samba4 -lcli-smb-common-samba4 -lcom_err -lcommon-auth-samba4 -ldbwrap-samba4 -ldcerpc-binding -ldcerpc-samba-samba4 -ldl -lflag-mapping-samba4 -lgenrand-samba4 -lgensec-samba4 -lgse-samba4 -lgssapi_krb5 -llibcli-lsa3-samba4 -llibsmb-samba4 -linterfaces-samba4 -liov-buf-samba4 -lk5crypto -lkrb5 -lkrb5samba-samba4
-lkrb5support -lldb -lldbsamba-samba4 -lmessages-dgm-samba4 -lmessages-util-samba4 -lmsghdr-samba4 -lmsrpc3-samba4 -lndr -lndr-krb5pac -lndr-nbt -lndr-samba-samba4 -lndr-standard -lreplace-samba4 -lsamba-cluster-support-samba4 -lsamba-credentials -lsamba-debug-samba4 -lsamba-errors -lsamba-hostconfig -lsamba-modules-samba4 -lsamba-security-samba4 -lsamba-sockets-samba4 -lsamba-util -lsamba3-util-samba4 -lsamdb -lsamdb-common-samba4 -lsecrets3-samba4 -lserver-id-db-samba4 -lserver-role-samba4 -lsmbconf -lsmbd-shim-samba4 -lsmb-transport-samba4 -lsocket-blocking-samba4 -lsys-rw-samba4 -ltalloc -ltalloc-report-samba4 -ltdb -ltdb-wrap-samba4 -ltevent -ltevent-util -ltime-basic-samba4 -lutil-cmdline-samba4 -lutil-reg-samba4 -lutil-setid-samba4 -lutil-tdb-samba4 -luuid -lwbclient -lwinbind-client-samba4 -ldrm' --target-os=linux --enable-shared --disable-static
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

I'm 100% certain hardware acceleration is not working since that's easy to verify with e.g. nvidia-smi (when I launch ffmpeg with hw accel on host it spikes to 100% whereas it doesn't budge when I launch a movie with specified quality different than the original)

Edited by pmalek
Link to comment
Share on other sites

@@pmalek

 

Version 3.6.0.46 ?

 

Do you have Emby Premiere?

 

The version is there just to have a default value ( maybe I should change that) . I use 4.0.0.1 as mentioned above.

 

As for Emby Premiere I do not have it but I've noticed that transcoding server option say that I need it yet it worked up until recently. Any changelog entries I have missed that made it exclusively a Premiere option?

 

5c3b8e2b39b53_Screenshot20190113at201435

Link to comment
Share on other sites

Hi, yes we made this announcement on our blog:

https://emby.media/community/index.php?/blog/1/entry-443-exciting-additions-coming-soon-in-emby-server-36/

 

We have revamped hardware acceleration and this has been a massive effort for us, and that is why it now requires Emby premiere. We thank you for your support .

Link to comment
Share on other sites

Hmm alright. That's reasonable. Although some sort of log entry or a popup (besides the note in my screenshot) would be nice so that users won't overlook it as I did.

Link to comment
Share on other sites

BTW

 

 

 

On some platforms such as Nvidia Shield and certain NAS devices, it will be included freely out of the box.

 

Can I find a list of those somewhere?

Link to comment
Share on other sites

Hi, yes we made this announcement on our blog:

https://emby.media/community/index.php?/blog/1/entry-443-exciting-additions-coming-soon-in-emby-server-36/

 

We have revamped hardware acceleration and this has been a massive effort for us, and that is why it now requires Emby premiere. We thank you for your support .

 

We should add a note to the ffmpeg logs otherwise we will always need to ask people about it...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...