基於win11的Emby、Playnite搭建家庭影音娛樂方案

2023-12-07 18:00:41

0. 概述

0.1 Emby效果















0.2 playnite效果




0.3 軟體清單及教學


串流媒體:Emby (分Server端、安卓端、安卓TV端、iOS端,PC最好使用網頁端)

  • 電影/電視劇/動畫:找資源→重新命名→刮削→匯入Emby資源庫
  • 音樂:找資源→刮削→匯入Emby資源庫
  • 電視源:找電視源→有效性檢查→匹配頻道ID→emby新增指南資料來源→emby上傳電視源

遊戲聚合:Playnite

  • Switch模擬器:YUZU、ryujinx(直接找整合包:省去設定韌體等操作)
  • steam:Steam、SteamCommunity_302(steam的區域性魔法)

0.4 折騰的意義

  1. 國內提供的服務畫質、音質不行,不能滿足要求,比如4K,比如5.1杜比。
  2. 版權問題,不同的作品分佈在不同的平臺,還面臨下架的風險。
  3. R18內容。
  4. 收集癖、倉鼠病、閒的蛋疼。
  5. 遊戲平臺:聚合PC、switch模擬器、Steam平臺等遊戲

0.5 方案執行進度

1. 準備工作:影視

1.1 找資源

1.1.1 WSL2(Ubuntu22)

win11 命令列安裝基於WSL2的Ubuntu22

# 參考檔案:https://learn.microsoft.com/zh-cn/windows/wsl/install-manual
# 參考檔案:https://learn.microsoft.com/zh-cn/windows/wsl/install
# 啟用適用於 Linux 的 Windows 子系統
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 啟用虛擬機器器功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 更新wsl(需要魔法)
wsl --update
# 將 WSL 2 設定為預設版本
wsl --set-default-version 2
# 檢視當前linux發行版本(需要魔法)
wsl --list --online 
![](https://img2023.cnblogs.com/blog/2015404/202312/2015404-20231202231303008-223685623.png)
# NAME是列linux發行版名稱
# 指定linux發行版名稱並安裝(需要魔法)
wsl --install -d 發行版名稱
# 檢驗當前WSL版本和linux發行版本
wsl -l -v
# 登出不要的發行版
wsl --unregister 發行版名稱
# 更新wsl到預覽版
wsl --update --pre-release

將wsl的Ubuntu網路模式設定為host-only模式(映象模式:和宿主機一樣的ip,宿主機用localhost可以存取虛擬機器器的服務) 在C:\Users\使用者名稱目錄下面,建立一個組態檔 .wslconfig

[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

1.1.2 Docker Desktop

存取https://www.docker.com/下載安裝Docker Desktop on Windows並註冊登入

安裝時必須選上use WSL 2 instead of Hyper-V(recommended)

安裝後登入sign in(需要魔法)
設定-General-Use the WSL2 based Engine

設定-Resources-WSL integration-Enable integration with additional distros-開啟Ubuntu-22.04-apply&restart

1.1.3 阿里雲盤引數

獲取阿里雲盤賬號相關的資訊

1.1.4 搭建小雅AList私服及自動化指令碼

小雅官網 https://alist.xiaoya.pro/

# 一鍵安裝
sudo bash -c "$(curl http://docker.xiaoya.pro/update_new.sh)"
# 安裝過程中:依次輸入阿里雲盤的令牌、重新整理令牌、根資料夾ID

# 安裝完成後:需要重啟容器
docker restart xiaoya
# 可以執行命令,檢視啟動過程
docker logs -f xiaoya 
# 等需要1~5分鐘時間,直到啟動結束
# 宿主機可本地存取 http://127.0.0.1:5678/ 

# 若報錯誤(sock相關)修改sock許可權,不報錯則跳過
sudo chmod 666 /var/run/docker.sock
# 若其他相關問題
sudo vi /etc/xiaoya/mytoken.txt
sudo vi /etc/xiaoya/myopentoken.txt
sudo vi /etc/xiaoya/temp_transfer_folder_id.txt

使用者端使用webdav存取
webdav協定
地址: 私服IP/dav
埠: 5678
使用者: guest
密碼: guest_Api789

1.2 重新命名

1.2.1 刮削前,命令列改名

# 對於劇集
# 方式1:按季放在不同目錄SXX、每個目錄內帶有集數(偶爾無效)
# 方式2:都放在一個目錄下命名為SxxExx方式
碟符:
cd 資源目錄
rename 資原始檔名01.mp4 S01E01.mp4
rename 資原始檔名02.mp4 S01E02.mp4
...
# 對於劇集特別篇的集數 查詢網站上https://www.themoviedb.org/
rename OVA.mp4 S00E01.mp4

1.2.2 使用powershell統計檔案(夾)大小

Get-ChildItem -Directory | ForEach-Object {
    $folderPath = $_.FullName
    $folderSize = (Get-ChildItem -Recurse $folderPath | Measure-Object -Property Length -Sum).Sum
    $folderSizeInGB = $folderSize / 1GB
    Write-Output "$folderPath#$folderSizeInGB GB"
}

1.3 刮削

1.3.1 TinyMediaManager

  • 註冊TMDB網站會員並拿到API金鑰:https://www.themoviedb.org/
  • 存取https://dnschecker.org/#A/api.themoviedb.org 找到Shenzhen, China 點load 檢視IP地址,並根據結果修改本機hosts
  • 安裝並設定tmm、掃描資源、刮削
  • 注意劇集命名必須包含 SXXEXX (S為季預設01、E為集數、S00代表特別篇)、電影和劇集刮削建議手動、劇集的每集資料自動刮削即可

2.準備工作:音樂

2.1 找資源

2.1.1 酷我音樂PC端(開心版)

  • 歌單匯入:以酷狗為例,酷狗app分享歌單到新浪微博,複製器中的連結,貼上到酷我app的匯入歌單
  • FLAC下載:在pc端登入同一賬號下載

2.2 刮削

2.2.1 MusicTag

點選新增目錄、定位酷我音樂下載目錄
全選匯入的歌曲列表 點選自動匹配標籤(魔法棒) 勾選所有資訊 點確定開始刮削
然後將刮削好的直接儲存到音樂資料夾中 並用Emby載入

歌詞亂碼問題:emby好像只能顯示UTF8編碼的歌詞 歌詞可能為GB2312、GBK、GB18030等編碼方式、需要批次轉為UTF8格式

# 在WSL2 Ubuntu上安裝iconv工具並用iconv轉碼
iconv -f GB2312 -t UTF-8 原始檔 >目標檔案

3. 準備工作:電視直播

3.1 找電視源

需要魔法,google搜尋電視源並按最近一週篩選結果(擴充套件名為m3u或m3u8)

3.2 檢查電視源是否有效

下載IPTV Checker:檢查電視源,選擇online,去掉offline的頻道,將所有online的頻道儲存為新的電視源m3u8檔案
VLC media player:檢視直播(在iptv checker的settings中設定vlc的安裝路徑,在列表中右鍵,可以選擇play channel)

3.3 匹配頻道ID

匹配電視源種的頻道的ID,以便關聯節目預告
m3u和m3u8電視原始檔格式

  • group-title 電視訊道的分類標籤
  • tvg-logo 電視訊道logo
  • ,後接在emby中顯示的頻道名稱
#EXTM3U
#EXTINF:-1 group-title="央視" tvg-logo="xxxxxxxxxxxxxxxxxxxx/CCTV1.png",CCTV1
直播地址
#EXTINF:-1 group-title="央視" tvg-logo="https://epg.112114.xyz/logo/CCTV2.png",CCTV2
直播地址
#EXTINF:-1 group-title="央視" tvg-logo="https://epg.112114.xyz/logo/CCTV3.png",CCTV3
直播地址

在http://epg.51zmt.top:8000/網站上傳IPTV Checker儲存的m3u8檔案,匹配後,下載m3u檔案

  • tvg-id 作為關聯節目預告的頻道ID
  • tvg-name 作為關聯節目預告的頻道名稱
  • tvg-log 補充部分logo

4. Emby

Emby:https://emby.media/

4.1 破解

請支援正版軟體授權,本文僅介紹解鎖原理及思路。

4.1.1 方法1. 直接搜尋Emby開心版

4.1.2 方法2. 偽站破解Emby(需要路由器支援修改host)

解鎖原理及思路:

  • 基於Nginx建立一個假的mb3admin.com網站
  • 通過在路由器上設定自定義host==,將區域網內裝置的mb3admin.com對應的DNS記錄解析為偽站的IP地址。
  • Emby使用者端或伺服器在當前區域網內進行解鎖。

以下為偽站破解Emby過程

//https://mb3admin.com/admin/service/registration/validateDevice
{"cacheExpirationDays": 365,"message": "Device Valid","resultCode": "GOOD"}
//https://mb3admin.com/admin/service/registration/getStatus
{"deviceStatus":"0","planType":"Lifetime","subscriptions":{}}
//https://mb3admin.com/admin/service/registration/validate
{"featId":"MBSupporter","registered":true,"expDate":"2030-01-01","key":114514}

nginx.conf

 server {
        listen 443 ssl;
        server_name mb3admin.com;
        ssl_certificate /volume1/web/mb3admin.com/mb3admin.com.cert.pem;
        ssl_certificate_key /volume1/web/mb3admin.com/mb3admin.com.key.pem;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        location = /webdefault/images/logo.jpg {
            alias /usr/syno/share/nginx/logo.jpg;
        }
        location @error_page {
            root /usr/syno/share/nginx;
            rewrite (.*) /error.html break;
        }
        location ^~ /.well-known/acme-challenge {
            root /var/lib/letsencrypt;
            default_type text/plain;
        }
        location / {
            rewrite ^ / redirect;
        }
        location ~ ^/$ {
            rewrite / https://$host:5001/ redirect;
        }
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Headers *;
    add_header Access-Control-Allow-Method *;
    add_header Access-Control-Allow-Credentials true;
location /admin/service/registration/validateDevice {
    default_type application/json;
  return 200 ‘{「cacheExpirationDays」: 7,」message」: 「Device Valid」,」resultCode」: 「GOOD」}’;
}
location /admin/service/registration/validate {
    default_type application/json;
  return 200 ‘{「featId」:」」,」registered」:true,」expDate」:」2099-01-01″,」key」:」」}’;
}
location /admin/service/registration/getStatus {
    default_type application/json;
  return 200 ‘{「deviceStatus」:」」,」planType」:」」,」subscriptions」:{}}’;
}
        }

推薦GMCert.org https://www.gmcert.org/subForm
選擇RSA演演算法,2048位元加密,主題名稱/CN填入「mb3admin.com」
「選擇CA」條目的最後面有個「↓」,點選下載CA證書
開啟高階選項,選擇普通證書
主題備用名稱填
DNS.1=mb3admin.com
DNS.2=*.mb3admin.com
金鑰用途:數位簽章 | 加密金鑰 | 加密資料
擴充套件金鑰用途:伺服器認證 | 使用者端認證
證書有效天數:824
證書鏈選項中勾選「自動包含CA證書鏈」
點選「簽發證書」,下載金鑰和SSL證書
將金鑰和SSL證書上傳到VPS,將CA證書安裝到PC/iOS裝置/Android裝置等。

4.2 設定字幕下載

註冊網站https://www.opensubtitles.com/

4.3 設定媒體庫

4.3.1 通用設定

  • 資料夾:新增本地資料夾或者網路路徑
  • 首選後設資料下載語言:chinese simplified
  • 國家:china
  • 首選影象下載語言:chinese simplified
  • 啟用實時監控
  • 後設資料讀取器勾選Nfo
  • xx 後設資料下載器等:取消勾選Emby刮削相關的所有選項
  • 後設資料保護程式勾選Nfo
  • 視訊預覽縮圖
  • 字幕下載:下載語言-勾選chinese simplified
  • 字幕下載器:
    • 勾選Open Subtitles
    • 勾選"如果預設音軌與下載語言匹配,則跳過"
    • 勾選"如果視訊內嵌字幕,則跳過"

4.3.2 "電視節目"型別的特殊設定

  • 簡介標記
    • 生成簡介標記:作為計劃任務

4.3.3 "家庭視訊與照片"型別的特殊設定

  • 啟用照片
  • 視訊 的影象獲取器:勾選screen grabber
  • 視訊預覽所縮圖:
    • 生成視訊預覽縮圖:作為計劃任務
    • 縮圖間隔:章節標記

4.4 設定電視直播

新增指南資料來源:國家選中國、指南源選xmlTV、檔案或URL填寫http://epg.51zmt.top:8000/e.xml(指南資料:即節目預告)

新增電視源(選M3U):檔案或URL點右側放大鏡按鈕,上傳本地m3u8檔案到emby,重新整理指南資料即可

5.遊戲

5.1 遊戲聚合

Playnite

  • Library 遊戲庫外掛:根據需要,選擇被管理的遊戲平臺安裝
  • Metadata Sources 資料來源(刮削)外掛:
    • PC遊戲:Metadata Local(內建主流的6個資料來源,steam有中文)、PCGaming Wiki(更全、沒有中文)
    • 模擬器(很少有中文):IGDB(Switch)、PSN(PS)、Gametdb(Wii和gamecube)
    • GalGame:Metadata LocalDLsite、VNDB(更全、沒有中文)
  • Generic 通用外掛:
    • Extra Metadata Loader+Extra Metadata Fullscreen Mode Helper :提供logo和遊戲宣傳片視訊的展示
    • ludusavi:備份遊戲存檔
    • ScreenshotsVisualizer:截圖工具
    • is there any deal:遊戲折扣資訊、聯動平臺願望單
    • how long to beat:瞭解通關時間(需要賬號)
    • success story:各平臺成就係統
    • checkDLC:獲取 DLC 列表
    • Emulation Toolbox:模擬器
    • PlayState :掛起和恢復你的遊戲
  • Themes 主題外掛:
    • 桌面主題:Seaside
    • 全螢幕主題:Playnite Modern UI

5.2 Switch模擬器

5.2.1 YUZU整合包

  • 直接新增遊戲即可,右鍵檢視屬性可知安裝的修補程式、UPD、DLC等
  • 更新UPD、資料片DLC(*.nsp):選擇Switch遊戲,點檔案-安裝檔案到NAND
  • 修補程式(壓縮包):選擇Switch遊戲,右鍵-開啟MOD資料位置

遇到nsz格式,需要安裝NSCB魔改工具:nsz轉xci或nsp

5.3 Steam

需要安裝steamcommunity_302(小範圍魔法) 否則無法開啟Steam

5.4 其他

5.4.1 遊戲資源網站

5.4.2 遊戲啟動遇到的問題

問題1:育碧遊戲,提示應用程式無法正常啟動,錯誤程式碼0xc0000142
存取https://zh-cn.ubisoft.com/ubisoftconnect 安裝Ubisoft Connect

其他軟體

Kodi

  • Kodi先設定字型為Arai 在改中文 否則亂碼
  • kodi設定載入本地資料、不刮削
  • kodi可安裝面板 arctic.horizon2
  • kodi可使用smb載入windows上的共用資源:要在控制面板開啟windows的smb功能、設定windows登入密碼、賬號名是計算機管理-本地使用者和組-名稱(不是全名)

AList

AList檔案
AList倉庫