目前如果直接使用 115 挂载影视,会因频繁刮削而导致风控,影响观影体验,而通过 Emby STRM 302 播放的方式可以完美解决该问题。现在有很多该方案的项目,例如 CMS、medialinker 等,本文是通过配合 moviepilot 插件实现 302 播放。

Docker Compose 部署

services:
  moviepilot:
    stdin_open: true
    tty: true
    container_name: moviepilot-115
    hostname: moviepilot-115
    ports:
      - '13000:3000'
      - '13001:3001'
      - '18096:18096' # 反代后媒体服务器访问端口
    volumes:
      - '/opt/media:/media'
      - '/opt/moviepilot-115/config:/config'
      - '/opt/moviepilot-115/core:/moviepilot/.cache/ms-playwright'
      - '/var/run/docker.sock:/var/run/docker.sock:ro'
    environment:
      - 'NGINX_PORT=3000'
      - 'PORT=3001'
      - 'PUID=0'
      - 'PGID=0'
      - 'UMASK=000'
      - 'TZ=Asia/Shanghai'
      - 'SUPERUSER=admin' #超级管理员用户名
      - 'SUPERUSER_PASSWORD=123456' #超级管理员初始密码
      - 'PROXY_HOST=http://192.168.31.114:12345' #代理地址
    restart: always
    image: jxxghp/moviepilot-v2:latest

  emby:
    image: amilys/embyserver:4.9.1.90
    container_name: emby-115
    ports:
      - "8096:8096"
    environment:
      - PUID=0  
      - PGID=0
    volumes:
      - '/opt/emby-115/config:/config'
      - '/opt/media:/media'
    restart: always

docker compose up -d 启动

基本配置

Emby 配置

浏览器输入你的 IP:8096 访问 Emby,并设置账号

添加神医助手插件

下载 神医助手插件,将 StrmAssistant.dll 文件添加到 Emby 安装目录 /opt/emby-115/config/plugins 下,然后重启 Emby 容器

该版本插件基于社区版,完美适配 emby 4.9.1.90 版本,如下载地址过期可自行去 项目地址 Fork 编译下载

另推荐授权使用 官方 Pro 版本,支持最新 Emby 版本

删除计划任务

删除默认计划任务可节省服务器资源以及避免部分错误

禁止资源转码播放

因为是使用 strm 资源进行播放,需要阻止服务器对资源转码,否则设置不当会出现不兼容流的问题。

1️⃣ 在用户界面中将转码权限关闭

2️⃣ 再到转码里面先设置为否

神医助手插件设置

神医助手配置比较多,并且都是根据自己需求去设置的,这里就不一一赘述了。我这里是网盘资源并且是以刮削好的,所以只是设置了中文搜索增强、代理服务器以及演职人员增强 TMDB,可以根据 官方文档 或者 视频教程 自己去配置

Moviepilot 配置

浏览器输入你的IP:13000 访问 moviepilot

设置媒体服务器

在 moviepilot 中添加 emby 服务器,API 密钥在 emby 设置中创建

添加 115 储存

添加 115 网盘作为 moviepilot 的储存方式

设置重命名格式

设置电影重命名格式和电视剧重命名格式

电影:

{{title}}{% if year %} ({{year}}){% endif %}{% if tmdbid %} {tmdbid={{tmdbid}}}{% endif %}/{{title}}{% if year %}.{{year}}{% endif %}{% if webSource %}.{{webSource}}{% endif %}{% if edition %}.{{edition}}{% endif %}{% if part %}.{{part}}{% endif %}{% if videoFormat %}.{{videoFormat}}{% endif %}{% if videoCodec %}.{{videoCodec}}{% endif %}{% if audioCodec %}.{{audioCodec}}{% endif %}{% if customization %}-{{customization}}{% endif %}{% if releaseGroup %}-{{releaseGroup}}{% endif %}{{fileExt}}

电视剧:

{{title}}{% if year %} ({{year}}){% endif %}{% if tmdbid %} {tmdbid={{tmdbid}}}{% endif %}/Season {{(season|string).zfill(2)}}/{{title}} {{season_episode}} {{videoFormat}}{%if webSource %}.{{webSource}}{% endif %}{%if edition %}.{{edition}}{% endif %}{% if videoCodec %}.{{videoCodec}}{% endif %}{% if audioCodec %}.{{audioCodec}}{% endif %}{% if customization %}.{{customization}}{% endif %}{% if releaseGroup %}-{{ releaseGroup }}{% endif %}{{fileExt}}

添加 MoviePilot 插件

在插件市场中添加 二级分类策略Emby302反向代理115网盘Strm助手115网盘储存 这 4 个插件

二级分类策略 - 插件配置

写入配置文件并启用插件

####### 配置说明 #######
# 1. 该配置文件用于配置电影和电视剧的分类策略,配置后程序会按照配置的分类策略名称进行分类,配置文件采用yaml格式,需要严格附合语法规则
# 2. 配置文件中的一级分类名称:`movie`、`tv` 为固定名称不可修改,二级名称同时也是目录名称,会按先后顺序匹配,匹配后程序会按这个名称建立二级目录
# 3. 支持的分类条件:
#   `original_language` 语种,具体含义参考下方字典
#   `production_countries` 国家或地区(电影)、`origin_country` 国家或地区(电视剧),具体含义参考下方字典
#   `genre_ids` 内容类型,具体含义参考下方字典
#   `release_year` 发行年份,格式:YYYY,电影实际对应`release_date`字段,电视剧实际对应`first_air_date`字段,支持范围设定,如:`YYYY-YYYY`
#   themoviedb 详情API返回的其它一级字段
# 4. 配置多项条件时需要同时满足,一个条件需要匹配多个值是使用`,`分隔
# 5. !条件值表示排除该值

# 配置电影的分类策略, 配置为空或者不配置该项则不启用电影分类
movie:
  # 分类名同时也是目录名
  动画电影:
    # 匹配 genre_ids 内容类型,16是动漫
    genre_ids: '16'
  华语电影:
    # 匹配语种
    original_language: 'zh,cn,bo,za'
  演唱会:
    genre_ids: '10402'  
  # 未匹配以上条件时,分类为外语电影
  外语电影:

# 配置电视剧的分类策略
tv:
  国漫:
    # 匹配 genre_ids 内容类型,16是动漫
    genre_ids: '16'
    # 匹配 origin_country 国家,CN是中国大陆,TW是中国台湾,HK是中国香港
    origin_country: 'CN,TW,HK'
  日番:
    # 匹配 genre_ids 内容类型,16是动漫
    genre_ids: '16'
    # 匹配 origin_country 国家,JP是日本
    origin_country: 'JP'
  # 分类名同时也是目录名
  欧美漫:
    # 匹配 genre_ids 内容类型,16是动漫
    genre_ids: '16'
    # 匹配 origin_country 国家,JP是日本
    origin_country: 'US,FR,GB,DE,ES,IT,NL,PT,RU,UK'
  纪录片:
     # 匹配 genre_ids 内容类型,99是纪录片
    genre_ids: '99'
  综艺:
    # 匹配 genre_ids 内容类型,10764 10767都是综艺
    genre_ids: '10764,10767'
  国产剧:
    # 匹配 origin_country 国家,CN是中国大陆,TW是中国台湾,HK是中国香港
    origin_country: 'CN,TW,HK'
  日韩剧:
    # 匹配 origin_country 国家,主要亚洲国家列表
    origin_country: 'JP,KP,KR,TH,IN,SG'
  # 未匹配以上分类,则命名为未分类
  欧美剧:

## genre_ids 内容类型 字典,注意部分中英文是不一样的
#	28	Action
#	12	Adventure
#	16	Animation
#	35	Comedy
#	80	Crime
#	99	Documentary
#	18	Drama
#	10751	Family
#	14	Fantasy
#	36	History
#	27	Horror
#	10402	Music
#	9648	Mystery
#	10749	Romance
#	878  Science Fiction
#	10770	TV Movie
#	53	Thriller
#	10752	War
#	37	Western
#	28	动作
#	12	冒险
#	16	动画
#	35	喜剧
#	80	犯罪
#	99	纪录
#	18	剧情
#	10751	家庭
#	14	奇幻
#	36	历史
#	27	恐怖
#	10402	音乐
#	9648	悬疑
#	10749	爱情
#	878	科幻
#	10770	电视电影
#	53	惊悚
#	10752	战争
#	37	西部

## original_language 语种 字典
#	af	南非语
#	ar	阿拉伯语
#	az	阿塞拜疆语
#	be	比利时语
#	bg	保加利亚语
#	ca	加泰隆语
#	cs	捷克语
#	cy	威尔士语
#	da	丹麦语
#	de	德语
#	dv	第维埃语
#	el	希腊语
#	en	英语
#	eo	世界语
#	es	西班牙语
#	et	爱沙尼亚语
#	eu	巴士克语
#	fa	法斯语
#	fi	芬兰语
#	fo	法罗语
#	fr	法语
#	gl	加里西亚语
#	gu	古吉拉特语
#	he	希伯来语
#	hi	印地语
#	hr	克罗地亚语
#	hu	匈牙利语
#	hy	亚美尼亚语
#	id	印度尼西亚语
#	is	冰岛语
#	it	意大利语
#	ja	日语
#	ka	格鲁吉亚语
#	kk	哈萨克语
#	kn	卡纳拉语
#	ko	朝鲜语
#	kok	孔卡尼语
#	ky	吉尔吉斯语
#	lt	立陶宛语
#	lv	拉脱维亚语
#	mi	毛利语
#	mk	马其顿语
#	mn	蒙古语
#	mr	马拉地语
#	ms	马来语
#	mt	马耳他语
#	nb	挪威语(伯克梅尔)
#	nl	荷兰语
#	ns	北梭托语
#	pa	旁遮普语
#	pl	波兰语
#	pt	葡萄牙语
#	qu	克丘亚语
#	ro	罗马尼亚语
#	ru	俄语
#	sa	梵文
#	se	北萨摩斯语
#	sk	斯洛伐克语
#	sl	斯洛文尼亚语
#	sq	阿尔巴尼亚语
#	sv	瑞典语
#	sw	斯瓦希里语
#	syr	叙利亚语
#	ta	泰米尔语
#	te	泰卢固语
#	th	泰语
#	tl	塔加路语
#	tn	茨瓦纳语
#	tr	土耳其语
#	ts	宗加语
#	tt	鞑靼语
#	uk	乌克兰语
#	ur	乌都语
#	uz	乌兹别克语
#	vi	越南语
#	xh	班图语
#	zh	中文
#	cn	中文
#	zu	祖鲁语

## origin_country/production_countries 国家地区 字典
#	AR	阿根廷
#	AU	澳大利亚
#	BE	比利时
#	BR	巴西
#	CA	加拿大
#	CH	瑞士
#	CL	智利
#	CO	哥伦比亚
#	CZ	捷克
#	DE	德国
#	DK	丹麦
#	EG	埃及
#	ES	西班牙
#	FR	法国
#	GR	希腊
#	HK	香港
#	IL	以色列
#	IN	印度
#	IQ	伊拉克
#	IR	伊朗
#	IT	意大利
#	JP	日本
#	MM	缅甸
#	MO	澳门
#	MX	墨西哥
#	MY	马来西亚
#	NL	荷兰
#	NO	挪威
#	PH	菲律宾
#	PK	巴基斯坦
#	PL	波兰
#	RU	俄罗斯
#	SE	瑞典
#	SG	新加坡
#	TH	泰国
#	TR	土耳其
#	US	美国
#	VN	越南
#	CN	中国 内地
#	GB	英国
#	TW	中国台湾
#	NZ	新西兰
#	SA	沙特阿拉伯
#	LA	老挝
#	KP	朝鲜 北朝鲜
#	KR	韩国 南朝鲜
#	PT	葡萄牙
#	MN	蒙古国 蒙古

115网盘STRM 助手 - 插件配置

1️⃣ 启用插件,扫码获取 115 Cookie(扫码方式选择不常用的设备端),填入 STRM 文件内链接地址

2️⃣ 使用监控MP整理方式生成 STRM

3️⃣ 启用网盘整理,设置待整理、未识别、以及分享转存目录

4️⃣ 开启接管网盘整理功能

115网盘储存 - 插件配置

启用插件,这里填入的 115 Cookie 可以复用 115 网盘 STRM 助手 插件的配置

Emby302反向代理 - 插件配置

启用插件并修改配置

设置文件目录

设置媒体文件整理目录结构,资源储存选择 115网盘Plus,整理方式选择移动,目录根据自己情况修改,只要对应前面插件设置的目录即可。

⚠️ 这里刮削元数据一点不能勾选,否则会导致 115 风控

完成

到这里就已经大功告成了,现在只需要转存资源到 115网盘 待整理 路径中就会自动整理并生成 STRM 文件,然后使用反代后的 Emby 服务(你的IP:18096)就可以进行 302 播放了。