@木总的灰机餐 不同的视频源需要不同的载入滤镜,比如以ts/m2ts源为例,保守起见我建议用DG系列的源载入滤镜,其中mpeg2编码的通过DGindex输出dgi文件,然后通过dgsource载入dgi文件;avc编码通过dgavc输出dga文件,通过avcsource载入dga文件。当然,如果电脑显卡是N卡并且不是特别老的卡的话,可以直接DGNV输出dgi文件,两个编码格式通吃(还顺带可以反交错,不过因为我这里是A卡用不了dgnv,所以具体的参数我也不太清楚)。
而如果像mkv、mp4、flv封装的这类视频,就可以通过LWLibavVideoSource或者FFVideoSource载入。
通常来讲,保险起见的话,逐行扫描的视频建议用LWLibavVideoSource和FFVideoSource(其中FFvideoSource载入ts文件有可能会出现花屏,不知道后面的版本有没有所修复),隔行扫描的视频建议老老实实用dg系列滤镜。
而关于视频合并,avs做的是中间处理部分,并不能直接合并。直接无损合并的话可以参考mmg、ffmpeg之类的,需要视频分辨率、帧速率、相同编码格式等一些需求。
在avs中做合并处理我举个栗子:
A=FFVideoSource("E:\1.mp4").trim(1,7562) #载入1.mp4并截取1-7562帧,输出结果为“A”
B=FFVideoSource("E:2.mp4").trim(3551,12280) #载入2.mp4并截取3551-12280帧,输出结果为“B”
A+B #A为先,B为后,合并视频,输出结果为“A+B”
这样就得到拼接好的视频的avs脚本了,可以输出到x264进行压制。当然,这是很基础的拼接语法,相对搭配滤镜还有很多很多的变化。拼接时需要视频的分辨率和帧率一致,大概就是这样了