目的:压制日本电视节目TS档,去除横纹反交错
个人向学习笔记,纯TM自学经验记录错误一大堆
日本电视录制的TS档都是隔行扫描且分辨率信息为1440*1080的,
直接打轴或者转换格式上传B站的话,画面中会出现一丝一丝的横纹且画面分辨率经常出现异常
这个时候就需要对TS档进行反交错处理(DVD及Blu-ray获取的源档处理同理)
隔行扫描原理、如何判别视频是否时隔行扫描、以及世界各国不同的电视制式在此不多展开
具体可参考以下文章:《交错、反交错与IVTC —— 从入门到放弃》作者:西蔚@知乎
反交错滤镜有很多,对于处理日本综艺和日剧节目本人常用Yadif和QTGMC这两款
- Yadif、QTGMC以及Tapaz主观向对比
- Yadif 使用教程
- QTGMC 使用教程
- 衍生:记录TS压制转码时踩到的音画不同步的坑和解决办法
- 衍生:搞压制从入门到入土;w; 记录自学IVTC和24T学习笔记
————————————
PS:扯一点废话,因为嫌每次TS都要压档麻烦,而且台标烦人
原本以为可以直接用现在日本在线配信平台的档,但实际测试下来
日剧和日影的画质是可以的(日后抽空写一个各大平台配信的码率画质评测)
日综并不是所有每个节目都能有在线,有的有配信也不是1080P
例如NHK的节目只在NHK+上且基本为540P,NTV的校革只有720P,Dash在hulu上的配信为1440*848
TVer上的回放都有1080P但是码率非常糟糕,其中以NTV的节目尤为明显,画面噪点马赛克非常厉害
所以折腾来折腾去最后还是老老实实的回TS压制...
————————————
Yadif、QTGMC以及Tapaz主观向对比
Yadif
免费,最主流的反交错滤镜,Mediacoder、HandBrake、ShanaEncoder均自带,开启即用
其实对于一般处理TS反交错Yadif完全足够了,又方便处理又快速,也是最为主流的滤镜
但是我个人比较鸡毛,总是觉得Yadif处理完的视频有略微的虚化轻微色差(。)
QTGMC
免费,MeGUI + AVS使用QTGMC滤镜,反交错效果更好,时间杀手...
压制非常的耗时,同时需要通过写AVS脚本用MeGUI进行压制,但是压制出来的最好
核心脚本需要自行一个个下载,参数也需要在AVS里手动添加,全程无中文
Tapaz的反交错功能不推荐,一方面Tapaz是一个不便宜的付费软件,
更重要的是压制非常耗时,然而对于内容运动较快影像并不能很好的处理(经常还会有横纹残留)
—— —— ——
一个简单对比
原生9GB,时长为 1hr31ms 的日本综艺TS档
分别使用 MediaCoder自带的Yadif 和 MeGUI用AVS挂QTGMC 压制
输出均为 固定质量23crf、原生固定帧率、AVC Main@L5.1 x264 的情况下
用时间细节清晰度,看各自权衡取舍
—— —— ——
Yadif 使用教程
Mediacoder、HandBrake、ShanaEncoder均自带Yadif,因此只需要在压制时开启反交错即可
除此之外还需注意 1. 必须将输出画面调整为 1920*1080;2. 必须设置为源文件固定帧率
前者是因为TS档的显示尺寸和实际尺寸不服(实际为1440*1080),可能会导致一系列的比例错误
后者则是因为可变帧率是会造成视频音画不同步一个常见原因,设为固定以避免可能造成的问题
除此之外的压制参数和编码设置都可以按照各自的需求进行选择,这里先不多展开
MediaCoder:画面
- 分辨率:1920*1080
- 帧率:原始
- 反交错:开启
- 算法:Yadif
Handbrake:尺寸
- 缩放大小:1920*1080
- 滤镜
- 反交错:Yadif
- 视频
- 帧率:原始 固定帧率
—— —— ——
QTGMC 使用教程
1. 安装MeGUI和AVS
个人AVS选用的是AviSynth+,以及下载安装MeGUI
2. 安装QTGMC
打开脚本主页挨个下载核心脚本 QTGMC.avsi
以及依赖脚本 MaskTools2、MVTools2、nnedi3、RgTools、Zs_RF_Shared
因为是Windows系统(大于win7),且安装的AviSynth+是32位软件,所以依赖脚本都选择x86的版本
附加脚本按照自己情况选用
为了方便写AVS脚本可将核心脚本一起放到AviSynth+程序主目录的plugins文件夹内
默认安装路径的话,文件夹地址为 C:\Program Files (x86)\AviSynth+\plugins
这样就不需要在写AVS脚本时额外一行行添加读取脚本路径的指令了
LoadPlugin("脚本路径")
将FFTW3 library windows 32-bit version里的libfftw3f-3.dll
文件拿出来
拷贝复制一份,并将其中一份改名为"FFTW3.dll"(即libfftw3f-3.dll
、FFTW3.dll
两个文件)
32位系统将文件夹内两个dll放入C:\Windows\SysWOW64
64位系统将文件夹内两个dll放入C:\Windows\System32
AVS脚本编写 MeGUI压制
打开MeGUI Tools
- AVS Script Creater
QTGMC( Preset="Slow" )
SelectEven()
Preset有Placebo
• Very Slow
• Slower
• Slow
• Medium
• Fast
• Faster
• Very Fast
• Super Fast
• Ultra Fast
• Draft
几种可选,分别代表了不同的处理速度
理论上说处理速度越慢效果越好,但是没有必要无脑选择最慢,默认的为 Slow
SelectEven()
为保持视频源帧率,不然会使输出视频帧率翻倍
另外要将原有的1440视频分辨率改为1920 LanczosResize(1920,1080) # Lanczos (Sharp)
保存后如不意外MeGUI就会给出挂在了QTGMC滤镜已反交错,且画面比例正确的预览
最后进行漫长的压制,压制完成后将检查一下音频,没有就手动封装
以上为最基础的MeGUI和QTGMC使用教程。
视频及h264详细参数设置即QTGMC详细参数设置可以参考:
VCB-Studio教程专栏 / QTGMC - Avisynth wiki
————————————
衍生:记录TS压制转码时踩到的音画不同步的坑和解决办法
TS压制的时候很容易会出现音画不同步的问题,就我自己以前遇到过的情况就有诸如直接剪辑拼接TS后拼接口出现花屏和进度条错误、音轨格式特殊导致压制成品不同步等等,所以才会逐渐总结出个人向的视频压制工具及处理方法。
不过偶尔还是会有特殊情况,就刚才在压制的时候遇到了一个新的情况:
POTPLAYER可以正常播放的TS文件,在用QTGMC进行反交错转码压制成MP4格式时出现一开始正常蛋随着时长轻音画不同步现象逐渐明显。
在确认了并非上文提到过的动态码率造成音画不同步、以及并非TS切割拼接口错误造成的问题后,通过反复测试确认是由于TS视频源档视频轨的问题。
可能是因为电视台信号的关系,视频轨在一些关键帧画面切换转场进行快进时会出现短暂花屏情况,而就是在这些会花屏的关键帧处,压制会对画面进行一个微妙的加5帧延长,而与此同时未对音频进行对应处理产生了时间差,累计下来音画不同步的问题就非常明显了。
因为是视频轨不规则散布式多次被延长的关系,所以无论如何对音频进行重压重混都没有用。
应对办法是压制时使用LWLibavVideoSource和LWLibavAudioSource来建立视频和音频同步信息的索引,而不是通常惯用的DGIndex,并使用av_sync参数。使用较新版本的MeGUI话可以在建立AVS时,在File Indexer
选择L-SMASH Works
即可。
————————————
衍生:搞压制从入门到入土;w; 记录自学IVTC和24T学习笔记
最近用打算用MEGUI QTGMC压制收藏某个电影剧集时又又又发生了严重音画不同步的问题
然后在咨询了动画压制组压制大佬后,终于开始重视起之间被我当作没看到的ivtc和24t(。)
原本以为这个只是动画那边压制会遇到的问题,我这边自己搞真人综艺不会遇到(的确很少碰到),是我天真了
总之就是某部电影剧集按帧查看是五烂二24T,先前我没有看帧分析,直接粗暴的QTGMC冲上去一阵压
这样压碟的30i反交错没问题,但是对五烂二24T的TS裆就是音画不同步到姥姥家orz
所以这里记录一下自己瞎折腾IVTC的自学笔记
PS
果然自己一个人瞎搞不行啊,真的处理意识和应对思路什么的完全不规范
在这几天进行自学研究时常去的NMM-HD还炸了(。)没有加讨论组习惯的我欲哭无泪
幸好在写这篇追加时网站恢复了...
好想进个比较有规模的高清影视片源压制组比如VCB或DOA当苦力学习(蹬腿)...
首先就是按帧查看,五帧里3帧是好的2帧有拉丝以此循环,所以是五烂二,即24T
而并不是每一帧都拉丝 即30i。我用处理30i的方式去搞24T自然就是画面声音对不上了
24T要做的是IVTC,场匹配把拉丝错位的帧修复成正常的,用到的插件是 TIVTC
忘记MEGUI是否自带了TIVTC.dll 文件了,有的话就直接AVS读取,没有的就上面下一个
一般做IVTC用tfm()就可以了,但是我龟毛,就是喜欢用QTGMC...(。)
反正tfm()会直接标记出哪些帧有拉丝,那我选择标记后不用tfm()处理,而是交给QTGMC
反正最后的avs脚本是这样的
LoadPlugin("C:\Users\admin\Desktop\MeGUI\tools\avisynth_plugin\TIVTC.dll")
LoadPlugin("C:\Users\admin\Desktop\MeGUI\tools\lsmash\LSMASHSource.dll")
LWLibavVideoSource("D:\kyire\111111.ts")
tfm(order=-1,mode=3, pp=1)
QTGMC( Preset="Slow", FPSDivisor=2 )
LanczosResize(1920,1080)
tdecimate(mode=0)
tfm()
order -
用于设置视频的场顺序,确保去交错处理的正确性
-1: 自动检测(使用 AviSynth 内部的场顺序值)
0: 低场优先(Bottom Field First, BFF)
1: 高场优先(Top Field First, TFF)
mode -
用于设置匹配模式或策略,以确定如何进行场匹配和去交错处理
不同模式在处理不良编辑、孤立字段和混合字段时的表现不同
0 = 双向匹配 (p/c) 最安全的选项,尽可能避免由于重复帧引起的抖动,但如果存在不良编辑或混合字段,可能会输出梳状帧,即使可能存在好的匹配帧
1 = 双向匹配 + 梳理时第三次匹配 (p/c + n) 在检测到梳状帧时,增加第三次匹配尝试
2 = 双向匹配 + 梳理时第三次匹配(相同顺序) (p/c + u) 在检测到梳状帧时,以相同顺序增加第三次匹配尝试
3 = 双向匹配 + 梳理时第三次匹配 + 如果仍然梳理则第四/第五次匹配 (p/c + n + u/b) 在检测到梳状帧时,增加第三次匹配尝试,如果仍然存在梳状帧,继续尝试第四和第五次匹配
4 = 三向匹配 (p/c/n) 三次匹配尝试
5 = 三向匹配 + 梳理时第四/第五次匹配 (p/c/n + u/b) 三次匹配尝试,如果仍然存在梳状帧,继续尝试第四和第五次匹配。这种模式在找到好帧的几率上最高,但风险是可能会导致抖动
6 = 模式2 + 梳理时额外匹配 (p/c + u + n + b) 结合模式 2 和额外的匹配尝试,以处理梳状帧
7 = 模式0 + 基于先前匹配的字段切换
PP -
设置后处理模式。这控制了TFM应该如何处理(或不处理)从字段匹配过程中出现的任何梳理帧。可能的选项是:
0 - 什么都不做(甚至不查找梳理帧)
1 - 查找/提示梳理帧但不进行去隔行处理
2 - 简单的混合去隔行处理
3 - 简单的立方插值去隔行处理
4 - 简单的修改-ELA去隔行处理
5 - 运动自适应混合去隔行处理
6 - 运动自适应立方插值去隔行处理
7 - 运动自适应修改-ELA去隔行处理
默认值:6 (int)
一些参考资料:
VCB-Studio 公开教程 第十章 初等 30 fps 处理
VCB-Studio 教程22 30fps片源处理 1
VCB-Studio 教程23 30fps片源处理 2 Deint与IVTC详解
TIVTC/TFM
TDecimate
1 条评论