- UID
- 238208
- 精华
- 0
- 冰点
- 99
- 阅读权限
- 100
- 主题
- 115
- 回帖
- 3885
- 性别
- 男
- 在线时间
- 699 小时
- 注册时间
- 2019-7-6
- 最后登录
- 2025-1-11
签到天数: 800 天 [LV.10]以坛为家III
炎之精灵LV.1
- 回帖
- 3885
- 雪点
- 91677
- 阅读权限
- 100
- 性别
- 男
- 在线时间
- 699 小时
- 注册时间
- 2019-7-6
- 最后登录
- 2025-1-11
|
本帖最后由 yanggw13 于 2022-1-3 17:10 编辑
SVP重大更新已经过去了大半年了,旧版的教程已经过时了,有很多不适用于现在的版本。
因此,新的一年重新开讲【高质量补帧讲座v2】,新讲座暂定为七讲,除第一讲为通用,其余为新增或重写;希望在元旦假期能够更新完成。
v2新版链接:
【高质量补帧讲座一】序言:SVP补帧、madVR渲染、去色带、缩放的 介绍 及 必要性
https://www.deainx.me/thread-75936-1-1.html
【高质量补帧讲座二v2】硬件篇:SVP补帧+madVR渲染所需硬件指导
https://www.dranime.net/thread-85367-1-1.html
【高质量补帧讲座三v2】安装篇:安装LAV、potplayer、MPC-HC、SVP、madVR
https://www.dranime.net/thread-85376-1-1.html
【高质量补帧讲座四v2】配置篇:MPC-HC/potplayer+LAV+SVP+madVR
https://www.dranime.net/thread-85380-1-1.html
【高质量补帧讲座五v2】不良问题应对:丢帧BUG、花屏BUG、强制反交错(限potplayer)
https://www.dranime.net/thread-85414-1-1.html
【高质量补帧讲座六v2】方案匹配:potplayer、SVP多方案自动匹配
https://www.dranime.net/thread-85425-1-1.html
【高质量补帧讲座七v2】媒体中心:kodi多媒体中心简介及调用第三方播放器
https://www.dranime.net/thread-85427-1-1.html
旧版链接:
【高质量补帧讲座 一】SVP补帧、madVR渲染、去色带、缩放的 介绍 及 必要性
https://www.deainx.me/thread-75936-1-1.html
【高质量补帧讲座 二】potplayer+SVP+madVR教程,无伪影、无扭曲、动画字幕,完美方案
https://www.deainx.me/thread-75946-1-1.html
【高质量补帧讲座 三】potplayer+SVP+madVR / EVR(CP)的硬件性能需求
https://www.deainx.me/thread-76446-1-1.html
【高质量补帧讲座 四】USB采集卡+VLC+SVP让电视盒也补帧
https://www.deainx.me/thread-77570-1-1.html
kodi是一款知名度非常高的多媒体中心,其界面对同类产品影响也颇深。可以观看IPTV,具有TMDB刮削器,支持海报墙,带有模拟器可以玩怀旧游戏。配上遥控器,幼稚园都在操作得贼6666。
官网:https://kodi.tv/
界面展示:
这界面真的一级棒。
海报墙还有其他布局可选,用过就明白。
不过我不是来教大家界面怎么搞,怎么添加、怎么刮削的,这些请自行上网 或者 摸索。不在本讲之列。
我要讲的是本系列教程核心内容,本讲在网上没中文教程。
正式开讲
在这个路径内
%APPDATA%\Kodi\userdata
创建一个文件
playercorefactory.xml
用记事本之类的文档编辑器,写入代码。
下面是我自用的例子。
<?xml version="1.0" encoding="UTF-8"?>
<playercorefactory>
<players>
<player name="PotPlayer" type="ExternalPlayer" audio="false" video="true">
<filename>C:\PotPlayer\PotPlayerMini64.exe</filename>
<hidexbmc>true</hidexbmc>
<hideconsole>false</hideconsole>
<hidecursor>false</hidecursor>
<playonestackitem>true</playonestackitem>
</player>
<player name="PotPlayer-FFDshow" type="ExternalPlayer" audio="false" video="true">
<filename>C:\PotPlayer\PotPlayerMini64-FFDshow.exe</filename>
<hidexbmc>true</hidexbmc>
<hideconsole>false</hideconsole>
<hidecursor>false</hidecursor>
<playonestackitem>true</playonestackitem>
</player>
<player name="PotPlayer-debug" type="ExternalPlayer" audio="false" video="true">
<filename>C:\PotPlayer\PotPlayerMini64-debug.exe</filename>
<hidexbmc>true</hidexbmc>
<hideconsole>false</hideconsole>
<hidecursor>false</hidecursor>
<playonestackitem>true</playonestackitem>
</player>
<player name="PotPlayer-debug-A" type="ExternalPlayer" audio="false" video="true">
<filename>C:\PotPlayer\PotPlayerMini64-debug-A.exe</filename>
<hidexbmc>true</hidexbmc>
<hideconsole>false</hideconsole>
<hidecursor>false</hidecursor>
<playonestackitem>true</playonestackitem>
</player>
<player name="MPC-HC" type="ExternalPlayer" audio="false" video="true">
<filename>C:\Program Files\MPC-HC\mpc-hc64.exe</filename>
<hidexbmc>true</hidexbmc>
<hideconsole>false</hideconsole>
<hidecursor>false</hidecursor>
<playonestackitem>true</playonestackitem>
</player>
</players>
<rules action="prepend">
<rule player="MPC-HC" filetypes="m3u8" />
<rule player="MPC-HC" internetstream="true" />
<rule video="true" player="PotPlayer-FFDshow" filename=".+FFDshow" />
<rule video="true" player="PotPlayer-debug-A" filename=".+动画+.+debug|.+动漫+.+debug" />
<rule video="true" player="PotPlayer-debug" filename=".+debug" />
<rule video="true" player="PotPlayer-debug-A" filetypes="rm|rmvb" filename=".+动画|.+动漫" />
<rule video="true" player="PotPlayer-debug" filetypes="rm|rmvb" />
<rule video="true" player="PotPlayer-debug" filetypes="bdmv|mpls" filename=".+50fps|.+60fps|.+120fps" />
<rule video="true" player="PotPlayer" />
</rules>
</playercorefactory>
添加播放器
<players>里面的<player>标签是添加第三方播放器。
当中需要修改的有
name="PotPlayer" 定义你这个播放器的名字,调用是按照名字的
<filename>C:\PotPlayer\PotPlayerMini64.exe</filename> 是播放器的执行路径
播放器调用的规则
<rules>标签内的是规则,跟potplayer那个多方案一样,匹配是按照从上到下的顺序匹配的。
这里支持的条件有很多,比potplayer的还要多。不过调用的目的是弥补potplayer的判定条件不足,所以主要采用pot没有的条件。
各参数含义
player:调用播放器的名称
video:是否一个视频
filetypes:文件后缀,采用正则表达式
filename:文件的完整路径,采用正则表达式
internetstream:是否在线视频
关于正则表达式,跟通配符不是一个玩意。我也不是很懂的,总是学不好,只能做简单的。
.相当于通配符的*
+相当于字符串的&,两串字符接上。
|就是逻辑判断or
按照 filename 的原设计的宗旨来说,输入“动画|动漫”,理应匹配到带有 动画 或 动漫 的路径。不过结果是不行的。
这个从某个版本开始存在的bug,而且用的人少,所以不再修复。
其实原设计程序员大佬给你自动填充为 .+动画+.
但是程序员大佬在某个版本手误,少了前面的 .+ 所以我们使用时,应该在前面补上 .+
因此填作 “.+动画|.+动漫”
在我写的条件里面还有这么一个例子 ".+动画+.+debug|.+动漫+.+debug"
转换成大家可以理解的通配符就应该是这样的 *动画*debug* or *动漫*debug*
因此,当路径为
D:\粤语动画\重力王[debug]\01.mkv
这时候可以匹配到
如果路径为
D:\[debug]粤语动画\重力王\01.mkv
这样是匹配不到的
很显然这样的正则表达式的运用可以实现各种刁钻的条件匹配,弥补了之前potplayer在路径名称匹配上的不足。
举例
player="PotPlayer" 调用名称为 PotPlayer 的播放器
video="true" 这是一个视频
filetypes="rm|rmvb" 匹配rm或者rmvb文件
filename=".+动画|.+动漫" 完整的视频路径内含有 动画 或 动漫 字符
internetstream="true" 是网络视频(例如:IPTV、视频网站)
接着我对我这套规则逐一分析一下,大家可以作为一个思路借鉴。
<rules action="prepend">
<rule player="MPC-HC" filetypes="m3u8" />
m3u8其实是一个常用的在线视频格式,很多IPTV、直播、网络视频都再用,其实作用跟下一句是一样的。我是写这个双保险。当播放m3u8文件,调用MPC-HC播放器。我是考虑MPC-HC稳定,用MPC-HC看电视的。
<rule player="MPC-HC" internetstream="true" />
当它是网络串流(线上视频),调用MPC-HC。我是看电视用,没加video="true",说明我用来听网络电台广播也会调用这个播放器。
<rule video="true" player="PotPlayer-FFDshow" filename=".+FFDshow" />
当视频路径当中包含 FFDshow 字符串,就调用PotPlayer-FFDshow播放器。这是针对花屏用的解码器选了FFDshow。例如路径为:D:\粤语动画\五更龙宝宝[FFDshow]\01.mkv。那么就匹配到,比起potplayer傻傻的批量改文件名,这样改文件夹名字就够了,方便许多。
<rule video="true" player="PotPlayer-debug-A" filename=".+动画+.+debug|.+动漫+.+debug" />
当视频路径当中包含 动画*debug 字符串,就调用PotPlayer-debug-A播放器。在卡帧bug的问题上,起到区分动画和真人两套方案。这个条件显然是给动画用的。
<rule video="true" player="PotPlayer-debug" filename=".+debug" />
接上面一条,这个就是给非动画的视频用了。
<rule video="true" player="PotPlayer-debug-A" filetypes="rm|rmvb" filename=".+动画|.+动漫" />
我发现只要是rm格式的视频,播放器都一定不能够正确识别反交错。我说过debug处理我要将 卡帧bug 和 强制反交错 打包处理,所以当然丢给 PotPlayer-debug-A 玩,并且这是给动画用的。
<rule video="true" player="PotPlayer-debug" filetypes="rm|rmvb" />
接上面一条,这个就是给非动画的视频用了。
<rule video="true" player="PotPlayer-debug" filetypes="bdmv|mpls" filename=".+50fps|.+60fps|.+120fps" />
当文件为bdmv或mpls格式(这是BD原盘),并且完整路径包含 50fps 或 60fps 或 120fps,那么就会生效。这个是给变态BD原盘用的,让那些4K60别补帧。为什么判断条件不直接检测帧率,而是要靠我改文件夹名称呢?因为bdmv文件只是一个类似快捷方式的存在,并非视频本体,kodi不会检测到他的分辨率、帧率等信息,所以只能靠字符匹配。
例如 S:\电影\比利林恩的中场战事 [4K60fps]\Billy.Lynns.Long.Halftime.Walk.2016.2160p.BluRay.HEVC.TrueHD.7.1.Atmos-HDRINVASION\BDMV\index.bdmv
这样就可以匹配到了,这类变态原盘也不多见,手写无妨。
<rule video="true" player="PotPlayer" />
只要是个视频就用PotPlayer,这充当一个默认设置
</rules>
配套的potplayer规则
方便大家直接抄,把我自用的potplayer全部分身的方案罗列出来。
完整一套方案挺烧脑的,反复测试调整了半个月才定型。
PotPlayerMini64.exe
名称:4K30 LAV+AVS
方案:LAV解码+AviSynth滤镜
规则:
文件名 或 *bdmv,*mpls
尺寸 和 4000x2200 AND 更小
帧率 和 55 更小
名称:8K FFmpeg
方案:内置FFmpeg解码器(默认8bit) 因为用LAV解成10bit我的播放机配置吃不下
规则:
尺寸 和 4000x2200 AND 更大
名称:4K120 FFmpeg
方案:内置FFmpeg解码器(默认8bit) 跟前面一样,变态视频吃不消
规则:
尺寸 和 3000x2000 OR 更大
帧率 和 110 更大
名称:LAV
方案:LAV解码器
规则:设为默认
其实经过上面一轮筛选,能够匹配到默认,只剩下4K60一种情况
PotPlayerMini64-debug.exe
名称:24fps
方案:内置FFmpeg解码+LB强制反交错+内置AviSynth脚本(24fps)+madVR滤镜模式
规则:
帧率 和 25 更小
名称:25fps
方案:内置FFmpeg解码+LB强制反交错+内置AviSynth脚本(25fps)+madVR滤镜模式
规则:
帧率 和 26 更小
名称:30fps
方案:内置FFmpeg解码+LB强制反交错+内置AviSynth脚本(30fps)+madVR滤镜模式
规则:
帧率 和 55 更小
至于默认值方面都不用搞了,能丢到debug来的,都是这些玩意了
PotPlayerMini64-debug-A.exe
名称:24fps动漫
方案:内置FFmpeg解码+LB强制反交错+内置AviSynth脚本(24fps动画)+madVR滤镜模式
规则:
帧率 和 25 更小
名称:25fps动漫
方案:内置FFmpeg解码+LB强制反交错+内置AviSynth脚本(25fps动画)+madVR滤镜模式
规则:
帧率 和 26 更小
名称:30fps动漫
方案:内置FFmpeg解码+LB强制反交错+内置AviSynth脚本(30fps动画)+madVR滤镜模式
规则:
帧率 和 55 更小
PotPlayerMini64-FFDshow.exe
单个默认方案:ffdshow解码
丢这里来只有一种情况,根本不用规则
至此,全套课程完成,你可以我猜你最短需要搞一个月才能完工。
除非你很闲~~~
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|