优雅地看视频——kodi&PotPlayer管理本地视频资源

本文可能有点长,左侧有快捷跳转目录,简述同步更新地址:http://www.jianshu.com/p/e78e225a69fe

看视频,除了一款趁手的播放器之外,还需要对视频文件进行有效管理,而Kodi/xbmc是公认的很不错的管理工具,然而网上的教程零零散散,而且很多关键细节都交代不清,我是摸索了很久才搞懂,深受其苦,所以总结了一篇总结:本文主要探讨了使用kodi管理本地视频(电影/剧集),其他项目缓慢更新。PS:本贴作为本人学习笔记,顺便方便网友参考。

Kodi 是由XBMC基金会开发的一款经典免费开源、跨平台且极其强大专业的多媒体影音中心软件播放器,包含了专业的影音内容管理以及解码播放功能一体,提供适合在电视/投影/大屏幕上显示的全屏界面,无线手机遥控操作方式,以及功能相当丰富的插件扩展,绝对是打造家庭影院 (影音中心) 和私人电影库的必备神器!它是Windows Media Center的很热门的替代物。Kodi 的可定制性很高,有许多皮肤可以更改软件外观及各种可以访问网络内容的插件,包括Spotify、鲨客、Pandora电台和Youtube。从版本12.0(代号“Frodo”)开始,XBMC附带录制直播节目的数位视频录像机图形界面前端,同时支持电子节目指南和高清视频录制,目前最新版本是17.1。

说到Kodi就不得不提Plex,虽然Plex从早期的XBMC继承了部分代码,但是这两个App一直走的是不同的发展方向。Plex首先是个服务器,你把它装在家里的媒体服务器上,然后你所有的设备都可以连接Plex看视频。 Plex会自动把视频重编码后输出到你的手机平板电视机上。 Kodi是个客户端,你在你要放视频的设备上装上它,让它索引你的本地和局域网上面的共享视频。 然后他会漂漂亮亮的自动把你的电影电视剧什么的整理好,你要看的时候,你用你的播放设备解码。 Plex对播放设备的性能没要求,但是需要个好点的服务器。(同时重编码输出到三四个设备上的话,做好上Xeon的准备。) Kodi对播放设备的要求稍微高点,但是文件服务器的配置多烂都无所谓。

综上:方案是使用Kodi管理视频,再外挂PotPlayer播放。

安装配置

下载

官网:https://kodi.tv/
Win商店:https://www.microsoft.com/store/apps/9NBLGGH4T892
PS:我用的应用商店版,因为下载安装方便。

设置字体

1.进入KODI,进入设置

2.进入Interface Settings

3.进入Skin——Fonts

4.选择Arial based

中文界面

1.返回设置主界面,进入System settings

2.进入Add-ones,打开Running

3.这里会出现,三个点点“···”,并不意味着这里什么都没有!点击三个点点“···”

4.点击“Install from respository”,注意点了以后可能没反应,一圈圈一直在转,等3-5分钟即可。

5.点击“Look and feel”

6.点击“Languages”

7.选择“Chinese(simple)”

8.点击“install”,返回上面第六步(可能要等一会才有反应,如果点了以后,没反应,也直接返回上面第六步,看看里面有没有中文选项)

至此,中文就界面就设置好了

注意:菜单类型要改成expert模式,fonts选项要改成arial based以后,再改成中文,否则会乱码

中文插件库

推荐下载安装这两个中文插件库

中文插件库:主页 点击下载

高清范HDfans:主页 点击下载

安装教程:进入系统设置——插件——选择从zip文件安装,然后浏览刚才下载的文件。

创建资料库

视频资料库是Kodi通过数据库把视频文件和相关信息整合管理起来,这些信息可以通过不同的渠道获取,例如通过刮削器(包括电影、剧集和音乐电视)和本地nfo文件。在资料库模式可以按照类型、标题、年份、演员和导演等浏览视频内容。要让视频文件与简介、演员信息、DVD封面、缩略图等相关信息一同呈现,需要先把视频文件加入到视频资料库。

点击左侧电影,右侧会出现添加文件夹选项,比如我就在E盘新建了电影和剧集两个文件夹。

刮削器

刮削器是Scraper的直译, 用于从数据库采集影片信息,并呈现给观众。

Kodi自带的电影刮削器有两个,再推荐安装豆瓣和时光网的刮削器。

安装教程:进入系统设置——插件——选择从库安装——Kodi Add-on repository——信息提供者——电影信息。

另外对于剧集,推荐安装豆瓣tv刮削器
安装教程:进入系统设置——插件——选择从库安装——Chinese Add-ons——信息提供者——剧集信息

添加视频

1.首先把下载的电影拖入电影文件夹,为了便于管理,使用嵌套结构,并对文件夹和视频文件重新命名,下面是我给的参考,基本结构是序号+中文名+原始名+年份+杂项

2.导入视频文件视频-文件-添加视频-选择怎么电影存放的位置



3.选择电影信息刮削器 内容扫描 选择前两项

刮削器设置-------选封面海报和同人画

刷新目录

扫描需要一定时间

大功告成!!!





4.有些扫描后没有内容的,可以自己手动下载封面。比如下面 【冰河世纪:巨蛋恶作剧】没有显示内容,右键选择【更改内容】

选择其他刮削器扫描

封面终于出现了

导出资料库

进入设置——媒体设置——导出资料库——多文件——是*3

因为Kodi最先会在本地查找nfo信息,导出后一方面可以节省网络刮削时间,另一方面也便于对nfo信息作进一步处理。

nfo编辑

资料库导出之后,回到视频文件夹,可以看到多出了好几个文件,poster是封面,要修改直接替换即可。“nfo”是一种文本文件,它其实就是information的缩写,记录了该电影的相关制作参数,导演,演员,release(发布日期),影片的大致介绍,制作组织介绍等信息。

一方面刮削器生成的nfo信息可能不全,另一方面有的电影刮削器找不到的时候,对nfo文件进行重新编辑(或者新建)是必要的。为了方便,这里同时使用两款软件来辅助编辑nfo文件。

notepad++:
nfopad:

使用方法:首先在notepad编辑器(支持函数自动换行和缩进),然后再复制到nfopad中保存(自动转为Unicode)
注意:如果notepad++打开中文显示乱码,则需要在编码中切换到UTF8

下面简单说说主要的参数



注意:演员照片网上直接搜就可以,不过需要把https改为http才可以被kodi正常抓取。

剧集nfo修改类似,还需要修改一个tvshow.nfo的文件。

强制刷新

nfo文件修改之后还无法实时再kodi中显示出来,可以进行暴力重新加载

进入设置——媒体设置——视频——选择刚刚修改的视频文件夹——右键选择更改内容——把“该目录包含”先切换为“无”再切换回“电影”,这样就完成了强制刷新的过程。

播放器设置

关于PotPlayer的下载配置参见我的另一篇帖子:优雅地看视频——高清播放器Potpalyer+LAV Filters+madVR+xysubFilter

调用PotPlayer

网上之前找了一些代码试了不成功,于是去英语论坛果然找到解决办法了。
官方教程:
https://forum.kodi.tv/showthread.php?tid=209596

将以下代码另存为playercorefactory.xml
(注意把播放器路径改为自己的播放器路径)

<playercorefactory>
<players>
<player name="PotPlayer" type="ExternalPlayer" audio="false" video="true">
<filename>C:\Program Files\PotPlayer\PotPlayer.exe</filename>
<args>"{1}" /fullscreen /close</args>
<hidexbmc>false</hidexbmc>
<hideconsole>false</hideconsole>
<warpcursor>none</warpcursor>
<playcountminimumtime>1140</playcountminimumtime>
</player>
</players>
<rules action="prepend">
<rule filetypes="mkv|avi|divx|ogm|mp4|mov|m4v|flv|m2v|mpeg|mpg|mts|m2ts|vob|bdmv|iso" player="MPC-HC">
<rule protocols="http|https" player="PotPlayer"/>
<rule protocols="daap|rtv|rtsp|rtmp|rtmpe|rtsp|mms|rtp|pvr" player="VideoPlayer"/>
</rule>
</rules>
</playercorefactory>

然后将将playercorefactory.xml文件放到下面的文件夹即可实现制定文件类型自动调用Potplayer播放的效果。

exe安装版:
C:\Users\USERNAME\AppData\Roaming\Kodi\userdata

商店版:
C:\Users\USERNAME\AppData\Local\Packages\XBMCFoundation.Kodi_4n2hpmxwrvr6p\LocalCach​e\Roaming\Kodi\userdata

此时,建议将potplayer默认开启全屏播放:

Potplayer加载弹幕

有些视频需要同时看弹幕才有感觉,本地视频是否可以加载弹幕呢?答案是可以!这里以B站弹幕为例。

手动下载

首先需要下载xml弹幕文件,这里可以使用唧唧:http://www.jijidown.com/,复制B站视频地址到图示框中回车,在新开页面点击下载xml弹幕文件

然后再将xml弹幕文件转为Potplayer可识别的ASS文件,这里使用在线转换网站https://tiansh.github.io/us-danmaku/bilibili/进行转换,上传转换完成后会自动更名下载到原xml目录。

注意:这种方法没法自定义过滤弹幕内容

最后对PotPlayer再做一点设置,以便弹幕显示效果最好,字母风格选择前两个之一,然后勾选次字幕输出

如果想要打开视频自动加载弹幕就把ass文件与视频文件放在同一目录下并命名一致。

如果需要不显示弹幕关闭次字幕输出即可


弹弹play

弹弹play提供了专业的弹幕搜索与播放功能(支持A站,B站,tucao.tv,niconico),如果您有视频文件,弹弹play播放器可以自动加载相应的ABC站的弹幕供您观看,并且不需要您提前下载好弹幕文件。

官网:http://www.dandanplay.com/

使用播放器打开本地视频后,点击播放列表可以加载第三方弹幕库

点击“弹幕列表”即可自定义过滤选择导出已加载的弹幕弹幕列表为xml格式(软件默认自动导出至视频源目录)

Kodi看网络流

这理由两种方案,手动加载视频源,以及视频插件。

手动加载视频源

参看我的另一篇帖子:自用m3u8直播源管理软件可一键验证有效性,转换导出potplayer播放,附9日直播源

Kodi中文插件库中原有的几个电视直播插件因直播源网站变化都已无法使用了,它们都是采用Kodi视频插件机制编写,仅提供频道列表和播放的简单功能。其实可以使用Kodi的PVR功能观看网络直播,那就是使用内置的PVR IPTV Simple Client客户端插件来实现。用PVR看直播电视可以支持电子节目单。

1.首先需要安装PVR插件

进入插件管理——运行——我的插件——PVR客户端,安装PVR IPTV Simple Client

2.再安装节目源脚本,可以自动获取有效节目源

3.再界面点击电视——选择评到播放即可

视频插件

这里以安装优酷视频插件为例:从库安装——chinese Add-ons——视频插件——优酷视频

安装完毕从主页-插件-视频插件选择使用即可

连接网盘

安装网盘插件

网络共享

kodi17支持smb和UpNp

smb协议

SMB是一个网络文件共享协议,它允许应用程序和终端用户从远端的文件服务器访问文件资源。简单来讲,就是你电视盒子中的KODi播放器可以利用SMB协议播放同在一个路由器内的NAS、电脑硬盘或带路由器硬盘中的视频、音乐等资源。


因为NAS用户数量和后两种方案相比数量较少,并且玩NAS的多为发烧友对SMB的设置都很熟悉,所以大肥虫重点讲一下后两种方案的设置。

路由器硬盘

路由器挂载硬盘的方式有两种,像小米硬盘路由器(自带硬盘的路由器)是一种,移动硬盘(或U盘)连接路由器的USB接口是另一种,这两种方式一般不用做任何设置就可以被KODI识别。如果遇到了路由器挂载的硬盘无法被局域网内的KODi识别的情况,只需开启路由器设置中的DHCP服务即可解决。也就是共享路由器挂载硬盘时,路由器这一端基本上是不用做任何操作的,只需设置好KIDO播放器即可。

在共享路由器挂载的硬盘和共享电脑硬盘的时,KODI的设置基本上是一样的,所以KODI的具体操作步骤我放在后面单独为大家讲解。


电脑硬盘

利用SMB协议访问局域网内的共享电脑硬盘时,一般需要填写所访问的计算机用户名和密码,为了安全起见我们要先给计算机新建一个账号。也就是电视盒子中的KODi通过SMB协议播放电脑硬盘中的视频时,需要做两件事:新建用户和设置共享文件夹。

添加电脑新用户

选中我的电脑,点击右键,选择管理

在计算机管理中,打开本地用户和组,选择用户

在右侧空白处点击右键,选择新用户

填写新建的用户名和密码,并在下方选择“用户不能更改密码”和“密码永不过期”的选项。


设置共享文件夹

选中需要共享的文件夹,点击右键,选择属性,然后在弹出的兑换框中选择共享

点击共享后,会弹出一个新的提示,点击右侧小箭头找到你新建的用户名

选中用户名,点击添加

可以把选项改为读取/写入,修改完,点击右下方的共享

共享成功,点击完成


KODI客户端如何设置SMB

当你的NAS、路由器或电脑设置完毕后,就可以打开KODI进行操作了。

打开视频,选择文件

第一次启动会有一个提示,点击确认

点击添加视频

选择浏览

选择Windows 网络(SMB),点击之后,右下角会提示工作中,这是KODI在搜索局域网中支持SMB的设备和目录,需要稍等一会

打开显示的WORKGROP(不同的设备可能显示字母不一样,在没有看到自己共享的文件夹名字时请继续打开)

打开CHONGZI(这是我电脑计算机名字),会提示我输入用户名和密码,我把刚才申请的用户名dafeichong和密码输入进去,并选择保存密码,就可以继续操作了。在这里需要强调一下,如果你是远程读取路由器挂载的硬盘,在整个工程中一般是不需要输入用户名和密码的。

打开文件夹“视频”,因为“视频”文件夹内还有其他文件夹,所以会显示出来,如果你文件夹内全部是视频或者音乐等文件会显示为空。因为这一步是加载文件目录而不是直接打开视频文件,所以文件夹内即便为空也不要紧,直接点击右侧的确认即可。


点击确认键

点击确认键

这时,我们的视频文件内显示出来了刚才加载的文件夹“视频”,打开其中的4K分类,可以看到视频文件了。至此,你已经成功的完成了KODI通过SMB协议播放局域网内的视频的设置。

UpNp协议

此部分参见我的另一篇帖子:优雅地下载BT——以迅雷极速版下载冷门资源为例提升BT下载速度中关于UpNp的设置部分,需要路由器支持。

通过MariaDB数据库共享媒体库刮削资料

现在很多人的家里都有很多播放设备,喜欢Kodi的人就会在手机,Pad,电脑和盒子上都安装了Kodi。

熟悉XBMC的人都知道,XBMC是服务器端和客户端二合一的软件,每一个XBMC都是一个独立的个体,刮削的内容都是存在设备本地存储上的。那么这就出现一个问题,家里所有的电影电视剧都是统一存储在NAS里的,如果想要每台XBMC设备都显示一样的资料库该怎么办?

两种方法:

  1. 手动一台一台的去升级更新维护资料库。
  2. 利用MariaDB数据库管理刮削的资料,所有设备都读取该数据库里的资料,以后只需在一台设备上更新媒体库,其他所有设备就都会收到更新后的资料库。

显然第一个办法弱爆了,把数据库做到NAS上才是王道首先在群晖NAS上操作

  1. 在NAS上安装MariaDB,接着安装PHPMyAdmin,安装之前需要启用Web Station
  1. 安装好用启动PHPMyAdmin,打开URL地址,用户名root,默认密码为空,登录。
  1. 点击“用户”-“添加用户 ”

4.用户名任意,任意主机,密码随意,全选用户权限。

5.点击“执行”,会提示已经成功添加了一个用户。

接着在群晖上建立一个路径以供保存刮削下的图片等资料
记得设置好访问权限
接着就没群晖啥事了 先事先编辑好XBMC的配置文件以供替换
编辑一个advancedsettings.xml文件
稍有常识的人都知道 为了避免不必要的麻烦,UTF8是必须的

<advancedsettings>

<videodatabase>

<type>mysql</type> //数据库类型mysql

<host>192.168.1.58</host> //数据库所在设备IP地址

<port>3306</port>

<user>xbmc</user> //数据库用户名

<pass>xbmc</pass> //数据库密码

</videodatabase> 

<musicdatabase>

<type>mysql</type>

<host>192.168.1.58</host>

<port>3306</port>

<user>xbmc</user>

<pass>xbmc</pass>

</musicdatabase>

<videolibrary>

<importwatchedstate>true</importwatchedstate> //导入观看状态

<importresumepoint>true</importresumepoint> //导入播放记录点

</videolibrary>

<pathsubstitution>

<substitute>

<from>special://profile/Thumbnails/</from>

<to>smb://192.168.1.58/downloads/XBMCData/Thumbnails/</to> //替换刮削所得图片保存路径

</substitute>

</pathsubstitution>

</advancedsettings>

接着想办法把这个文件拷到安装有XBMC的终端中

windows安装版的路径在 %appdata%\Kodi\userdata\中

win商店版的路径在%appdata%\Local\Packages\XBMCFoundation.Kodi_4n2hpmxwrvr6p\LocalCach​e\Roaming\Kodi\userdata

安卓版的路径在SD分区下的\Android\data\org.XXXXXX(根据安装版本不同名称不同)\files.xbmc\userdata\

接下来打开BMC,按正常方式添加你的视频所在文件夹的路径并进行刮削,刮削的文字信息都存储在数据库中,图片从网络上下载了以后也会被重新定位存储到NAS里。

在一台设备上维护好媒体库之后,其他设备只要同样的替换advancedsettings.xml之后即可进行使用,不需要其他添加路径,刮削等操作。

补充nfo编辑基础

电影

此部分内容参见Kodi的nfo文件说明:http://kodi.wiki/view/NFO_files

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

<movie>
    <title>这里填电影标题</title>
    <originaltitle>这里填电影原始标题</originaltitle>
    
    <ratings>
        <rating name="default" max="10" default="true">
            <value>这里填评分数</value>
            <votes>参评人数</votes>
        </rating>
    </ratings>
    <userrating>用户评分</userrating>
    <top250>在top250中的排名</top250>
    
    <outline>一句话概要</outline>
    <plot>剧情简介,比概要要丰富些</plot>
    <tagline>短电影口号</tagline>
    <tag>电影标签</tag>
    
    <runtime>88</runtime>
    
    <thumb aspect="poster" preview="http://封面链接.jpg">http://封面链接.jpg</thumb>
    <fanart>
        <thumb preview="http://同人画链接.jpg">http://同人画链接.jpg</thumb>
    </fanart>
    
    <mpaa>这里填mpaa分级</mpaa>
    <id>数字识别id</id>
    <uniqueid type="unknown" default="true">数字识别id</uniqueid>
    
    <genre>电影类型1</genre>
    <genre>电影类型2</genre>    
    <country>国家1</country>
    <country>国家2</country>  
    
    <credits>编剧</credits>
    <director>导演</director>
    <year>年份</year>
    <aired>开播时间</aired>
    <studio>制作公司</studio>
    <trailer>预告片路径</trailer>
    
    <fileinfo>
        <streamdetails>
            <video>
                <codec>rv40</codec>
                <aspect>1.777778</aspect>
                <width>1280</width>
                <height>720</height>
                <durationinseconds>5310</durationinseconds>
                <stereomode></stereomode>
            </video>
            <audio>
                <codec>aac</codec>
                <language></language>
                <channels>2</channels>
            </audio>
        </streamdetails>
    </fileinfo>
    
    <actor>
        <name>吴浩康</name>
        <role>谢凯荣</role>
        <order>0</order>
        <thumb>http://img31.mtime.cn/ph/2014/02/22/201155.92767125.jpg</thumb>
    </actor>
</movie>

——未完待续——

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 122,731评论 15 534
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 67,788评论 12 114
  • 早盘展望: 五月开局很重要,受莆田系事件影响,医疗板块將不妙。 上午小结: 早盘酿酒食品等防御性板块被主力强劲布局...
    Judy张阅读 160评论 0 0
  • Question: My code: My test result: 这次作业也挺无聊的。。。然后一分钟写出来了,...
    Richardo92阅读 67评论 0 1
  • 中医认为,脾和胃实际不是一回事,胃是主受纳的,脾是主运化的,胃在上面,脾在下面。当食物进到口腔以后,经过咀嚼,与唾...
    笛苼健康荟阅读 332评论 0 0