自建 流媒体 有三个项目可以选择:Jellyfin,Emby,Plex。Jellyfin 开源,Emby、Plex 部分功能需要付费会员。三者都需要自建,它们的作用是组织、管理和播放视频内容,不过也支持音频、图片等。
承接上图,查找某个电影在哪个流媒体平台可以观看: JustWatch – The Streaming Guide
个人推荐使用 Emby,Emby 曾经是开源的,不再开源后分支出了 Jellyfin,在实际体验上,Emby 要比 Jellyfin 好很多,并且免费版的功能就能满足家庭媒体中心的需要了。Plex 的免费版限制很多,没法用。
Emby 服务端
只是个人观看的话:
- 线路和带宽是首要的
- 1g 内存的 VPS 就够用,硬盘越大越好,可以挂载 GoogleDrive 等当硬盘。
- CPU 性能取决于要不要转码,不转码的话任意,需要转码则单核性能 GB5 分数起码 2000 分
若机子 CPU 单核性能不够,可关闭服务端转码功能(在用户设置里面),取消勾选以下三个选项:
- 允许需要转码的音频播放
- 允许需要转码的视频播放
- 允许需要转换但无需重新编码的视频播放
浏览器可以直接播放 WebM、 MP4 等格式的视频,如果设置了不转码,在浏览器 Emby 网页上能播放这些格式的视频;但是像 MKV、H265 由于浏览器不支持,就无法播放,只能在安卓客户端等上面观看。
安装和初始化步骤: Emby-Server 的安装与维护 – 技焉洲 (yanh.tech)
由于自建需要服务器,还需要自己解决资源下载和存储,门槛比较高,因此有人提供付费或免费的 Emby 服务端,可以把它当作 Netflix。知名的公益服:Terminus 终点站 WIKI | Terminus 终点站 WIKI (911997.xyz)
分享一下 AhFei 的方案:
- 在国外的 VPS 上安装 Emby,借助 Arr 系软件实现自动下载最新的影视,直接通过 Emby 观看
- 每隔 2 个月,将值得收藏的影视传回家里的服务器上,把 VPS 上的删除,腾出空间。
- 家里服务器使用机械硬盘存储优秀的影视,并且也安装一个 Emby 方便观看,但是不安装自动下载的软件。这样将下载和收藏分离,思路更清晰。
Emby 客户端
各个平台的客户端方案: https://embywiki.911997.xyz/docs/usage/android-phone/official-client/
安卓 APP 的演示,中间视频播放由于录屏问题,没有横屏显示,实际上角度是可以任意旋转的
Android
官网下载: Emby for Android – Emby
下载 emby 的安卓安装包,可以使用 Google 的 Play商店 安装,免费使用,个别功能付费。
如果对 Emby 官方客户端的内置播放器不满意,Android 上也可以使用外部 MX Player 播放。
Web
可以使用本地的播放器播放,比如 potplayer。这样将 Emby Web 作为海报墙,元数据查看器,美观、方便选电影。
利用 tampermonkey 脚本可以调用外部 potplayer 播放,服务端不转码,可以减少服务器压力,但不能同步播放记录。js 脚本: embyLaunchPotplayer ,安装 js 脚本之前,需要安装 tampermonkey
Windows Emby Theater
从 Emby 官网 下载并安装 Emby 官方客户端,需要付费才能使用。
破解方法(可能失效了):
- 在
Emby Theater
桌面快捷方式上右键,单击属性,在弹出的页面上选择打开文件所在位置
。 - 删除目录下的
data
文件夹(如果没有则忽略) - 右上角搜索框输入
main.js
并搜索,点击 【编辑】-【替换】,然后在弹出的窗口中输入替换内容
为https://tv.emby.media
,替换为
为http://embycrack.tk.
最后点击全部替换
按钮。
Android TV
官方的 app 有 15 天的试用期,之后必须购买 Emby premiere 才能使用。
一个第三方的客户端: Releases · Terminus-Media/jellyfin-media-player (github.com) 有 Android TV 版,没试过能不能用。
Android TV 上使用官方客户端 | Terminus 终点站 WIKI (911997.xyz)
iOS
可以单独购买或者用 Emby premiere 激活。
也可以使用 Infuse 看,不过 Infuse 也是付费的。iOS 上使用 Infuse 客户端 | Terminus 终点站 WIKI (911997.xyz)
更多
下面是只是 AhFei 记录收藏,都没有实际使用过,自行甄别。
第三方客户端:
Emby客户端整理汇总,排名不分先后:
iOS/iPadOS/macOS/AppleTV/Android/AndroidTV:
Emby
iOS/iPadOS/macOS/AppleTV:
Infuse
yybx
Fileball
VidHub
Conflux
iOS/iPadOS emtv AppleTV:
iemc
iOS/iPadOS/Android:
iPlay
自动下载和刮削影视
对于在使用 Radarr 等自动下载、刮削程序之前下载的影视,可以使用 [[TMM]] 桌面应用刮削,效果不错。
字幕下载
寻找字幕的网站:
- 字幕库(zimuku,SrtKu) — 字幕下载网站
- 分享交流下载字幕平台 – SubHD
- Home | opensubtitles.com ,这个主要是给开发程序集成使用
ChineseSubFinder
曾经可以自动从字幕库下载,但是为避免滥用不再支持。
ChineseSubFinder 根据 nfo 信息在字幕库等查找字幕,节省了手动搜索的功夫,但仍需要手动下载,然后上传。上传后会自动重命名字幕,符合 emby 规范,方便识别。
安装步骤: ChineseSubFinder 安装 – 技焉洲 (yanh.tech)
使用说明
到设置里,可以看看修改一下,没有为字幕源指定 token 的话,是用不了自动下字幕的
- 在库里,刷新电影或电视剧缓存。
- 在「字幕搜索」里,可以快速跳转到“字幕库”之类的网站,请手动搜索字幕,然后通过 ChineseSubFinder 「上传本地字幕」
bazarr
没用过
Docker:linuxserver/bazarr
规范目录结构和命名格式
官网上有详细介绍,不过是英文:Movie Naming | Emby Documentation
下面是 AhFei 使用的目录结构和命名格式,简单、清晰、有效。文件名和目录名都避免空格,因为在命令行中,这会让文件名和目录名多出一对引号包裹,不方便 tab 补全。所有空格都由 .
替换,有时也会用 –
和 _
替换。
我的习惯是:根据自己理解的影视类别,创建多个目录,影视文件放在各自的目录下,每一个目录对应 Emby 的一个媒体库。
如图,电影分成十几个媒体库,电视分为 3 个:中文电视剧、外语电视剧和动画片,此外还有 MV、音乐等,每个媒体库都对应一个目录或多个目录。
电影命名
官方命名指导: Movie Naming | Emby Documentation
简单命名。如 \Movies\Avatar (2009)\Avatar (2009).mkv
,AhFei 的例子: 01有深度/Joker.2019.HDR.小丑/Joker.2019.UHD.BluRay.10bit.HDR.7.1.x265-beAst.mkv
可以在电影文件名或目录名后面加上 ID Tags ,方便刮削时确定电影,形式如:Name (Year) [tmdbid=xxxx]
,支持下面三种网站的 id:
- tmdbid, https://www.themoviedb.org/ ,优先选
- imdbid, https://www.imdb.com/
- tvdbid, https://thetvdb.com/
超多数量电影。可以加一层首字母分类,这也可以加快资源管理器的加载速度
\Movies\A\Avatar (2009)\Avatar (2009).mkv
、
\Movies\P\Pulp Fiction (1994)\Pulp Fiction (1994).mp4
多版本电影。每个版本的文件名需要跟目录名一致,后加 “- 版本信息” ,如
/300 (2006)/300 (2006) – 1080p.mkv
/300 (2006)/300 (2006) – extended edition.mp4
/300 (2006)/300 (2006) – disc(或Bluray)
破折号后面的任何内容都将是您在 Emby 客户端应用程序中看到的内容。
Movies
└── A.Movies.2022
├── A.Movies.2022 - 1080p.mkv
├── A.Movies.2022 - 1080p-trailer.mp4
├── A.Movies.2022 - 4K.mkv
├── A.Movies.2022 - 720p.mp4
├── A.Movies.2022 - extended edition.mp4
├── A.Movies.2022 - directors cut.mp4
└── A.Movies.2022 - 3D.hsbs.mp4
特别内容文件夹。在电影目录下还可以创建特别内容文件夹,用来放相关的花絮、短片等,结构如:
Movies
└── A.Movies.2022
├── A.Movies.2022.mkv
└── extras
└── deleted-scenes.mkv
支持的文件夹有这些:
- extras
- specials
- shorts
- scenes
- featurettes
- behind the scenes
- deleted scenes
- interviews
- trailers
对于 DVD and Blu-ray ,推荐 \Movies\Alien (1979)\VIDEO_TS\VIDEO_TS.IFO
。
对于 ISO , 推荐 \Movies\Léon (1994)\Léon (1994).bluray.iso
,记得根据 DVD 还是 Blu-ray 修改倒数第二的 dvd 或 bluray,否则默认DVD。
对于分割开的形式,命名在每一部分后面加上 part# ,#可以是1-9或A-D,如
\Movies\Avatar (2009)\Avatar (2009)-cd1.mkv
\Movies\Avatar (2009)\Avatar (2009)-cd2.mkv
除了 part# ,还可以根据情况选择:cd#、dvd#、pt#、disk#、disc#。
电视剧命名
官方命名指导: Emby TV Naming
简单目录结构
TV
├── TV's.name.year
│ ├── S00
│ │ └── 放特别篇 (Specials),我也用来放一些优秀解说
│ └── S01
│ ├── TV's.name.S01E01.mkv
│ └── TV's.name.S01E02.mkv
如果电视剧较多,可以通过年代进行分类,在 \TV
下面加一层如 \1900 ~ 2000
即可。
单集命名规范 (“.ext”是任意扩展名的代指)
- 推荐。
show.name.S01E01.EpisodeName.ext
- 长篇连载的系列。可以使用日期进行标记
anything_1996.11.14.ext
- 多版本剧集。
show.name.S01E01-DisplayName1.ext
,比如 S1E01-TV版.mkvshow.name.S01E01-DisplayName2.ext
,比如 S1E01-BD版.mkv- 任何跟随在破折号“-”之后的内容,都将在Emby客户端的下拉列表选择中使用
- 多集数文件。一个视频文件内涵盖了多集,常是BDMV,
S01E02E03.episodename.ext
动漫可以选择Absolute Order(绝对顺序) 或者 Aired Order(首播顺序),绝对排序将所有剧集放在一季中,首播顺序分多季排序。对于长篇动漫比如海贼王,推荐选择首播顺序,一千多集放一季里太难看了。
字幕
为了让 Emby 能够正确识别字幕,字幕文件的命名需要与媒体文件名“相同”,字幕文件跟视频文件同目录,看下面例子:
- 视频文件:
Which.Movie.2023.UHD.BluRay.HDR.x265-beAst.mkv
- 字幕文件:
Which.Movie.2023.UHD.BluRay.HDR.x265-beAst.chs.default.ass
这里可以没有 chs
和 default
,但是
- 缺少
chs
emby中会显示为und,包含chs
则显示Chinese Simplified,繁体用cht
,英文用eng
。 - 加 default 则该字幕设为默认字幕。
另外,主题曲命名为 theme,放入电影视频同级文件夹,电视剧的季文件夹,这样进入相应页面后能自动播放。
封面等图片命名
电影图片
Images are supported in video folders. Below is a table of the supported image file names. Supported image extensions are jpg, jpeg, png, gif and tbn.
Several image types support multiple file names. They are listed in the order that they’re checked for.
Image Type | Supported file names |
---|---|
Primary | {name}.ext |
{name}-poster.ext | |
{name}-cover.ext | |
{name}-default.ext | |
{name}-movie.ext | |
folder.ext | |
poster.ext | |
cover.ext | |
default.ext | |
movie.ext | |
Art | {name}-clearart.ext |
clearart.ext | |
Backdrop | backdrop.ext, backdropX.ext |
fanart.ext, fanart-X.ext | |
background.ext, background-X.ext | |
art.ext, art-X.ext | |
extrafanart (subfolder)/fanartX.ext | |
Banner | {name}-banner.ext |
banner.ext | |
Disc | {name}-disc.ext |
{name}-cdart.ext | |
disc.ext | |
cdart.ext | |
Logo | {name}-logo.ext |
logo.ext | |
Thumb | {name}-thumb.ext |
{name}-landscape.ext | |
thumb.ext | |
landscape.ext |
{name} represents the video file name, without extension. For videos that are not contained within their own folder, only the conventions using {name} are supported.
For backdrops, X represents a number, and you can have any amount of numbered backdrops. For example:
\Movies
TV 图片
Image Type | Supported file names |
---|---|
Primary | folder.ext |
poster.ext | |
cover.ext | |
default.ext | |
show.ext (series folder only) | |
Art | clearart.ext |
Backdrop | backdrop.ext, backdropX.ext |
fanart.ext, fanart-X.ext | |
background.ext, background-X.ext | |
art.ext, art-X.ext | |
extrafanart (subfolder)/fanartX.ext | |
Banner | banner.ext |
Disc | disc.ext |
cdart.ext | |
Logo | logo.ext |
Thumb | thumb.ext |
landscape.ext |
原文链接: https://yanh.tech/2024/06/self-hosted-streaming-media-guide/
版权声明:本博客所有文章除特別声明外,均为 AhFei 原创,采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 技焉洲 (yanh.tech) 。
保持更新 ٩(•̤̀ᵕ•̤́๑)ᵒᵏᵎᵎᵎᵎ 清晰恒益的实用技能,欢迎使用 RSS 订阅,如果能留言互动就更好了。
可在 Telegram 群组 https://t.me/vfly2 交流依文章步骤遇到的问题。