目的:压制日本电视节目TS档,去除横纹反交错
个人向学习笔记,粗浅不深入仅供参考
日本电视录制的TS档都是隔行扫描且分辨率信息为1440*1080的,
直接打轴或者转换格式上传B站的话,画面中会出现一丝一丝的横纹且画面分辨率经常出现异常
这个时候就需要对TS档进行反交错处理(DVD及Blu-ray获取的源档处理同理)
隔行扫描原理、如何判别视频是否时隔行扫描、以及世界各国不同的电视制式在此不多展开
具体可参考以下文章:《交错、反交错与IVTC —— 从入门到放弃》作者:西蔚@知乎
反交错滤镜有很多,对于处理日本综艺和日剧节目本人常用Yadif和QTGMC这两款
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
即可。