vaise 340 Posted August 5, 2018 Posted August 5, 2018 @@vaise Thank you, that was helpful. I just updated the beta tag on docker hub, could you please give it a try? Howdy, The docker for embybeta has not gone blue for me yet - which I believe means there is an update...... I use unraid - dunno if that matters. Sorry - still a bit new to all this.
vaise 340 Posted August 5, 2018 Posted August 5, 2018 yay - updated this morning and can now play those channels. The kids just informed me that random other stuff in our collection has not been working recently..... would have been nice to be told that before now as I could have provided more info. Thanks heaps.
alucryd 315 Posted August 6, 2018 Posted August 6, 2018 No problem, please share the log when you know more. The beta is built with a limited set of codecs to cut build times, improve performance, and allow it to build on some ancient platforms. I tried to cover the most popular ones but there is bound to be some oversight there, I'll complete the list according to user feedback.
vaise 340 Posted August 6, 2018 Posted August 6, 2018 No problem, please share the log when you know more. The beta is built with a limited set of codecs to cut build times, improve performance, and allow it to build on some ancient platforms. I tried to cover the most popular ones but there is bound to be some oversight there, I'll complete the list according to user feedback. Cheers, so if I find something that does not play, and throws the 'ignored' message on the roku in play back, I post the embyserver and ffmpeg log to the docker area ? i.e here ?
paulmorabi 3 Posted August 10, 2018 Posted August 10, 2018 (edited) Hi, I'm trying to get Emby to reverse proxy through Traefik. This is my docker compose: emby: container_name: embyserver image: emby/embyserver restart: always #network_mode: "host" volumes: - ${USERDIR}/docker/emby:/config - /media:/media ports: - 8096:8096 - 8920:8920 - 7359:7359/udp - 1900:1900/udp environment: - APP_UID=1000 - APP_GID=996 - TZ=${TZ} - GIDLIST=44 networks: - traefik_proxy - default labels: - "traefik.enable=true" - "traefik.backend=emby" - "traefik.frontend.rule=Host:emby.xxxx.net" - "traefik.port=8096" - "traefik.docker.network=traefik_proxy" If I use the above config then I can get external access through the reverse proxy. However, as the IP is from the bridge network (default) it's ip (172.x.x.x) is not accessible to other devices on the same network. If I try to put "host" in networks then I get a network undefined error. If I define a host network then I get an error that the host network already exists and I can't create another. But if I leave it as is, no device on my network can access it at it's local ip of 172.x.x.x. If I can't use host networking then is there a way to map emby's IP/ports to the host's IP? If so, how? Edited August 10, 2018 by paulmorabi
Luke 42077 Posted August 10, 2018 Author Posted August 10, 2018 What do you mean by put host in networks?
mastrmind11 722 Posted August 10, 2018 Posted August 10, 2018 What do you mean by put host in networks? switching the container to "host mode", which should work. This seems like a proxy issue, has nothing to do w/ Emby.
otispresley 111 Posted August 10, 2018 Posted August 10, 2018 (edited) I agree that this does look like a proxy issue. This should work whether you are using bridge networking or host networking. In both cases, you are using the hosts IP address and ports, which means that you cannot have anything else using those ports. When you use bridge networking, Docker automatically performs DHCP and NAT for you, but you must publish the ports you want to use to the outside world. When you access Emby, it would be to the Host IP Address and Not the IP address that Docker assigns to the container. This is an important distinction because the network Docker uses to assign IP addresses from is not accessible outside the host. This means your proxy would point to the Host IP Address/DNS name. When you use host networking, your Emby container uses the IP address of the host, which means that it also has the same hostname as the host. There is no DHCP or NAT from Docker in this case and so all ports are open to the network and your ports section of your compose file are not needed. Your proxy would point to the Host IP Address/DNS name. There is also mac-vlan networking in Docker that you could use. This uses your host as a layer 2 bridge directly to your switch. This means that your container is exposed to your network and would get an IP address from your normal DHCP server, usually on your router, and you can give the container any hostname you want. If you use this mode, then I would suggest that you make a static reservation in your DHCP for the container so the IP address never changes. Then, your proxy would point to that IP address/DNS name. I hope this helps! Edited August 10, 2018 by otispresley
BAlGaInTl 288 Posted August 11, 2018 Posted August 11, 2018 I've been using Docker for a while... some time ago, I could no longer connect externally through https. I've tried everything... rebuilt the pfx. Checked all the ownership of files. No matter what I do, I get an ERR_CONNECTION_REFUSED If I open up the normal http port, I can connect externally just fine, so I know the domain is working. The letsencrypt certs are working fine with other apps. Any thoughts?
paulmorabi 3 Posted August 11, 2018 Posted August 11, 2018 I agree that this does look like a proxy issue. This should work whether you are using bridge networking or host networking. In both cases, you are using the hosts IP address and ports, which means that you cannot have anything else using those ports. When you use bridge networking, Docker automatically performs DHCP and NAT for you, but you must publish the ports you want to use to the outside world. When you access Emby, it would be to the Host IP Address and Not the IP address that Docker assigns to the container. This is an important distinction because the network Docker uses to assign IP addresses from is not accessible outside the host. This means your proxy would point to the Host IP Address/DNS name. When you use host networking, your Emby container uses the IP address of the host, which means that it also has the same hostname as the host. There is no DHCP or NAT from Docker in this case and so all ports are open to the network and your ports section of your compose file are not needed. Your proxy would point to the Host IP Address/DNS name. There is also mac-vlan networking in Docker that you could use. This uses your host as a layer 2 bridge directly to your switch. This means that your container is exposed to your network and would get an IP address from your normal DHCP server, usually on your router, and you can give the container any hostname you want. If you use this mode, then I would suggest that you make a static reservation in your DHCP for the container so the IP address never changes. Then, your proxy would point to that IP address/DNS name. I hope this helps! Thank you for the explanation. If I use Emby in bridge network mode, then when I connect to Emby and look at the local address in the Emby dashboard it is 172.x.x.x. When I try to connect from another device on the same LAN (Shield TV with Kodi) using my Emby account, it tries to connect to the LAN address (172.x.x.x) so it fails. It doesn't bind to 192.168.x.x even though ports are mapped. However, using bridge mode does mean I can reverse proxy through traefik. So, can I change the IP address within Emby from 172.x.x to 192.168.x.x? If I use host networking then this issue goes away because the LAN address in Emby dashboard is 192.168.x.x. However, reverse proxying via traefik won't work because it needs to be connected to a bridge network and you can't be connected to both.
otispresley 111 Posted August 11, 2018 Posted August 11, 2018 (edited) Thank you for the explanation. If I use Emby in bridge network mode, then when I connect to Emby and look at the local address in the Emby dashboard it is 172.x.x.x. When I try to connect from another device on the same LAN (Shield TV with Kodi) using my Emby account, it tries to connect to the LAN address (172.x.x.x) so it fails. It doesn't bind to 192.168.x.x even though ports are mapped. However, using bridge mode does mean I can reverse proxy through traefik. So, can I change the IP address within Emby from 172.x.x to 192.168.x.x? No, Emby will report that it's IP address is 172.x.x.x because that is the network used internally by Docker. Ignore that. You use the IP address of the machine that you are running Docker on instead. You would connect directly to your Emby server using http://192.168.x.x:8096 or https://192.168.x.x:8920. Your proxy would point to http://192.168.x.x:8096...unless the proxy is outside your home network and you are not connected to it via VPN. In that case, the proxy would point to the IP address assigned to you from your ISP on port 8096 and you would need to forward, in your router, port 8096 to the 192.168.x.x address assigned to your Docker machine. If I use host networking then this issue goes away because the LAN address in Emby dashboard is 192.168.x.x. However, reverse proxying via traefik won't work because it needs to be connected to a bridge network and you can't be connected to both. That should not be the case. Whether you are using bridge or host, point to the 192.168.x.x address that is assigned to the computer with Docker installed on it. Edited August 11, 2018 by otispresley 1
paulmorabi 3 Posted August 12, 2018 Posted August 12, 2018 No, Emby will report that it's IP address is 172.x.x.x because that is the network used internally by Docker. Ignore that. You use the IP address of the machine that you are running Docker on instead. You would connect directly to your Emby server using http://192.168.x.x:8096 or https://192.168.x.x:8920. Your proxy would point to http://192.168.x.x:8096...unless the proxy is outside your home network and you are not connected to it via VPN. In that case, the proxy would point to the IP address assigned to you from your ISP on port 8096 and you would need to forward, in your router, port 8096 to the 192.168.x.x address assigned to your Docker machine. That should not be the case. Whether you are using bridge or host, point to the 192.168.x.x address that is assigned to the computer with Docker installed on it. Thank you, you are correct. There was one issue with this. When the IP changes, the name of the emby server changes to a random set of characters so Kodi wouldn't connect unless I changed the server name to what it was before. After that, it's all ok! 1
otispresley 111 Posted August 12, 2018 Posted August 12, 2018 Thank you, you are correct. There was one issue with this. When the IP changes, the name of the emby server changes to a random set of characters so Kodi wouldn't connect unless I changed the server name to what it was before. After that, it's all ok! Awesome! Glad you got it worked out.
pmalek 0 Posted August 12, 2018 Posted August 12, 2018 Hello everyone, I've just installed Emby Server on my box (Linux, with Intel Xeon and Nvidia 1060) in docker container and I have just one tiny issue with it: I cannot get hardware acceleration on it to work. I've tried to install it on a host and hardware acceleration using nvenc on my 1060 works like a charm. I'm not sure what needs to be done whether that can be done at all. ffmpeg in docker seems to be compiled correctly with nvenc support: / # ffmpeg -encoders 2>/dev/null| grep -i nven V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264) V..... nvenc NVIDIA NVENC H.264 encoder (codec h264) V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264) V..... nvenc_hevc NVIDIA NVENC hevc encoder (codec hevc) V..... hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc) Transcode log: https://pastebin.com/xgV55kZz In the log I can see [h264_cuvid @ 0x756380] Cannot load libnvcuvid.so.1 [h264_cuvid @ 0x756380] Failed loading nvcuvid. which I believe is the problem. Let me know if any more logs are needed.
Luke 42077 Posted August 12, 2018 Author Posted August 12, 2018 Have you installed Nvidia drivers and are they up to date?
pmalek 0 Posted August 12, 2018 Posted August 12, 2018 (edited) Well I could but I'm not sure what the original docker image of emby (https://hub.docker.com/r/emby/embyserver/) is based on (i.e. what distro, is it alpine with s6?). Meaning, I cannot use any package manager (no apt, zypper, I can see rpm from busybox but I cannot find nvidia drivers .rpm package - for what distro/version should I look for)? I tried the simplest method: * download 396.24 drivers from http://www.nvidia.com/Download/driverResults.aspx/133859/en-us * try to unpack them via /home/nvidia # ./NVIDIA-Linux-x86_64-396.24.run --keepCreating directory NVIDIA-Linux-x86_64-396.24 Verifying archive integrity... OK Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 396.24......................................................................................................................................................................................................... ................................................................................................................................................................................................................................................................................. ....................................... ./NVIDIA-Linux-x86_64-396.24.run: line 1075: ./nvidia-installer: not found /home/nvidia # ls ./NVIDIA-Linux-x86_64-396.24/nvidia-installer ./NVIDIA-Linux-x86_64-396.24/nvidia-installer /home/nvidia # ls -l ./NVIDIA-Linux-x86_64-396.24/nvidia-installer -rwxr-xr-x 1 root root 345088 Apr 26 08:14 ./NVIDIA-Linux-x86_64-396.24/nvidia-installer /home/nvidia # ./NVIDIA-Linux-x86_64-396.24/nvidia-installer sh: ./NVIDIA-Linux-x86_64-396.24/nvidia-installer: not found /home/nvidia # head -1 NVIDIA-Linux-x86_64-396.24/nvidia-installer ELF>*@@@=@@@@@@@@@@ ee78 55e5@@ Ptd44D4D /home/nvidia # ldd sh: ldd: not found /home/nvidia # readelf sh: readelf: not found this doesn't work because for some reason ldd and readelf are not installed and hence ELF binary cannot run (??). That's my take on this. I'm still trying to get this to work. Edited August 12, 2018 by pmalek
mediacowboy 438 Posted August 12, 2018 Posted August 12, 2018 You have to install the drivers on the host and then pass that and the video group into the emby docker.
pmalek 0 Posted August 12, 2018 Posted August 12, 2018 (edited) You have to install the drivers on the host and then pass that and the video group into the emby docker. I do have drivers installed on the host and I do have the video group added to GIDLIST 1 #!/bin/bash 2 3 docker run -d \ 4 --volume /home/STUFF/programming/docker/emby/:/config \ 5 --volume /mnt/STUFF/:/mnt/share1 \ 6 --device /dev/dri/renderD128 \ 7 --publish 8096:8096 \ 8 --publish 8920:8920 \ 9 --env UID=1000 \ 10 --env GID=100 \ 11 --env GIDLIST=100,44 \ 12 --name emby \ 13 emby/embyserver:latest getent group video video:x:44:plex but that doesn't seem to work. How do you "pass that" (drivers?) into the container? Edited August 12, 2018 by pmalek
otispresley 111 Posted August 13, 2018 Posted August 13, 2018 (edited) I do have drivers installed on the host and I do have the video group added to GIDLIST 1 #!/bin/bash 2 3 docker run -d \ 4 --volume /home/STUFF/programming/docker/emby/:/config \ 5 --volume /mnt/STUFF/:/mnt/share1 \ 6 --device /dev/dri/renderD128 \ 7 --publish 8096:8096 \ 8 --publish 8920:8920 \ 9 --env UID=1000 \ 10 --env GID=100 \ 11 --env GIDLIST=100,44 \ 12 --name emby \ 13 emby/embyserver:latest getent group video video:x:44:plex but that doesn't seem to work. How do you "pass that" (drivers?) into the container? Your /dev path may be incorrect in your --device path. Verify that it exists as it could be something else. Edited August 13, 2018 by otispresley
pmalek 0 Posted August 13, 2018 Posted August 13, 2018 (edited) Ok, so I've managed to take a closer look at https://devblogs.nvidia.com/nvidia-docker-gpu-server-application-deployment-made-easy/ and https://hub.docker.com/r/nvidia/video-codec-sdk/. It seems that I can get this to work with nvidia-docker nvidia-docker run --rm -it nvidia/video-codec-sdk:8.2-ubuntu18.04 bash root@a64ef520f836:/# find /usr/lib/x86_64-linux-gnu/ -name "libnv*" /usr/lib/x86_64-linux-gnu/libnvidia-encode.so.1 /usr/lib/x86_64-linux-gnu/libnvidia-encode.so.396.51 /usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.1 /usr/lib/x86_64-linux-gnu/libnvidia-cfg.so.1 /usr/lib/x86_64-linux-gnu/libnvcuvid.so.396.51 /usr/lib/x86_64-linux-gnu/libnvidia-ptxjitcompiler.so.1 /usr/lib/x86_64-linux-gnu/libnvcuvid.so.1 /usr/lib/x86_64-linux-gnu/libnvidia-ptxjitcompiler.so.396.51 /usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.396.51 /usr/lib/x86_64-linux-gnu/libnvidia-compiler.so.396.51 /usr/lib/x86_64-linux-gnu/libnvidia-fatbinaryloader.so.396.51 /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.396.51 /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1 /usr/lib/x86_64-linux-gnu/libnvidia-cfg.so.396.51 but I cannot get emby to install in ubuntu's docker image (nvidia's images are based on that, +I prefer ubuntu). root@62327aa5a4a3:/# curl -SLO https://github.com/MediaBrowser/Emby.Releases/releases/download/3.5.2.0/emby-server-deb_3.5.2.0_amd64.deb % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 623 0 623 0 0 700 0 --:--:-- --:--:-- --:--:-- 699 100 50.8M 100 50.8M 0 0 3465k 0 0:00:15 0:00:15 --:--:-- 8812k root@62327aa5a4a3:/# dpkg -i emby-server-deb_3.5.2.0_amd64.deb Selecting previously unselected package emby-server. (Reading database ... 5718 files and directories currently installed.) Preparing to unpack emby-server-deb_3.5.2.0_amd64.deb ... Unpacking emby-server (3.5.2.0) ... Setting up emby-server (3.5.2.0) ... emby-server: unrecognized service dpkg: error processing package emby-server (--install): installed emby-server package post-installation script subprocess returned error exit status 1 Processing triggers for libc-bin (2.27-3ubuntu1) ... Errors were encountered while processing: emby-server Which seems that service emby-server start doesn't work because docker doesn't allow new service to be defined (?). This works without a problem on my ubuntu host but somehow it won't work in docker. Any clues? Edited August 13, 2018 by pmalek
pmalek 0 Posted August 14, 2018 Posted August 14, 2018 (edited) Ok so I managed to run container with nvidia-docker (https://hub.docker.com/r/nvidia/video-codec-sdk/) and when I install emby there (from available .deb packages) I get the error above but that's not the end of the world because we can omit running emby as a service and just run it in the foreground (that docker anyway). The problem is with libs though. When I disregard that little bit (about unrecognized service) and I set LD_LIBRARY_PATH via export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/emby-server/lib/:/opt/emby-server/lib/samba/:/usr/lib/x86_64-linux-gnu/ then I am able to both launch emby and ffmpeg in the container. I am even able to transcode video in the container via, e.g. /opt/emby-server/bin/ffmpeg -y -hide_banner -hwaccel cuvid -c:v h264_cuvid -i jellyfish-100-mbps-hd-h264.mkv -vcodec hevc_nvenc out.mp4 and HW acceleration is working. The one bit that doesn't work is transcoding in emby. I get there the following error (similar to previous ones): /bin/ffmpeg -ss 00:30:12.000 -c:v h264_cuvid -resize 638x268 -i file:"/mnt/share1/movies/movie.mp4" -threads 7 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_nvenc -pix_fmt yuv420p -preset default -b:v 906376 -maxrate 906376 -bufsize 1812752 -profile:v high -forced-idr 1 -force_key_frames "expr:if(isnan(prev_forced_t),eq(t,t),gte(t,prev_forced_t+3))" -copyts -vsync -1 -codec:a:0 copy -f segment -max_delay 5000000 -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 -start_at_zero -segment_time 3 -segment_time_delta -1812 -individual_header_trailer 0 -segment_format mpegts -segment_list_type m3u8 -segment_start_number 604 -segment_list "/config/transcoding-temp/2db8c0859098ec76ffb32805495c8aaa.m3u8" -y "/config/transcoding-temp/2db8c0859098ec76ffb32805495c8aaa%d.ts" ffmpeg version 4.0.1 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 --cxx=x86_64-pc-linux-gnu-g++ --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-nvenc --enable-vaapi --enable-cross-compile --cross-prefix=x86_64-pc-linux-gnu- --extra-libs='-ldl -lexpat -lfreetype -lfribidi -lfontconfig -liconv -lpng -luuid -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 -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 -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 ffmpeg version 4.0.1 Copyright (c) 2000-2018 the FFmpeg developers libswresample 3. 1.100 / 3. 1.100 built with gcc 6.3.0 (crosstool-NG crosstool-ng-1.23.0) built with gcc 6.3.0 (crosstool-NG crosstool-ng-1.23.0) libpostproc 55. 1.100 / 55. 1.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file:/mnt/share1/movies/movie.mp4': configuration: --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --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-nvenc --enable-vaapi --enable-cross-compile --cross-prefix=x86_64-pc-linux-gnu- --extra-libs='-ldl -lexpat -lfreetype -lfribidi -lfontconfig -liconv -lpng -luuid -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 -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 -lwbclient -lwinbind-client-samba4 -ldrm' --target-os=linux --enable-shared --disable-static Metadata: libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 major_brand : isom libavformat 58. 12.100 / 58. 12.100 minor_version : 1 compatible_brands: isomavc1 compatible_brands: isomavc1 libavdevice 58. 3.100 / 58. 3.100 creation_time : 2015-08-05T11:23:55.000000Z libavfilter 7. 16.100 / 7. 16.100 libswscale 5. 1.100 / 5. 1.100 Duration: 01:41:36.88, start: 0.000000, bitrate: 2312 kb/s libswresample 3. 1.100 / 3. 1.100 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/unknown), 1920x808 [SAR 1:1 DAR 240:101], 2215 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default) libpostproc 55. 1.100 / 55. 1.100 Metadata: creation_time : 2015-08-05T11:23:55.000000Z Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file:/mnt/share1/movies/movie.mp4': handler_name : video.264#trackID=1:fps=24 - Imported with GPAC 0.5.0-rev Metadata: Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 93 kb/s (default) major_brand : isom minor_version : 1 minor_version : 1 Metadata: compatible_brands: isomavc1 creation_time : 2015-08-05T11:24:04.000000Z handler_name : GPAC ISO Audio Handler creation_time : 2015-08-05T11:23:55.000000Z Duration: 01:41:36.88, start: 0.000000, bitrate: 2312 kb/s [h264_cuvid @ 0xe5ed40] Cannot load libnvcuvid.so.1 [h264_cuvid @ 0xe5ed40] Failed loading nvcuvid. [h264_cuvid @ 0xe5ed40] Failed loading nvcuvid. Any ideas? Edited August 14, 2018 by pmalek
alucryd 315 Posted August 18, 2018 Posted August 18, 2018 @@pmalek emby is setting its own LD_LIBRARY_PATH, you need to edit /opt/emby-server/bin/emby-server. 1
pmalek 0 Posted August 18, 2018 Posted August 18, 2018 @@pmalek emby is setting its own LD_LIBRARY_PATH, you need to edit /opt/emby-server/bin/emby-server. Of course! I haven't noticed that /opt/emby-server/bin/emby-server is a script not a binary : ) Thanks @@alucryd So in the end I managed to write the following Dockerfile to build my emby image: FROM alpine:latest AS builder RUN apk update \ && apk add wget ca-certificates \ && wget --progress=bar:force -O /emby.deb \ https://github.com/MediaBrowser/Emby.Releases/releases/download/3.6.0.2/emby-server-deb_3.6.0.2_amd64.deb FROM nvidia/video-codec-sdk:8.2-ubuntu18.04 COPY --from=builder /emby.deb /emby.deb RUN (dpkg -i /emby.deb ; true) \ && sed -i '/LD_LIBRARY_PATH/c\export LD_LIBRARY_PATH=$APP_DIR\/lib:$APP_DIR\/lib\/samba:\/usr\/lib\/x86_64-linux-gnu\/' \ /opt/emby-server/bin/emby-server and I run it as such #!/bin/bash exec nvidia-docker run \ -d \ --restart unless-stopped \ --tmpfs /var/lib/emby/transcoding-temp \ --volume /SOME_CONFIG_PATH/docker/emby/:/var/lib/emby/ \ --volume /SOME_MEDIA_PATH/:/mnt/share1 \ --device /dev/nvidia0 \ --publish 8096:8096 \ --publish 8920:8920 \ --env UID=1000 \ --env GID=1000 \ --env GIDLIST=1000,100,44 \ --env NVIDIA_DRIVER_CAPABILITIES=compute,video,utility \ --name emby \ emby_mine /opt/emby-server/bin/emby-server and it works. Only 2 more questions/issues though: where can I find a list of EmbyServer command line params? I can in /opt/emby-serve/bin/emby-server exec $APP_DIR/system/EmbyServer \ -programdata $EMBY_DATA \ -ffmpeg $APP_DIR/bin/ffmpeg \ -ffprobe $APP_DIR/bin/ffprobe \ -restartexitcode 3 \ -updatepackage 'emby-server-deb_{version}_amd64.deb' but I don't know where can I find a "help" for that. I pass in tmpfs to docker as such "--tmpfs /var/lib/emby/transcoding-temp" but it seems that although it's mounted as tmpfs correctly mount | grep transc tmpfs on /var/lib/emby/transcoding-temp type tmpfs (rw,nosuid,nodev,noexec,relatime) I can still observe my SSD activity when a movie is being transcoded. Someone had a similar issue?
Luke 42077 Posted August 18, 2018 Author Posted August 18, 2018 Where did you get the tempfs param? That's not related to transcoding temporary files.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now