点播、直播一条龙,使用Jellyfin打造最强媒体中心(篇一)

创作立场声明:各位蓝光原盘大神求放过~~

前言

去年8月,我在张大妈上发表了自己第一篇文章,没有像样的头图,没有华丽的标题,但还是受到了喜欢折腾的同道中人的收藏点赞 。没看过的欢迎大家移步:

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播小编注:此篇文章来自#原创新人#活动,成功参与活动将获得额外100金币奖励。详细活动规则,请猛戳此链接!第一次在zmd上写文章,请轻喷。前言家里新升级的200M联通光纤,套餐内含IPTV。为啥用联通呢,一方面是家里最早20M光线的时候就用的联通,跟手机捆绑了。另一方面,这边联通直接能获取外网IP,搞小牛快跑D|2k评论762收藏16k查看详情

 因为IPTV抓包与运营商和地区关系很大,有个别网友说回帖说成功,但感觉大部分的网友觉得过于复杂以至于根本没有开始尝试折腾。不过不要紧,我又来了点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第2张 。正要准备写Jellyfin,结果@阿文菌先贡献了一篇。在此声明,本文只是展示一种思路,并不能解决实际遇到的所有问题。抛砖引玉,供大家参考。

 

使用群晖Docker 安装Jellyfin 家庭影院HTPC 比emby plex好用多了大家好,俺又来了,这次给大家分享群晖Docker安装Jellyfin了!这个是算是俺的压轴节目了,最近一口气写了好多关于群晖NAS软件的分享,脑袋都是疼的!关于jellyfin,最开始知道这个的时候,俺已经体验过plex和emby了,这两个软件是不错,但是因为收费,不得不放弃之。引用萌鼠博客的内容:阿文菌|735评论513收藏5k查看详情

 最终效果

  • 音影库:

NAS上存的电影、电视剧、纪录片等资料以海报墙的形式展示,这个很容易实现,并且功能与PLEX、Emby类似。@阿文菌已经写的很详细了,Jellyfin的优点是可以硬件转码(Hardware Acceleration)。如果是PLEX需要PLEX PASS会员,Emby需要Emby Premiere会员。而Jellyfin完全免费。Jellyfin配合Intel的Quick Sync不要太舒服点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第4张 完美实现脱离局域网的任意平台播放,你甚至可以把你的媒体库共享给你的朋友们。

官方文档:Jellyfin supports hardware acceleration of video encoding/decoding/transcoding using FFMpeg. It supports multiple acceleration types, including AMD AMF, Intel Quick Sync, OpenMax OMX, nVidia NVENC, Intel/AMD VAAPI, and others.

用了一段时间了,Jellyfin虽然多多少少有些不完善的地方,但总的来说是令人满意的。对比隔壁PLEX和EMBY119刀的终身授权,要啥自行车啊。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第5张

   

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第6张手机端app

  • 直播

直播及DVR也是PLEX、Emby的付费功能,在Jellyfin也是免费。抓了IPTV的源,结合网上的EPG节目单,实现观看直播、观看直播时退回、预约和实时录制电视节目的功能。当然这些都是可以部分局域网和远程都可以访问。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第7张各频道节目单

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第8张今早测试录制了CCTV1朝闻天下节目

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第9张播放录制的电视节目同样可以硬解串流

  • 关于转码

每个人对直接播放和转码都有自己的想法,我个人觉得就目前硬解转码的效率来说基本没有播不了的情况,因为是硬解,所以CPU占用也不会太高。平时用的时候只是会觉得转码会在点【播放】按钮后多加载一会儿而已。目前家里上传带宽有限,转码串流应该也是流畅播放所必须的。当然局域网内播放(比如kodi)都是不转码直接播放。

Jellyfin 服务器端安装

  • 我家NAS配置

我自己组装的:华擎J3160 ITX主板,8G DDR3,40G SSD, 4T硬盘*2

操作系统是 Windows10

  • 下载安装

下载地址

根据我使用的情况,最新的10.3.6版本电视直播有bug,建议下载10.3.5。

官方文档

下载后解压,不需要额外的安装,直接打开里面的jellyfin.exe运行即可,因为我用远程桌面连接NAS,为了防止权限不够的情况,我使用右键选择【以管理员身份运行】

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第10张

   之后窗口开始日志,不一会儿就会自动打开一个网页。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第11张跑日志的窗口

如果网页打开有问题(通常是IE打开就有问题,建议用Chrome),可以手动输入网址:XXX.XXX.X.XX:8096,比如我的NAS的IP是192.168.1.200,就打开http://192.168.1.200:8096。要注意:最好对防火墙设置好开放8096端口。

接下来的设置简略带过:

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第12张选择语言

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第13张设置账户名密码

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第14张我先跳过设置资料库,回头再慢慢加

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第15张选择语言

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第16张默认即可,下一步

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第17张完成

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第18张点击用户后,输入密码登录

下面进行一些简单配置。点击右上角的按钮进入控制台,在【常规】里可以设置缓存地点,因为我C盘空间太紧张了,所以改到别的盘。设置完后最下方有【保存】按钮。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第19张设置缓存

设置硬解:win平台是Intel Quick Sync,其他平台可能是选择VA API点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第20张 说错了别找我。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第21张设置GPU转码

添加媒体库

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第22张点击【添加媒体库】

进入【控制台】--【媒体库】--【添加媒体库】,选择建议打开右上角的【高级选项】。媒体类型中【电视节目】指电视剧、纪录片等类型。点击文件夹旁边的【+】添加文件夹。然后我把剩下可能的勾都打上点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第23张 不要喷我

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第24张

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第25张

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第26张

这里对【将媒体图像保存到媒体所在文件夹】一项说明一下:如果打开这项,Jellyfin搜刮到的电影封面等信息将放在电影文件夹下。像这样。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第27张

最后确定后,Jellyfin开始搜刮媒体信息。

从控制台能看到进度。等候片刻,等待搜刮完成。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第28张

  • 修正匹配及修改海报

搜刮识别的效率不可能100%,需要手动对某些识别不出或错误的重新匹配。如果想要减少这部分工作量,那么下载电影时的命名规则就比较重要,像这种某迅雷电影站上下载的“疯狂的石头.HD1280超清四川方言双语中字.mp4”肯定十有八九识别不出。而“Alita Battle Angel.2019.1080p.WEB-DL.X264.AC3-EVO[EtHD]Alita Battle Angel.2019.1080p.WEB-DL.X264.AC3-EVO[EtHD].mkv”这种就非常容易识别到位。

点击电影海报右下角的三个点,

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第29张点击右下角三个点

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第30张选择【识别】

输入电影的名称,或IMBD 信息,点【搜索】。选择对应的电影封面,确定即可。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第31张

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第32张

如果出现有些电影海报或插图是国外版本的,不是自己想要的,可以修改。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第33张选择自己想要修改的

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第34张有多重图片可选

Jellyfin与PLEX不同的是,手机端是有完整的后台管理的,也就是说这些匹配电影封面的工作可以在手机端操作,我就是利用平时玩手机的间隙就把匹配的事情做完了。

IPTV直播及DVR

  • xTeve安装及配置

在我的第一篇文章里,我已经将直播源制作成了M3U文件了。使用直播和DVR服务,需要另一个软件:xTeve。xTeve适配PLEX和EMBY,但是点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第35张 Jellyfin不是emby的分支嘛,哈哈哈,直接能用啊。

xTeve下载地址 ,选择自己系统的版本下载即可。

xTeve也是不需要安装的,直接运行即可。打开后也是黑底白字跑日志。登录窗口里给你的web地址

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第36张

打开网页后,TUNERS默认即可,NEXT。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第37张

选择EPG提供方,这里选外部的EPG(经我测试PLEX不提供国内的EPG了(我有plex pass,可能是我个例?))总而言之,选XEPG

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第38张

填入M3U文件地址,这里比较蛋疼,需要输入进去,不能直接浏览

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第39张

成功点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第40张 

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第41张

设置EPG文件。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第42张

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第43张

这时,软件同时载入了M3U和XML文件。xTeve对所有的直播源以及对应的节目单进行统一管理。进入Mapping,这里对节目进行编号。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第44张

点击某个单独的频道,可以设置它【是否启用】、【名称】、【频道logo】、【对应的XML文件】、【XML文件里对应的频道】。可以先启用一个测试,如果没问题再每个单独去匹配。改完后一定要记得点【SAVE】

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第45张

进入Jellyfin控制台

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第46张

选择HDhomerun,填入DVR IP。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第47张

再电视指南数据后面点【+】,选择XML TV,填入XEPG URL。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第48张

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第49张

Jellyfin会自动刷新直播数据,就可以在首页看到出现了【电视直播】,能看到节目指南

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第50张

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第51张

打开看看点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第52张 

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第53张

  • 节目录制

设置录制文件存放的目录

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第54张

选择节目单里的节目,选择录制即可。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第55张

可以在【计划】里看到正在录制或预约录制的节目,可以根据自己的需要提前录制节目,比如晚上的几点有比赛,到时候它就会自动开始录制。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第56张

观看直播的时候,后台也是缓存着的,这就意味着可以暂停、可以在缓存的区间里前进后退。


EPG文件自动下载 

我的xml文件来自具网友supzhang。 感谢感谢点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第57张 

它提供的xml在这里,每天更新。但是不知道为啥,我如果直接填这个网络地址,连接不是很稳定,于是我就干脆自己设置一个定时任务,每天下载一次,保存到指定位置。这里分享给大家参考,不一定非要像我这样做。

把下面粘贴到TXT文件中再另存为*.bat文件即可,里面“D:VIDEOPVRe.xml”替换为自己保存的路径和名称。

echo=1/*>nul&@cls

@echo off

call :http "http://epg.51zmt.top:8000/e.xml" D:VIDEOPVRe.xml

goto :eof

::-----------------下面是函数定义区域-----------------

:http

echo Source:      "%~1"

echo Destination: "%~f2"

echo Start downloading. . .

cscript -nologo -e:jscript "%~f0" "%~1" "%~2"

echo OK!

goto :eof


*/

var iLocal,iRemote,xPost,sGet;

iLocal =WScript.Arguments(1); 

iRemote = WScript.Arguments(0); 

iLocal=iLocal.toLowerCase();

iRemote=iRemote.toLowerCase();

xPost = new ActiveXObject("Microsoft"+String.fromCharCode(0x2e)+"XMLHTTP");

xPost.Open("GET",iRemote,0);

xPost.Send();

sGet = new ActiveXObject("ADODB"+String.fromCharCode(0x2e)+"Stream");

sGet.Mode = 3;

sGet.Type = 1; 

sGet.Open(); 

sGet.Write(xPost.responseBody);

sGet.SaveToFile(iLocal,2); 

打开【计划任务】,新建一个任务。

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第58张

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第59张

点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第60张

让它每天12点执行一次下载任务。保证每天存在的xml都是最新的。点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第61张 


总结

Jellyfin是emby的一个分支,对于119刀的终身会员来说,免费的Jellyfin我个人认为还是比较良心。点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第62张 Kodi在局域网内播放,而且还搞了个emby的皮肤,骚气十足,下回专门写一篇点播、直播一条龙,使用Jellyfin打造最强媒体中心( 技术 第63张 。

目前来说Jellyfin

优点:

  • 免费的硬件解码&LiveTV

  • 有emby打底,基本功能完善,emby数据可以无缝转移过来

  • 与plex相比,同一媒体类别下(如电影)可以添加多个目录

  • 修正刮削匹配时,PLEX只显示名称容易弄错,Jellyfin直接显示海报就比较科学

  • 多用户不需要邮箱注册


缺点:

  • 不够稳定,例如新版本LiveTV就用不了,添加LiveTV后可能要关掉server端重新开一次。

  • 没有emby plex的照片同步功能

  • 目前ios端没有app

  • 支持kodi但是较繁琐

  • HEVC硬解不成功(不知道是否是个例,正在研究如何解决)

   

来自什么值得买,原文地址:https://post.smzdm.com/p/adwlg0pz/


补充:

关于jellyfin,不做过多介绍,大家可以百度,它和plex media server或emby差不多,都是多媒体服务器软件,只不过这个是开源的、免费的,所以用户数量在慢慢增长。

这里主要说两个方面的坑,都是自己走过填过的,希望后来人不要再重复错误,下边进入正题:

本帖隐藏的内容

第一个是docker jellyfin的问题

在hub.docker.com上搜索并拉取jellyfin的镜像很简单,运行容器也很简单,不过后续等到从管理页面进入时,就会发现一个问题,无法加载外接硬盘或优盘。

刚开始以为我的硬盘是exfat格式,linux中无法识别,后来 apt-get install exfat-utils后,把/jellyfin/media 挂载到指定目录并赋予读写删的权限,还是不行,在jellyfin中设置媒体库,总是无法读取外接硬盘中的电影文件。

于是放狗海量搜索,终于在一个老外的帖子里看到问题的解决办法,其实很简单,就是在运行容器的时候提权,加入--privileged=true,将宿主机的权限赋予容器,当然这可能不安全,也可以通过--cap-add、--cap-drop来对容器本身的能力进行开放或限制。

原因也很简单,通过 chmod 775 /media之类的操作,只是赋予linux中某个用户对media文件夹的权限,并不能解决docker某个容器中某个用户访问文件夹的权限,而将容器提权后,就解决了这个问题。

第二个是关闭jellyfin转码的问题

有些坛友在N1上装好jellyfin后,直接通过jellyfin的客户端(目前官方只有安卓版本)或网页看电影,但很容易卡顿,通过性能监测软件查看N1,结果发现cpu使用率已经达到100%,后来分析是因为jellyfin自动开启转码功能导致的,但又找不到怎么关闭转码。

这里也是在reddict论坛上jellyfin的专区找到的答案,也是让老子好一顿找。我只是在docker jellyfin中试过,其他的不知道能不能行,应该差不多。

网页登陆jellyfin的管理页面,点击左侧的dashboard仪表盘,然后点击“用户”,右侧出来用户后,点击用户方块右下方那三个点“…”,然后在跳出的菜单中点击“打开”,然后你会看到一大堆从未见过的设置选项,将以下的三个选项的对勾去掉,就彻底关闭转码了。
Alow audio playback that requires transcoding
Allow video playback that requires transcoding
Allow media downloading and syncing that requires transcoding

至于仪表盘中的“转码”选项中的东西,改不改都不无所谓,然后切记要重启jellyfin容器(docker中)或软件(linux中),然后再通过网页播放电影时,N1的CPU使用率就降低到50%以下了,这时配合coreelec或kodi就可以通过客户端硬解码了。

来自恩山,地址:https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=814931&extra=page%3D1%26filter%3Dtypeid%26typeid%3D21

暂无留言,赶快评论吧

欢迎留言

分享:

支付宝

微信