Jay
Jay

Jellyfin+Xteve+Pureftpd+Transmisson+Aira2 基于PVE LXC虚拟化的家庭媒体中心搭建

Jellyfin+Xteve+Pureftpd+Transmisson+Aira2 基于PVE LXC虚拟化的家庭媒体中心搭建

NAS上存的电影、电视剧、纪录片等资料以海报墙的形式展示,这个很容易实现,并且功能与PLEX、Emby类似。Jellyfin的优点是可以(白嫖)硬件转码。如果是PLEX需要PLEX PASS会员,Emby需要Emby Premiere会员。而Jellyfin完全免费。

通过与xteve的搭配,完美实现局域网内IPTV播放(这里指的是与jellyfin配合,当然也可直接使用openwrt的udpxy实现)。

环境方面我们选择debian10(PVE模板),之所以使用lxc,一是因为cpu不支持vt-d(穷),二是pve可以把显卡映射到lxc容器中,lxc容器拥有着和宿主机差不多的性能(?未实际测试)。

https://blog.jay6.tech/wp-content/uploads/2020/06/image-1024x376.png
你没看错,双核4G的小主机(留下了贫穷的泪水)

在PVE上咱不止跑一个debian,咱还想打点零工,跑跑CDN。当然这样的结果就是IO爆炸,yysy,我觉得体验还行,除了扫描媒体库卡点。一天两块,交个电费够了。

1. 配置CT渲染设备节点,开启硬件加速

默认情况下.LXC并不会自动映射dev目录下的设备节点文件.所以我们首先需要修改配置文件,使LXC自动映射dev下的设备文件.
首先我们需要在host(pve) shell中确认一下host设备文件的情况,标红的参数我们需要用到:

ls -l /dev/dri/

https://blog.jay6.tech/wp-content/uploads/2020/06/image-1.png

修改LXC的配置文件,路径为/etc/pve/lxc/{你的CT ID}.conf.

将以下内容添加到文件末尾(将对应的设备id,容器id替换成自己的,设备id就是上方划线部分):

lxc.cgroup.devices.allow = c 226:0 rwm
lxc.cgroup.devices.allow = c 226:128 rwm
lxc.autodev: 1
lxc.hook.autodev:/var/lib/lxc/容器ID/render_device_hook.sh 

CT启动的时候,会执行lxc.hook.autodev里的内容,我们需要手动创建对应的节点文件
还是一样,使用编辑器创建并打开脚本文件:

vim /var/lib/lxc/容器ID/render_device_hook.sh

将以下内容添加到文件中(一样,还是要替换成自己的设备id):

mkdir -p ${LXC_ROOTFS_MOUNT}/dev/dri
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/card0 c 226 0
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/renderD128 c 226 128

设置文件权限

chmod 755 /var/lib/lxc/容器ID/render_device_hook.sh

现在可以启动CT, 启动后,我们还需要在CT里安装VA的驱动文件,以下命令均在CT内执行:

apt-get install i965-va-driver
apt-get install vainfo

安装完成后执行vainfo命令,如果打印如下类似信息就表明硬件转码已经可用了:

https://blog.jay6.tech/wp-content/uploads/2020/06/image-2.png

2.在debian中安装docker compose

curl -sSL https://get.daocloud.io/docker | sh
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

3.编写docker-compose.yml

version: "3"
services:
  filebrowser:
    image: wahyd4/aria2-ui:latest
    container_name: filebrowser
    ports:
      - "端口:80"
      - "端口:443"
    volumes:
      - 目录:/data
    environment:
      - PUID=1000
      - PGID=1000
    restart: unless-stopped
  xteve:
    image: alturismo/xteve
    container_name: xteve
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - 目录:/config
      - 目录:/guide2go
      - 目录:/root/.xteve
    ports:
      - 端口:34400
    restart: unless-stopped
  
  ftp:
    image: stilliard/pure-ftpd
    container_name: ftp
    environment:
      - PUID=1000
      - PGID=1000
      - PASV_ADDRESS=IP地址
      - FTP_USER_NAME=用户名
      - FTP_USER_PASS=密码
      - FTP_USER_UID=1000
      - FTP_USER_GID=1000
      - FTP_USER_HOME=目录
      - FTP_MAX_CONNECTIONS=100
    volumes: 
      - 目录:/home/jay
    ports:
      - "端口:21"
      - "30000-30009:30000-30009"
    restart: unless-stopped

  jellyfin:
    image: linuxserver/jellyfin
    container_name: jellyfin
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - UMASK_SET=022 #optional
    devices: 
      - /dev/dri/renderD128:/dev/dri/renderD128
    volumes:
      - 目录:/config
      - 目录:/data/tvshows
      - 目录:/data/movies
      - 目录:/transcode
    ports:
      - 8096:8096
    devices:
       - /dev/dri:/dev/dri
    restart: unless-stopped
  transmisson: 
    image: linuxserver/transmission
    container_name: tr
    environment:
      - PUID=1000
      - PGID=1000
      - TRANSMISSION_WEB_HOME=/combustion-release/
    volumes:
      - 目录:/config
      - 目录:/downloads
      - 目录:/watch
    ports:
      - 端口:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stopped

这里使用中科大镜像源加速下载, https://mirrors.ustc.edu.cn/help/dockerhub.html

另外需要在选项中打开嵌套,才能正常启动docker

https://blog.jay6.tech/wp-content/uploads/2020/06/image-3.png

4.配置Jellyfin

参考 https://post.smzdm.com/p/adwlg0pz/ ,不多说。地区中华人民共和国的英文是People's Republic of China,找不到China的话找找这个

5.配置Xteve

这里你需要一份m3u节目单,我抓包本地电信IPTV得到一份地址(已经过udpxy转换):

台州一套测试
http://192.168.2.1:4022/udp/233.50.201.157:5140
       
宁波综合高清
http://192.168.2.1:4022/udp/233.50.201.168:5140
		          
温州一套测试
http://192.168.2.1:4022/udp/233.50.201.87:5140
		          
宁波少体测试
http://192.168.2.1:4022/udp/233.50.201.167:5140
		          
宁波影视测试
http://192.168.2.1:4022/udp/233.50.201.154:5140
		          
宁波都市测试
http://192.168.2.1:4022/udp/233.50.201.153:5140
		          
宁波生活测试
http://192.168.2.1:4022/udp/233.50.201.152:5140
		          
宁波综合测试
http://192.168.2.1:4022/udp/233.50.201.151:5140
		          
杭州少儿
http://192.168.2.1:4022/udp/233.50.201.25:5140
		          
杭州影视
http://192.168.2.1:4022/udp/233.50.201.24:5140
		          
杭州生活
http://192.168.2.1:4022/udp/233.50.201.23:5140
		          
西湖明珠
http://192.168.2.1:4022/udp/233.50.201.22:5140
		          
杭州综合
http://192.168.2.1:4022/udp/233.50.201.21:5140
		          

深圳卫视高清
http://192.168.2.1:4022/udp/233.50.201.101:5140
		          
广电直播室12
http://192.168.2.1:4022/udp/233.50.201.212:5140
		          
河南卫视高清
http://192.168.2.1:4022/udp/233.50.201.144:5140
		          
江西卫视高清
http://192.168.2.1:4022/udp/233.50.201.145:5140
		          
辽宁卫视高清
http://192.168.2.1:4022/udp/233.50.201.141:5140
		          
湖北卫视高清
http://192.168.2.1:4022/udp/233.50.201.114:5140
		          
山东卫视高清
http://192.168.2.1:4022/udp/233.50.201.105:5140
		          
黑龙江卫视高清
http://192.168.2.1:4022/udp/233.50.201.115:5140
		          
河北卫视高清
http://192.168.2.1:4022/udp/233.50.201.140:5140
		          
广东卫视高清
http://192.168.2.1:4022/udp/233.50.201.102:5140
		          
东南卫视高清
http://192.168.2.1:4022/udp/233.50.201.146:5140
		          
四川卫视高清
http://192.168.2.1:4022/udp/233.50.201.139:5140
		          
重庆卫视高清
http://192.168.2.1:4022/udp/233.50.201.143:5140
		          
天津卫视高清
http://192.168.2.1:4022/udp/233.50.201.104:5140
		          
贵州卫视高清
http://192.168.2.1:4022/udp/233.50.201.142:5140
		          
安徽卫视高清
http://192.168.2.1:4022/udp/233.50.201.113:5140
		          
北京卫视高清
http://192.168.2.1:4022/udp/233.50.201.107:5140
		          
东方卫视高清
http://192.168.2.1:4022/udp/233.50.201.125:5140
		          
CCTV-14高清
http://192.168.2.1:4022/udp/233.50.201.124:5140
		          
CCTV-12高清
http://192.168.2.1:4022/udp/233.50.201.123:5140
		          
CCTV-10高清
http://192.168.2.1:4022/udp/233.50.201.122:5140
		          
CCTV-9高清
http://192.168.2.1:4022/udp/233.50.201.121:5140
		          
CCTV-8高清
http://192.168.2.1:4022/udp/233.50.201.199:5140
		          
CCTV-7高清
http://192.168.2.1:4022/udp/233.50.201.120:5140
		          
CCTV-6高清
http://192.168.2.1:4022/udp/233.50.201.198:5140
		          
CCTV-5高清
http://192.168.2.1:4022/udp/233.50.201.197:5140
		          
CCTV-3高清
http://192.168.2.1:4022/udp/233.50.201.196:5140
		          
CCTV-2高清
http://192.168.2.1:4022/udp/233.50.201.119:5140
		          
江苏卫视高清
http://192.168.2.1:4022/udp/233.50.201.106:5140
		          
湖南卫视高清
http://192.168.2.1:4022/udp/233.50.201.103:5140

浙江少儿高清
http://192.168.2.1:4022/udp/233.50.201.138:5140
		          
浙江新闻高清
http://192.168.2.1:4022/udp/233.50.201.137:5140
		          
民生休闲高清
http://192.168.2.1:4022/udp/233.50.201.136:5140
		          
影视文化高清
http://192.168.2.1:4022/udp/233.50.201.135:5140
		          
教育科技高清
http://192.168.2.1:4022/udp/233.50.201.134:5140
		          
浙江经视高清
http://192.168.2.1:4022/udp/233.50.201.133:5140
		          
钱江频道高清
http://192.168.2.1:4022/udp/233.50.201.132:5140
		          
浙江卫视高清
http://192.168.2.1:4022/udp/233.50.201.100:5140
		          
CCTV-1高清
http://192.168.2.1:4022/udp/233.50.201.118:5140
		          
新视觉高清
http://192.168.2.1:4022/udp/233.50.201.244:5140
		          
甘肃卫视
http://192.168.2.1:4022/udp/233.50.201.149:5140
		          
内蒙古卫视
http://192.168.2.1:4022/udp/233.50.201.148:5140
		          
深圳卫视
http://192.168.2.1:4022/udp/233.50.201.45:5140
		          
CETV4
http://192.168.2.1:4022/udp/233.50.201.172:5140
		          
教育1台
http://192.168.2.1:4022/udp/233.50.201.75:5140

		          
哈哈炫动
http://192.168.2.1:4022/udp/233.50.201.74:5140

金鹰卡通
http://192.168.2.1:4022/udp/233.50.201.73:5140
		          
广西卫视
http://192.168.2.1:4022/udp/233.50.201.49:5140
		          
河南卫视
http://192.168.2.1:4022/udp/233.50.201.44:5140
		          
宁夏卫视
http://192.168.2.1:4022/udp/233.50.201.57:5140
		          
山西卫视
http://192.168.2.1:4022/udp/233.50.201.51:5140
		          
兵团卫视
http://192.168.2.1:4022/udp/233.50.201.72:5140
		          
陕西卫视
http://192.168.2.1:4022/udp/233.50.201.59:5140
		          
西藏卫视
http://192.168.2.1:4022/udp/233.50.201.70:5140
		          
青海卫视
http://192.168.2.1:4022/udp/233.50.201.65:5140
		          
江西卫视
http://192.168.2.1:4022/udp/233.50.201.53:5140
		          
辽宁卫视
http://192.168.2.1:4022/udp/233.50.201.60:5140
		          
湖北卫视
http://192.168.2.1:4022/udp/233.50.201.43:5140
		          
北京卫视
http://192.168.2.1:4022/udp/233.50.201.40:5140
		          
山东卫视
http://192.168.2.1:4022/udp/233.50.201.64:5140
		          
旅游卫视
http://192.168.2.1:4022/udp/233.50.201.55:5140
		          
黑龙江卫视
http://192.168.2.1:4022/udp/233.50.201.42:5140
		          
河北卫视
http://192.168.2.1:4022/udp/233.50.201.50:5140
		          
广东卫视
http://192.168.2.1:4022/udp/233.50.201.56:5140
		          
东南卫视
http://192.168.2.1:4022/udp/233.50.201.58:5140
		          
吉林卫视
http://192.168.2.1:4022/udp/233.50.201.48:5140
		          
云南卫视
http://192.168.2.1:4022/udp/233.50.201.46:5140
		          
四川卫视
http://192.168.2.1:4022/udp/233.50.201.61:5140
		          
江苏卫视
http://192.168.2.1:4022/udp/233.50.201.41:5140
		          
重庆卫视
http://192.168.2.1:4022/udp/233.50.201.66:5140
		          
天津卫视
http://192.168.2.1:4022/udp/233.50.201.47:5140
		          
贵州卫视
http://192.168.2.1:4022/udp/233.50.201.69:5140
		          
安徽卫视
http://192.168.2.1:4022/udp/233.50.201.62:5140
		          
湖南卫视
http://192.168.2.1:4022/udp/233.50.201.52:5140
		          
东方卫视
http://192.168.2.1:4022/udp/233.50.201.68:5140
		          

		          
CGTN
http://192.168.2.1:4022/udp/233.50.201.126:5140
		          
CCTV-15
http://192.168.2.1:4022/udp/233.50.201.15:5140
		          
CCTV-13
http://192.168.2.1:4022/udp/233.50.201.13:5140
		          
CCTV-12
http://192.168.2.1:4022/udp/233.50.201.12:5140
		          
CCTV-11
http://192.168.2.1:4022/udp/233.50.201.11:5140
		          
CCTV-10
http://192.168.2.1:4022/udp/233.50.201.10:5140
		          
CCTV-8
http://192.168.2.1:4022/udp/233.50.201.19:5140
		          
CCTV-7
http://192.168.2.1:4022/udp/233.50.201.7:5140
		          
CCTV-6
http://192.168.2.1:4022/udp/233.50.201.18:5140
		          
CCTV-5
http://192.168.2.1:4022/udp/233.50.201.17:5140
		          
CCTV-4
http://192.168.2.1:4022/udp/233.50.201.4:5140
		          
CCTV-3
http://192.168.2.1:4022/udp/233.50.201.16:5140
		          
CCTV-2
http://192.168.2.1:4022/udp/233.50.201.2:5140
		          
		          
CCTV-14
http://192.168.2.1:4022/udp/233.50.201.14:5140
		          
		          
浙江少儿
http://192.168.2.1:4022/udp/233.50.201.33:5140
		          
浙江新闻
http://192.168.2.1:4022/udp/233.50.201.34:5140
		          
民生休闲
http://192.168.2.1:4022/udp/233.50.201.32:5140
		          
影视文化
http://192.168.2.1:4022/udp/233.50.201.31:5140
		          
教育科技
http://192.168.2.1:4022/udp/233.50.201.30:5140
		          
浙江经视
http://192.168.2.1:4022/udp/233.50.201.29:5140
		          
钱江频道
http://192.168.2.1:4022/udp/233.50.201.28:5140
		          
浙江卫视
http://192.168.2.1:4022/udp/233.50.201.27:5140
		          
CCTV-1
http://192.168.2.1:4022/udp/233.50.201.1:5140

当然这里需要使用内网观看,关于如何破解DHCP鉴权,参考:

https://koolshare.cn/thread-149406-1-1.html

对IPTV抓包以及VLAN设置,参考:

https://github.com/luckyyyyy/blog/issues/44

节目单这里推荐 http://epg.51zmt.top:8000/ ,将上面的文件上传到这个网站就能自动生成一份带台标的标准m3u文件。

导入完节目和节目单,大概是这样:

https://blog.jay6.tech/wp-content/uploads/2020/06/image-4-1024x474.png

点击Fillters,新建分组

https://blog.jay6.tech/wp-content/uploads/2020/06/image-5-1024x414.png

https://blog.jay6.tech/wp-content/uploads/2020/06/image-6.png

点击保存

https://blog.jay6.tech/wp-content/uploads/2020/06/image-7-1024x178.png

点击Mapping,将频道和节目单映射好,绿色就可以播放了。

红色的需要自己选择默认的节目单填充(或者你自己找到别的源

就像这样

https://blog.jay6.tech/wp-content/uploads/2020/06/image-8-1024x474.png

处理完没红得就可以了,进入Jellyfin添加

https://blog.jay6.tech/wp-content/uploads/2020/06/image-9-1024x703.png

扫描完成后就有频道了

https://blog.jay6.tech/wp-content/uploads/2020/06/image-10-1024x501.png

再添加指南:

https://blog.jay6.tech/wp-content/uploads/2020/06/image-11.png

效果:

https://blog.jay6.tech/wp-content/uploads/2020/06/image-12-1024x449.png

开启硬件加速:

https://blog.jay6.tech/wp-content/uploads/2020/06/image-13-1024x690.png

关于其他电影资源。。上面安装了Aria2和Tr,自行下载并添加到媒体库即可。

附录:

1.解决PVE apt update报错

vim
/etc/apt/sources.list.d/pve-enterprise.list

注释掉

#deb
https://enterprise.proxmox.com/debian/pve stretch pve-enterprise

新建 /etc/apt/sources.list.d/pve-no-subscription.list,内容为:(需要根据你的Debian版本选择

deb
https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian buster pve-no-subscription

没有标签
首页      学习记录      Jellyfin+Xteve+Pureftpd+Transmisson+Aira2 基于PVE LXC虚拟化的家庭媒体中心搭建

发表评论

textsms
account_circle
email

Jay

Jellyfin+Xteve+Pureftpd+Transmisson+Aira2 基于PVE LXC虚拟化的家庭媒体中心搭建
NAS上存的电影、电视剧、纪录片等资料以海报墙的形式展示,这个很容易实现,并且功能与PLEX、Emby类似。Jellyfin的优点是可以(白嫖)硬件转码。如果是PLEX需要PLEX PASS会员,Emby需要Em…
扫描二维码继续阅读
2020-06-01