本帖最后由 Leiseya 于 2020-3-30 20:15 编辑
对于进行all in one的机器在观看视频时,如果不能硬解就可能会导致cpu占用100%,影响其他功能的使用,这时就应该使用硬解降低cpu占用。
目前linux平台,jellyfin/emby/plex硬件转码设置目前转码技术有QSV,NVENC,AMF,VAAPI 四种
intel显卡:/dev/dri/renderD128 #查看转码支持
目前论坛docker安装jellyfin的教程http://www.u-share.cn/thread-192764-1-1.html
nvidia显卡:lspci | grep VGA #查看转码支持 (支持docker)
更新主机,这样就不会有过时的软件引起问题的机会。 apt-get update && apt-get dist-upgrade -y安装curl,它将用于下载所需的文件。 apt-get install curl编辑sources.list在/etc/apt/sources.list和ADD non-free contrib根据需要每个源。 deb http://ftp.ch.debian.org/debian/ stretch main上面的行应进行修改以匹配下面的行作为示例。 deb http://ftp.ch.debian.org/debian/ stretch main non-free contrib下载并添加Nvidia docker容器的源。 curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key adddistribution=$(. /etc/os-release;echo $ID$VERSION_ID)curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list再次更新软件包列表,以从新存储库下载可用的最新软件。 apt-get update安装linux-headers并运行以下命令。 apt-get install linux-headers-$(uname -r | sed 's/[^-]*-[^-]*-//')或者,如果您出于兼容性考虑,则运行此命令。 apt-get install -t stretch-backports linux-headers-$(uname -r | sed 's/[^-]*-[^-]*-//')从存储库安装Nvidia docker2。 apt-get install nvidia-docker2当提示您选择保留或安装维护程序包文件类型y以安装维护程序版本时。 安装后,您可能需要将nvidia添加为默认运行时:/etc/docker/daemon.json像这样编辑: { "default-runtime": "nvidia", "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }}重新启动当前正在运行的所有docker服务。 sudo pkill -SIGHUP docker安装nvidia驱动程序和依赖项。 apt-get install -t stretch-backports nvidia-driver libnvcuvid1 libnvidia-encode1 libcuda1 nvidia-smi重新启动主机以应用所有更改。 reboot now验证是否已通过此驱动程序测试正确设置了驱动程序和泊坞窗。 nvidia-smidocker run --gpus 0 nvidia/cuda:9.0-base nvidia-smi验证对主机和泊坞窗所需资源的访问权限。 ldconfig -p | grep cuvidldconfig -p | grep libnvidia-encode.so.1启动您的容器,添加这些环境参数。 -e "NVIDIA_DRIVER_CAPABILITIES=all" \-e NVIDIA_VISIBLE_DEVICES=all \--runtime=nvidia \--gpus all \完整的运行命令如下所示。 docker run -d \ --name=jellyfin \ -e NVIDIA_DRIVER_CAPABILITIES=all \ -e NVIDIA_VISIBLE_DEVICES=all \ --gpus all \ --runtime=nvidia \ -p 8096:8096 \ -p 8920:8920 \ -v /config:/config \ -v /media:/media \ -v /cache:/cache \ --restart unless-stopped \ jellyfin/jellyfin使用以下选项运行时,有一些特殊步骤。 --user 1000:1000您可能需要将此用户添加到视频组。 usermod -aG video user启动容器后,您可以再次验证对主机资源的访问。 docker exec -it jellyfin ldconfig -p | grep cuviddocker exec -it jellyfin ldconfig -p | grep libnvidia-encode.so.1现在进入Jellyfin播放设置,启用Nvidia NVENC并根据您的GPU支持尝试播放需要转码的任何文件来选择目标编解码器。更改比特率是尝试此操作的好方法。 检查转码日志,以确保一切正常。 Stream #0:0 -> #0:0 (h264 (h264_cuvid) -> h264 (h264_nvenc))Stream #0:2 -> #0:1 (ac3 (native) -> aac (native))
amd显卡:不能通过docker进行硬件加速,能通过https://github.com/GPUOpen-LibrariesAndSDKs/AMF进行安装。
就个人观点来说,建议通过docker来实现各种功能,其比较简单且易于备份和转移。
目前大热的j3455 是apollo lake
 


|