MediaCoder算是一个比较万能的视频压制工具,但是遇到添加字幕的时候就会有很大的局限了,目前的版本都只支持直接添加srt的字幕。而srt的字幕没有特效,字体和大小都难以做到和ass,ssa一样的效果。
所以这里给大家介绍一种方法,来给视频添加ass,ssa字幕
1.安装AVS
首先下载AviSynth, 并安装,然后下载VSFilter.dll并将其Copy到AviSynth目录下。
2.编写AVS文件
然后新建一个.avs文件(可以新建.txt文件,然后改成avs后缀)
在里面如下面得格式键入:
LoadPlugin(”C:Program FilesDirectVobSubVSFilter.dll”) DirectShowSource(”E:娱乐视频MV高清视频720加州旅馆–Hotel California.720p.mkv”) TextSub(”E:娱乐视频MV高清视频720加州旅馆–Hotel California.720p.ass”)
保存之,用播放器KMplayer(finalcodec,purecodec)看一下效果可以了再压制。
这里注意下:有些视频用这种办法可能无法打开
我这边MP4是打不开的,AVI和MKV是没有问题的,至于为什么打不开,貌似是AVS解码问题。
3.压制AVS文件
对于可以可以直接用播放器打开的AVS,进行如下压制:
将AVS添加到MediaCoder之中,当成一个视频文件压制就行了。
4.对于用以上方法无法用播放器打开的AVS文件
需要另外用到一个工具GraphEdit 4.1用GraphEdit打开视频:
4.2加入mkv文件
由于MKV视频不在GraphEdit默认视频列表里,把“文件类型”选成“所有类型”才能找到:
打开文件后,GE会使用系统默认的解码器和渲染器,渲染视频,系统默认的解码器是ffdshow,这个解码器对H264的解码比较占用CPU。
4.3使用其它解码器
打开“图表”-“插入过滤器”:
这里我选择CoreAVC,也可以使用PDVD7的,都不错:
4.4生成图表
图表里最后两个,一个是视频渲染器,一个是音频渲染器:
压制视频时不用这两个渲染器,把它们删除后如下图:
4.5保存图表,编写AVS
这次的AVS写的和上面的不一样了
LoadPlugin(”C:Program FilesDirectVobSubVSFilter.dll”) video=DirectShowSource(”C:加州旅馆.grf”).TextSub(”E:娱乐视频MV高清视频720加州旅馆–Hotel California.720p.ass”) audio=DirectShowSource(”E:娱乐视频MV高清视频720加州旅馆–Hotel California.720p.mkv”) AudioDub(video, audio)
解释一下各语句的意思:
LoadPlugin(”C:Program FilesDirectVobSubVSFilter.dll”)—–加载字幕插件 video=DirectShowSource(”C:加州旅馆.grf”).TextSub(”E:娱乐视频MV高清视频720加州旅馆–Hotel California.720p.ass”)—–从图表加载视频,并加入srt字幕。 audio=DirectShowSource(”E:娱乐视频MV高清视频720加州旅馆–Hotel California.720p.mkv”)—-从源文件加载音频。 AudioDub(video, audio)—-把视频和音频合并。