【Aegisub脚本】Encode - Hardsub - VapourSynth 使用说明
qwe7989199
2019年08月05日 14:27
收录于文集
共15篇

一、基本信息

为什么想写这个工具:

  1. 用Aegisub做完字幕,一般情况下还需要另外再用小丸/megui/消极压制或者编写avs/vpy脚本对字幕进行内嵌操作,有形中降低了生产效率,其实有个旧版压值脚本是基于avs+x264的,不过已经过时了,参考一下重新写个vs版的;

  2. A、I、N三家现在都有了比较便捷快速的硬编码方案,在线视频网站的二压参数也比过去讲究;存储和网速的提升使得我们可以把CPU编码的压力转移给其它硬件/网站,况且RTX的N卡至少已经能和x264 fast战了;

  3. 最近做CUT需求增多(运动跟踪字幕、沙雕综艺生放CUT、演唱会CUT,Vtuber直播CUT等),有个直接在字幕软件里输出视频片段的工具可以帮助实现沉浸式体(fa)验(dian),带来身心的愉悦;

  4. Aegisub的棋盘背景是个挺有意思的东西,Dummy Video仅用一行不长的字符串描述了所有必要的信息,刚好研究了一下怎办把它复现出来;

  5. 认识一下开源工具、并学习它们的使用方法,比如我在这之前就没写过vpy;

  6. (不幸)借机踩了各种坑,涨了一波姿势。

功能简介:

通过Aegisub的文件和视频相关接口,自动填写vpy脚本中的各种必要信息,在一次性设置好编码器参数保存后,可进行一键压制字幕/无字幕视频(片段)。支持A卡(APU)、N卡、Intel核显硬编。同时具有以下特性:

  1. 支持挂载主副两个ass文件,可选使用vsfilter或vsfiltermod

  2. 支持mp4和mkv两种封装

  3. 支持完美还原Aegisub棋盘样式空白视频

  4. 支持视频片段截取,并混流对应的音频(依赖于ffmpeg)

  5. 支持简单的编码参数选择,和添加自定义参数

  6. 可选择保留中间文件,如vpy脚本和bat文件,以供自行修改

  7. 支持调用neroaac进行音频编码

  8. 用了一些绕弯子的方法绕开了滤镜本身的缺陷

文件构成:

autoload\enc-hsub-VS.lua    --主脚本文件

include\enc_gui.lua       --界面配置文件

内部依赖:utils.lua               --HSL与RGB转换

外部依赖:VapourSynth(NegativeEncoder的目录结构及其打包的文件,除x264外)

                  x264编码器(可选,使用CPU编码时与VSPipe搭配)

                  VCEEnc(A卡用户可选)

 

作者信息:domo @ 2019.08

 

二、使用简介

工具的配置:

参考:https://www.bilibili.com/video/av62296494/​

压制视频:

      用户基本有四种选择,请自行适配:

  1. 使用QSVEnc,需要有Intel的核显(HD4600测试通过)

  2. 使用NVEnc,需要有Nvidia独显(GTX965M、GTX1070测试通过)

  3. 使用VCEEnc,需要有AMD独显(FirePro W4100测试通过)或者APU(Vega 10测试通过)

  4. 使用VSPipe和x264,进行CPU编码(速度慢,同体积画质可能更好)

    其余的选项都是简单的英文,需要对应的功能只要在前面的checkbox打钩并填好相关的

信息。

编码器设置:

选择界面

QSVEnc:

Preset(预设)

模式(mode):

一种是VBR(可变码率),对应参数是目标bitrate,越高文件越大。

另外一种是ICQ模式,对应参数是ICQ值,类似于x264的crf,越低画质越好,文件越大,越慢。

QSV的参数设置

NVEnc&VCEEnc:

Preset(预设)

只提供了码率控制模式(VBRHQ)

过于简单,没有图

X264:

Preset(预设)

只提供了crf模式

过于简单,没有图

最后:

  本工具采用想起来写啥就写一段的写法,很多地方没有输入检查,不过就算lua这端不报错,后面vpy和编码器也会报错的,不要慌。

lua脚本: https://github.com/qwe7989199/aegisub_scripts 

VSFilter: https://github.com/HomeOfVapourSynthEvolution/VSFilter 

VCEEnc: https://github.com/rigaya/VCEEnc 

消极压制: https://github.com/zyzsdy/NegativeEncoder

x264.exe: 可以从其它软件的tools文件夹里得到