收起左侧

docker 安装 Jellyfin 遇到的一些坑

3
回复
2019
查看
[ 复制链接 ]

0

主题

3

回帖

0

牛值

江湖小虾

2025-4-27 12:13:07 显示全部楼层 阅读模式

尽管飞牛影视刮削速度快、识别率高,但对于像我这种有科学网络环境、且已经有按 Jellyfin 对文件进行命名习惯的用户来说并不算优势了。而且由于飞牛影视的播放功能还算不上完美(跳过片头片尾,说的就是你!),因此还是用 Jellyfin 比较舒服。

网络问题

由于需要配置科学网络环境,因此这里是用 docker 部署的。当然也可以改 hosts,但不能一劳永逸。

方法一:http_proxy 环境变量

如果在内网中已经在某主机上配置过了 http 代理服务(e.g. windows 上开的可局域网共享的代理软件也行),则可以在 docker compose 项目中指定环境变量 http_proxy 来上网,这是比较简单的方案了。e.g. docker-compose.yml 文件如下

services:
    jellyfin:
        image: 'jellyfin/jellyfin:latest'
        devices:
            - '/dev/dri:/dev/dri'
        volumes:
            - '/vol1/1000/media_center:/media_resources'
            - '/vol1/1000/virtual_machines/jellyfin/config:/config'
            - '/vol1/1000/virtual_machines/jellyfin/cache:/cache'
        privileged: true
        restart: always
        ports:
            - '8096:8096'
        container_name: jellyfin
        environment:
            - http_proxy=http://192.168.1.24:10809
            - https_proxy=http://192.168.1.24:10809
            - no_proxy=127.0.0.1,localhost

方法二:macvlan 指定科学网关

这种方案适合配置好旁路由等科学网关的情况,可以更全面地上网。且该方案可以使容器拥有独立 ip,有些情况下还是比较有用的。

  1. macvlan 要求网卡开启混杂模式(如果网卡开启过 ovs,要选带 ovs 的那个)
    sudo ip link set enp5s0-ovs promisc on
    
  2. 创建 macvlan 网络,命名为 openwrt,假设科学网关的 ip 为 192.168.1.24
    sudo docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.24 -o parent=enp5s0-ovs openwrt
    
  3. docker-compose.yml 中指定使用 openwrt 网络,且必须指定 dns 也为科学网关。如果这个漏了,容器内的 dns 解析依然会有问题
    services:
        jellyfin:
            image: 'jellyfin/jellyfin:latest'
            devices:
                - '/dev/dri:/dev/dri'
            volumes:
                - '/vol1/1000/media_center:/media_resources'
                - '/vol1/1000/virtual_machines/jellyfin/config:/config'
                - '/vol1/1000/virtual_machines/jellyfin/cache:/cache'
            privileged: true
            restart: always
            dns: 192.168.1.24
            ports:
                - '8096:8096'
            networks:
                openwrt:
                    ipv4_address: 192.168.1.22
            container_name: jellyfin
    networks:
        openwrt:
            external: true
            name: openwrt
    
  4. 通过以上方法整完后,可以在容器终端内进行验证
    curl -v https://api.themoviedb.org
    

屏幕截图2025-04-27113513.png

这种是成功的

屏幕截图2025-04-27113607.png

这种是失败的

屏幕截图2025-04-27113726.png

硬解问题

  1. 首先,容器创建时要设置高权限运行
    privileged: true
    
  2. 另外,硬件地址可以从容器终端中进行查询。我这里两个分别是核显和独显。(最后我用的 intel 核显进行加速,据官方说效果更好

image.png

  1. 如果还遇到硬解失败的问题,可以尝试通用的开源驱动 Video Acceleration API (VAAPI),比如我的 AMD 显卡(RX560)用 AMD AMF 反而驱动不了,会报错

屏幕截图2025-04-27115421.png

中文字体支持

可以参考这篇教程

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

0

主题

2

回帖

0

牛值

江湖小虾

2025-4-28 12:02:51 显示全部楼层

前排提示下,优先使用方案一为佳,方案二macvlan会影响mp这类插件的使用;macvlan网络下与宿主机的容器互通有影响,虽然也有解决方案写脚本并赋权开机自启。

凡人皆有一死,凡人皆需侍奉!

0

主题

2

回帖

0

牛值

江湖小虾

2025-5-22 12:54:58 显示全部楼层

学习了,回复支持~~~~

[img]https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif[/img]

1

主题

13

回帖

0

牛值

江湖小虾

2025-5-30 15:17:26 显示全部楼层

感觉使用上还是不完美,我现在遇到两个问题:1、TV端jellyfin播放有的格式没有声音 2、刮削不如飞牛,相同命名的影视文件,飞牛影视能刮削,TMDB就刮不出来,需要修改文件名才能匹配。 有点也有很多,影视墙美观度比飞牛好,视频播放解码速度也快,能直接播放strm文件。但是目前还是使用飞牛多一点,稳定

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则