分享

使用专业工具进行视频压制全过程5

 赤豆3909 2015-10-19

4.TS的处理方案:
我们这里说的TS是指日本职人录得HDTV的TS,而非BD里的TS。两者的编码并不相同。HDTV的TS是mpeg2编码,而BD是AVC编码。
TS的处理相对比较麻烦。首先,它是有拉丝的,也就是我们常说的锯齿;其次,它是有广告的,需要我们进行剪裁和拼接。
11区的动画和天朝的电视剧差不多,一集中间夹着很多广告,把完整的一集切割成好几个部分。一般来说,一个TS按照时间顺序由以下几部分构成:

广告1+动画OP+广告2+动画part1+广告3+动画part2及ED+广告4+动画part3及下集预告+广告5

我们要做的就是把5个part的广告剪切掉,使得动画的4个part衔接起来,并重新编码成类似11区职人发布的raw一样的文件。
下面介绍TS处理的操作流程:
首先打开Megui,选择Tools---File Indexer,在Input File项选择要处理的TS文件。自动识别出MPEG2编码,并调用DGIndex。



点击右下角的Queue添加任务到列表。切换到主界面2点击start,生成工程文件,后缀名为d2v。



此时megui会自动打开一个预览窗口和AVS Script Creator(AVS脚本编辑器)。我们这里要用到AVS脚本编辑器。
AVS脚本编辑器分为三个界面
先看第一个界面。上半部分是视频输入的设定项:



下半是剪裁形变和输出的设定项:Crop(剪裁):主要用于裁黑边,比如以前老动画的数码重映,左右就会出现大块的黑边,重编码时会浪费码率,所以我们可以裁掉以节省码率。
Resize(形变):主要是设定成品分辨率。主流的分辨率我们在前言部分已经说明,可以根据需要手动设置,一般不勾选后面的“建议分辨率”选项。



第二个界面是一些常用滤镜的设定选项,可以分为5个部分:
源文件是d2v时:



源文件是avi时:



这个没有用过,貌似是配合N卡的cuda压片用的。


Deinterlacing(反交错)部分:


通常我们可以使用自动分析得出最佳的反交错处理方案。我们下边的TS处理也是采取此方法。经验丰富的也可以手动设定源文件类型、场序及反交错方案。
Filters(滤镜)部分:



形变滤镜和字幕滤镜不再赘述。具体说下Noise Filter(降噪滤镜):勾选后下拉列表中有4个预置项。分别对应调用4种不同的降噪滤镜。对应关系如下:

 

预置项                                       调用滤镜
Minimal Noise(噪点极少)           Undot()
Little Noise(噪点少)           mergechroma(blur(1.3))
Medium Noise(噪点中)           FluxSmoothST(7,7)
Heavy Noise(噪点多)           Convolution3D("movielq")

 

第三个界面就是avs脚本的内容显示,其中的函数及相应参数会根据前两个界面的设定选项的变化而变化。



现在我们回到TS处理的操作,megui在生成d2v工程文件后会自动打开AVS脚本编辑器,并默认载入了d2v文件。由于TS都是1440X1080的1080i文件,所以在第一个界面我们需要设定一个Resize,确定成品的分辨率,比如1280X720或者1920X1080。



然后切换到第二个界面。点击Deinterlacing部分的Analyse,AVS脚本编辑器就会自动对d2v文件进行分析。



分析结束后会给出最合适的处理方案





我们可以在第三个界面看到处理方案的函数及参数。点击右下角的Save保存AVS脚本。



我们对AVS脚本内容进行整理,得到如下AVS脚本:

LoadPlugin("e:\avsplugin\DGDecode.dll")
LoadPlugin("e:\avsplugin\ColorMatrix.dll")
LoadPlugin("e:\avsplugin\TIVTC.dll")

mpeg2source("E:\Encode\kimi\kimi_ni_2nd_03.d2v",info=3).ColorMatrix(hints=true, interlaced=true, threads=0).tfm (order=1).tdecimate(hybrid=1).LanczosResize(1280,720)

再回到脚本编辑器的第一个界面,在Resize项把分辨率调整为704X396(主要是为了预览方便)。在Output项重命名avs脚本的名字,点击Save保存成一个新的avs脚本。我们这里把它标记为test.avs。



打开VDM,载入test.avs。拖动下面的进度条,寻找动画4个part的开始帧和结束帧,记录下来。并用记事本打开刚刚保存的AVS脚本。使用AVS的内置滤镜trim,截取需要的part。输入后AVS脚本的内容如下:

LoadPlugin("e:\avsplugin\DGDecode.dll")
LoadPlugin("e:\avsplugin\ColorMatrix.dll")
LoadPlugin("e:\avsplugin\TIVTC.dll")

mpeg2source("E:\Encode\kimi\kimi_ni_2nd_03.d2v",info=3).ColorMatrix(hints=true, interlaced=true, threads=0).tfm(order=1).tdecimate(hybrid=1).LanczosResize(1280,720)
trim(2152,3589)+trim(5867,20971)+trim(23131,38833)+trim(40992,41229)

注:此处也可以使用Megui---Tools---AVS Cutter(AVS切割器)来进行切割。VDM是我个人的使用习惯。
保存输入的内容,用VDM载入修改后的AVS脚本,浏览4个part的衔接处,看是否有错截取的帧。确认无误后关闭VDM。此时TS处理的AVS脚本完成。


非完美主义者其实到这里就OK了。但有些童鞋会不喜欢片子中出现电视台的台标。这时,我们就可以使用delogo滤镜来去掉电视台的台标。
首先打开AviUtl。载入TS文件。

(由于AU是一个11区高人开发的软件,故插件神马的都是日语,中文系统使用时会出现乱码,童鞋们记清楚即可,不影响使用。)



点击フィルタ(滤镜)项选择使用delogo插件



然后再在设定项中调出delogo插件的设定窗口。



里面一共有7个选项,分别是:
位置X:选定框左上角的横坐标
位置Y:选定框左上角的纵坐标
宽:选定框的宽度
高:选定框的长度
阀值:也就是透明度,取值范围从0-255,可以根据不同的情况进行设定。
标记有效帧:标记有效帧
保存有效帧列表:将有效帧列表保存为文本



在delogo插件的设定窗口调节前四个选项的值,使得选定框恰好把台标圈在里面。



点击插件设定窗口中的唯一按钮,会出现一个扫描进度的窗口并开始自动扫描。



扫描结束后,点击保存,保存扫描的信息文件,后缀名是lgd。

(注:logo扫描的源文件需要是动态背景的,也就是说,如果是纯黑背景上的logo采用该插件是没有作用的,自动扫描过程中可以看到扫描出的有效帧数,如果有效帧数过少,可以适当调整阙值来增加扫描精确度。)





打开AVS脚本,先载入delogo滤镜需要的dll文件,然后在源函数的后面添加delogo函数。输入后AVS脚本的内容如下:

LoadPlugin("e:\avsplugin\DGDecode.dll")
LoadPlugin("e:\avsplugin\ColorMatrix.dll")
LoadPlugin("e:\avsplugin\TIVTC.dll")
LoadPlugin("e:\avsplugin\ delogo.dll")

mpeg2source("E:\Encode\kimi\kimi_ni_2nd_03.d2v",info=3).EraseLOGO(logofile="kimi_ni_2nd_03 1440x1080.lgd",start=0,end=-1).ColorMatrix(hints=true, interlaced=true, threads=0).tfm(order=1).tdecimate(hybrid=1).LanczosResize(1280,720)
trim(2152,3589)+trim(5867,20971)+trim(23131,38833)+trim(40992,41229)

高阶delogo:在使用avs中的delogo滤镜中的阙值,如果默认值效果欠佳,可以分段动态进行调整,调值可以通过au中的delogo插件进行可视化操作。
TS的处理到此结束。保存后的AVS脚本可以直接使用megui载入进行编码。
综上所述,TS处理的通用AVS脚本代码如下:

LoadPlugin("e:\avsplugin\DGDecode.dll")
LoadPlugin("e:\avsplugin\ColorMatrix.dll")
LoadPlugin("e:\avsplugin\TIVTC.dll")
LoadPlugin("e:\avsplugin\ delogo.dll")

mpeg2source("片源文件.d2v",info=3).EraseLOGO(logofile="AU生成的delogo索引文件.lgd",start=0,end=-1).ColorMatrix(hints=true, interlaced=true, threads=0).tfm(order=1).tdecimate(hybrid=1).LanczosResize(成品分辨率)
trim(动画OP)+trim(动画part1)+trim(动画part2及ED)+trim(动画part3及下集预告)

 

音频处理

其实音频部分没有啥特别值得说的。megui主界面部分的audio编码部分其实已经非常强大了。加之做HDTVRIP的使用的音频都是NeroAac编码的aac文件。所以一般来说用megui预置的profile文件进行重编码就好了。偷懒的话直接使用下载的raw里分离处理的音频轨,连重编码都省了。



操作流程如下:
首选在Audio Input(音频输入)项选择要编码的音频轨文件,支持的格式很多。



然后在Audio Output(音频输出)项设定编码后的音频轨的输出路径和文件名。



在Encoder Settings的下拉列表里选择需要的编码方式,有Aften AC3、Nero Aac、Lame mp3和ogg等可供选择。我们这里选择Nero Aac编码。



点击后面的Config项可以进行高级设定。
在Extension项选择输出的文件格式。aac编码时有mp4-aac(后缀名mp4)和m4a(后缀名m4a)可选。Delay项可以设定音频的延迟时间,单位是毫秒,值可以是正的或者负的。主要用于声音和画面不同步时的调整。一般情况下不需要特别设置。



点击Enqueue添加到任务列表。转到主界面2,点击start开始编码。

下面简单说下AVS的音频处理滤镜。虽然很少会用到,但有时处理一些音频时,用AVS脚本会很便捷。
首先是音频轨的加载滤镜。AVS内置有WAVSource滤镜,可以加载wav文件。另外常用的还有外置的AC3和MP3加载滤镜,需要先载入相应的dll文件。函数如下
WAVSource("xxx.wav")        #加载wav音频 
LoadPlugin("ac3source.dll")    #加载AC3滤镜
AC3Source("xxx.ac3")         #加载ac3音频 
LoadPlugin("mpasource.dll")    #加载mp3滤镜
MPASource("xxx.mp3")        #加载mp3音频
也可以像前面说的那样,偷懒地用DSS载入音频文件。
DirectShowSource(“音频文件”)
接下来是音频的处理滤镜。常用的有以下四个:
SSRC(48000)或者SSRC(44100):高质量的改变音频的采样率。
DelayAudio(时间):设定音频的延迟时间,单位是秒。值可为正or负。
AmplifydB(5):放大音频的音量,单位是分贝,值可以根据需要设定。
AudioDub(video,audio):把视频轨和音频轨合成一个完整的视频文件。
例如我们要处理一个VOB中提取出的AC3文件,可以写成如下avs脚本:
DirectShowSource(“kimi_ni_01.ac3”).AmplifydB(5).DelayAudio(-0.23)
表示用DSS载入ac3后,将音量放大了5分贝,并进行了-230毫秒的延迟。

合成封装


前面我们已经分别压好了视频轨和音频轨,接下来就需要把它们合并成完整的视频文件。也就是我们即将要讲的合成封装。
我们有两个选择,封装成mp4或者mkv。相对于mp4来说,mkv支持的视频轨、音频轨格式更为丰富和多样。而且最主要的一点,mp4只支持srt字幕,不支持ass,这是mp4的最大软肋。
我们可以使用megui的tools菜单下muxer里的mp4 muxer和mkv muxer来分别封装mp4和mkv。因为两个muxer的gui大体相同,我们以mp4 muxer为例来说明。具体操作如下:
打开mp4 muxer主界面。在Video Input(视频输入)项中选择我们前面编码好的视频轨文件。FPS处会自动识别视频轨的帧速率。Name处可以填入视频轨的说明。



在Audio(音频)部分。选择我们前面编码好的音频轨文件。Language项可以选择标注音轨的语言(封装多音轨时方便确认),Name处可以填写音频轨的说明。Delay处因为我们前面重新编码音频轨时已经做过处理,故此处不再修正,保存默认值0即可。
因为我们通常只需要封装一条音轨,故Audio2忽略。



Subtitle(字幕)部分。我们前面压制视频轨时,字幕已经内嵌,故此处可以空置。如果前面未内嵌字幕,则在此处添加字幕。同音频,可以标明字幕的语言。



Chapter(章节)部分。我们可以导入编辑好的章节文件,这样在播放成品时实现类似DVD菜单的章节效果。做DVDRIP时使用较多,一般的TVRIP忽略即可。



Output(输出)部分。
在Muxed Output项选择输出的完整视频文件的路径和文件名。
Splitting(切割)项,下拉菜单里有一些预置的大小分割文件,主要是用来刻盘方便。有要求的可以根据需要选择,我们在此忽略,即使用默认的No splitting(不进行分割)。
Device Type(设备类型)项。由于我们压制的视频主要是在电脑上播放,故此处使用默认的Standard(标准)即可。除此之外还有iphone、ipad、psp可选,在压制iphone或psp适用的mp4时可以根据需要选择相应的Type类型。



全部设置完毕后,点击右下角的Queue添加任务到列表。切换到megui的主界面2,点击Start开始合成。
合成结束后我们得到压制好的完整的视频文件。用hash校验软件校验文件的CRC32值,并对成品文件进行重命名。


本压制教程到此结束,希望能给大家带来一些帮助。本人水平不高,有不足之处还请指正,希望各位达人不吝赐教。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多