home server 篇七:多媒体服务器 jellyfin

2022-08-23 16:39:35 6点赞 33收藏 6评论

我知道jellyfin是多媒体服务器,但是这篇的关注点是视频播放,还有安全。

吐槽

关于jellyfin我就不用介绍了吧,多媒体服务器 jellyfin 毕竟站里已经推了很多次了。我相信有一堆人只是看了站内的推文,然后根本没去官网看过,多媒体服务器 jellyfin 因为我也这样。但是在虚拟机的docker里jellyfin没法硬解,迫使我不得不去官网看一堆英文,多媒体服务器 jellyfin 然后看完后我并没有找到答案,去gayhub倒是找到了:硬解必须得调用真的显卡,要不然在物理机上调用,要不然在虚拟机里就要直通给它,没其它方法了。但是我的ubuntu在win11的vmware里,多媒体服务器 jellyfin 显然我没法在这台电脑上让ubuntu的docker里的jellyfin硬解了。所以我在笔记本里直装ubuntu进行了试验,然后成功的在物理机的ubuntu的docker里让jellyfin硬解了,好拗口啊。所以为什么不在win11上直接装jellyfin,问得好,因为等我买了新硬盘再把数据拷进去后,这台电脑将会直接装linux,至于要用哪个分行我还没决定,现在把硬解问题解决了以后就方便了,要不然等我装好linux后不能硬解就尴尬了,还有win11每周都要打补丁再重启实在太烦了。

硬件要求

先说说硬件要求,很简单,只要能支持h265就行,毕竟网上载的资源要不然是h264(avc)要不然就是h265(hevc),所以如果用酷睿至少要7代。要到11代才支持av1。

多媒体服务器 jellyfin

多媒体服务器 jellyfin

所以你们懂在jellyfin里为什么这样选了吧。

多媒体服务器 jellyfin

软件要求

然后是软件要求,多媒体服务器 jellyfin 我知道大家喜欢用浏览器直接播放的。Jellyfin支持4种转码,分别是:

多媒体服务器 jellyfin

抱歉啊,多媒体服务器 jellyfin 我懒的翻译 。看这图就知道了,Direct Play对服务器的要求最小,所以视频点开就立即播放,感觉不到延迟。Transcode对服务器的要求最大,所以视频点开会感觉到延迟,不过延迟可以靠cpu性能降低。如果没有硬解那是真的慢,我试过。至于h264 10bit的视频,就不要载了,没人支持。多媒体服务器 jellyfin

多媒体服务器 jellyfin

多媒体服务器 jellyfin

多媒体服务器 jellyfin

我试过播放h265 10bit的视频,就算服务器端支持硬解,但是在浏览器端播放时还是转码了。所以为了最好的用浏览器在线观看体验,我推荐大家载h264 8bit的视频。

关于储存也是有要求的。不能把硬盘全塞满了。我知道大佬们一个视频五六十G的。

多媒体服务器 jellyfin

安装

现在开始安装。在traefik那篇好多人吐槽yaml啊,为了让你们不在这篇吐槽,我决定写个超长的docker-compose。记得把!换成空格。多媒体服务器 jellyfin

version: "3"
networks:
!!traefik_proxy:
!!!!external: true
services:
!!jellyfin:
!!!!image: nyanmisaka/jellyfin:latest
!!!!container_name: jellyfin
!!!!volumes:
!!!!!!- /home/用户名/docker/jellyfin/config:/config
!!!!!!- /home/用户名/docker/jellyfin/cache:/cache
!!!!!!- /home/用户名/docker/jellyfin/log:/var/log/jellyfin
!!!!!!- $PWD/media:/media
!!!!networks:
!!!!!!- traefik_proxy:
!!!!!!!!!!ipv4_address: 172.20.0.6
!!!!ports:
!!!!!!- 8096:8096 #Http webUI
!!!! # - 7359:7359/udp #Allows clients to discover Jellyfin on the local network
!!!! # - 1900:1900/udp #Service discovery used by DNLA and clients
!!!!group_add: #see /etc/group
!!!!!!- 107 #render
!!!!!!- 44 #video
!!!!!!- 109 #input
!!!!devices:
!!!!!!- /dev/dri/renderD128:/dev/dri/renderD128
!!!!!!- /dev/dri/card0:/dev/dri/card0
!!!!restart: unless-stopped
!!!!environment:
!!!!!!- TZ=Asia/Shanghai
!!!!!!- PUID=1000
!!!!!!- PGID=1000
!!!!!!- JELLYFIN_LOG_DIR=/var/log/jellyfin
!!!!# - JELLYFIN_PublishedServerUrl=192.168.0.130 #Set the autodiscovery response domain or IP address
!!!!labels:
!!!!!!- traefik.enable=true
!!!!!!- traefik.http.routers.jellyfin-http.entrypoints=web
!!!!!!- traefik.http.routers.jellyfin-http.rule=Host(`jellyfin.子域名.duckdns.org`)
!!!!!!- traefik.http.routers.jellyfin-http.middlewares=https-redirectscheme@file
!!!!!!- traefik.http.routers.jellyfin-https.entrypoints=websecure, public
!!!!!!- traefik.http.routers.jellyfin-https.rule=Host(`jellyfin.子域名.duckdns.org`)
!!!!!!- traefik.http.routers.jellyfin-https.tls=true
!!!!!!- traefik.http.services.jellyfin-https.loadbalancer.server.port=8096
!!!!!!- traefik.http.services.jellyfin-https.loadBalancer.passHostHeader=true
!!!!!!- traefik.http.routers.jellyfin-https.middlewares=secured
!!!!!!- traefik.http.middlewares.secured.chain.middlewares=crowdsec-bouncer@file,jellyfin-mw
!!!!!!- traefik.http.middlewares.jellyfin-mw.headers.customResponseHeaders.X-Robots-Tag=noindex,nofollow,nosnippet,noarchive,notranslate,noimageindex
!!!!!!- traefik.http.middlewares.jellyfin-mw.headers.SSLRedirect=true
!!!!!!- traefik.http.middlewares.jellyfin-mw.headers.SSLForceHost=true
!!!!!!- traefik.http.middlewares.jellyfin-mw.headers.STSSeconds=315360000
!!!!!!- traefik.http.middlewares.jellyfin-mw.headers.STSIncludeSubdomains=true
!!!!!!- traefik.http.middlewares.jellyfin-mw.headers.STSPreload=true
!!!!!!- traefik.http.middlewares.jellyfin-mw.headers.forceSTSHeader=true
!!!!!!- traefik.http.middlewares.jellyfin-mw.headers.frameDeny=true
!!!!!!- traefik.http.middlewares.jellyfin-mw.headers.contentTypeNosniff=true
!!!!!!- traefik.http.middlewares.jellyfin-mw.headers.browserXSSFilter=true
!!!!!!- traefik.http.middlewares.jellyfin-mw.headers.customFrameOptionsValue=SAMEORIGIN

壮观吧,为了够长,连header都补上了。

安全

关于Fail2ban,官网写的很清楚,我改了改就搬运过来了,/var/log/jellyfin是放日志的地方。

jail.d/jellyfin.local

[jellyfin]
enabled = true
banaction = nftables-forward
bantime = 86400
findtime = 43200
port = 80,443,666
filter = jellyfin
logpath = /var/log/jellyfin/*.log
maxretry = 5
backend = auto
protocol = tcp

filter.d/jellyfin.conf

[Definition]
failregex = ^.*Authentication request for ".*" has been denied (IP: "<ADDR>")

然后在fail2ban的docker-compose的volume里加这行:

- /home/用户名/docker/jellyfin/log:/var/log/jellyfin:ro

然后我故意输错密码,把我自己给ban了,在内网被ban没什么鸟用,所以我在外网把自己ban了,然后我真的无法访问服务器了。这只是内网的,我没兴趣暴露我的公网ip。多媒体服务器 jellyfin

多媒体服务器 jellyfin

嗯,我还没看过crowdsec官网,所以不会写,我也不知道什么时候会去看,一想到要看一堆英语就头疼。多媒体服务器 jellyfin 在外网测试时忘记把crowdsec的mw关了,但是它没起作用,应该是没设置好的原因,不过我应该被加进crowdsec黑名单了。

其它

关于硬解,devices是必须的,ubuntu还需要render group,我试过什么都不加,硬解不了hevc,加个video,可以硬解hevc但是没声音,再加render,一切正常。然后我确认了,这些id不是固定的,需要看/etc/group。

关于DNLA,这东西挺危险的,在win里,不用密码都能在网络里直接访问所有文件,还是关了的好,所以有关配置前我都加了#。而且在docker里,广播只能传到172.20.0.0,要用的话还得用host模式,或者macvlan。

关于文件的放置,具体上官网看:

多媒体服务器 jellyfin

多媒体服务器 jellyfin

剩下的在这里看吧,他写的挺详细的:

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

268元起

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

159元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

106元起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

308元起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

106元起

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

279元起

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

279元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

189元起

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

249元起

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

676.4元起

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

暂无报价

国行版 Switch体感游戏套装 《健身环大冒险》

国行版 Switch体感游戏套装 《健身环大冒险》

439元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

59.85元起

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

1288元起

Microsoft 微软 office365家庭版15个月 203元

Microsoft 微软 office365家庭版15个月 203元

198元起

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

234元起
6评论

  • 精彩
  • 最新
  • win11可以禁更新,官方最长可以禁4周,第三方可以一直禁

    校验提示文案

    提交
    你搞错了重点,我是需要用Linux当底层。win的更新只是我的吐槽 [观察]

    校验提示文案

    提交
    收起所有回复
  • 由于宽带上传速度的限制,我就设置外网访问最高480p播放H264硬解。
    双核cpu就这样运行了2年多,等志强1268L再便宜点考虑升级吧
    现在jellyfin搜刮已经够用了,只要网络不受限基本片名改成原版名称照样自动匹配海报简介演员。

    校验提示文案

    提交
  • 装过emby再装jellyfin想死 [皱眉] 都是8096端口,必须ssh登陆关闭emby残留进程才能打开jellyfin网页

    校验提示文案

    提交
    可以把emby的端口改了,记得在设置里就可以改。

    校验提示文案

    提交
    装了防火墙把之前的进程杀了就搞定了;最后还是换回了emby

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
33
扫一下,分享更方便,购买更轻松