【jellyfin docker部署】

embedded/2025/1/25 2:56:35/

jellyfin docker部署

  • docker安装
    • 将设备映射到 Docker 容器
    • jellyfin容器内置ffmpeg
    • FFmpeg硬件设备初始化
    • 转码设置

docker_1">docker安装

sudo docker run -d \--privileged \--name=jellyfin \--volume /opt/1panel/apps/jellyfin/config:/config \--volume /media/devmon/新加卷/jellyfin/cache:/cache \--volume /media/devmon/新加卷/media:/media \--volume /media/devmon/新加卷/jellyfin/fonts:/usr/share/fonts/truetype/dejavu \--user root \--publish 8096:8096 \--publish 8920:8920 \--restart=unless-stopped \--device /dev/dri:/dev/dri \--device /dev/dma_heap:/dev/dma_heap \--device /dev/mali0:/dev/mali0 \--device /dev/rga:/dev/rga \--device /dev/mpp_service:/dev/mpp_service \$(for dev in dma_heap mali0 iep mpp-service vpu_service vpu-service \hevc_service hevc-service rkvdec rkvenc vepu h265e; do \[ -e "/dev/$dev" ] && echo "--device=/dev/$dev"; \done) \jellyfin/jellyfin

将设备映射到 Docker 容器

设备名称说明用途
/dev/driDirect Rendering Interface,提供 GPU 的直接渲染接口。GPU 硬件加速,常用于 VA-API 或 DRM 驱动的图形渲染和视频解码。
/dev/dma_heap动态内存分配堆,常用于视频帧缓冲区等内存密集型操作。帧缓冲区管理、共享内存等。
/dev/mali0Mali GPU 设备接口(用于 ARM Mali 系列 GPU)。图形处理、OpenCL 加速。
/dev/rgaRockchip 的 RGA(Raster Graphic Acceleration)硬件加速器。图像缩放、旋转、颜色空间转换等操作。
/dev/mpp_serviceMedia Process Platform (MPP) 的主要控制接口。用于硬件视频编解码服务。

这些设备用于 GPU 和 VPU 的硬件加速,Jellyfin 在使用 FFmpeg 处理视频时会利用它们

jellyfin容器内置ffmpeg

在这里插入图片描述

FFmpeg硬件设备初始化

/usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device rkmpp=rk -init_hw_device opencl=ocl@rkffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developersbuilt with gcc 12 (Debian 12.2.0-14)configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=arm64 --cross-prefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrgalibavutil      59.  8.100 / 59.  8.100libavcodec     61.  3.100 / 61.  3.100libavformat    61.  1.100 / 61.  1.100libavdevice    61.  1.100 / 61.  1.100libavfilter    10.  1.100 / 10.  1.100libswscale      8.  1.100 /  8.  1.100libswresample   5.  1.100 /  5.  1.100libpostproc    58.  1.100 / 58.  1.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'rkmpp=rk'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'opencl=ocl@rk'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Applying option init_hw_device (initialise hardware device) with argument rkmpp=rk.
Applying option init_hw_device (initialise hardware device) with argument opencl=ocl@rk.
arm_release_ver: g13p0-01eac0, rk_so_ver: 10
[AVHWDeviceContext @ 0x559de810d0] 1 OpenCL platforms found.
[AVHWDeviceContext @ 0x559de810d0] 1 OpenCL devices found on platform "ARM Platform".
[AVHWDeviceContext @ 0x559de810d0] 0.0: ARM Platform / Mali-G610 r0p0
[AVHWDeviceContext @ 0x559de810d0] cl_arm_import_memory found as platform extension.
[AVHWDeviceContext @ 0x559de810d0] cl_khr_image2d_from_buffer found as platform extension.
[AVHWDeviceContext @ 0x559de810d0] DRM to OpenCL mapping on ARM function found (clImportMemoryARM).
Successfully parsed a group of options.
Universal media converter
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...Use -h to get full help or, even better, run 'man ffmpeg'

在这里插入图片描述

转码设置

在这里插入图片描述

文章来源:https://blog.csdn.net/m0_52150489/article/details/145064499
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/embedded/153997.html

相关文章

大模型技术与应用:从幻觉到蒸馏,全面解析

1. 什么是大模型幻觉? 大模型幻觉(Hallucinations of large models)指的是模型生成的内容与现实世界事实或用户输入不一致的现象。这种现象通常表现为: 错误的事实:生成的内容包含虚假、过时或不准确的信息。无中生有…

JavaEE之定时器及自我实现

在生活当中,有很多事情,我们不是立马就去做,而是在规定了时间之后,在到该时间时,再去执行,比如:闹钟、定时关机等等,在程序的世界中,有些代码也不是立刻执行,…

过滤器模式

过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式…

PHP Filesystem

《PHP Filesystem》是一组允许您访问和操作文件系统的函数,是PHP核心的一部分。您无需安装即可使用这些函数。Filesystem函数的行为受到php.ini中设置的影响,包括选项如allowurlfopen、useragent、defaultsockettimeout等。这些函数在Unix和Windows平台上…

Excel多层嵌套IF条件写法

Excel多层嵌套IF条件的实现方法 需求如下 利润 > 35% 卖价 成本 *&#xff08;1-毛利0.15&#xff09;利润 < 35% 并 >0.34 卖价 成本 *&#xff08;1-毛利0.14&#xff09;利润 < 34% 并 >0.33 卖价 成本 *&#xff08;1-毛利0.13&#xff09;利润 < 33% …

Python----Python基础(字符串,列表,元组,字典,集合的总结)

一、字符串 str&#xff0c;基本用法&#xff1a;拼接&#xff0c;复制&#xff0c;长度&#xff0c;索引&#xff0c;切片&#xff0c;查找&#xff0c;替换&#xff0c;大小写转化&#xff0c;去除空格&#xff0c;填充&#xff0c;分割&#xff0c;判断&#xff0c;可变字符…

用python编写一个放烟花的小程序

import pygame import random # 代码解释及使用说明&#xff1a; # 首先&#xff0c;导入 pygame 和 random 库。pygame 用于创建游戏窗口和图形绘制&#xff0c;random 用于生成随机数。 # 初始化 pygame&#xff0c;并设置屏幕尺寸为 800x600 像素&#xff0c;设置窗口标题为…

ubuntu20.04安装MySQL5.7

deb安装 下载deb文件并配置 wget https://repo.mysql.com//mysql-apt-config_0.8.12-1_all.deb sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb我使用xshell可以正常。 这个弹出框里&#xff0c;选择的是“ubuntu bionic”。(在终端工具上&#xff0c;有可能显示不了选项)【…