新兴视频处理⼯具VapourSynth压制教程
VapourSynth作为⼀个开源的⾮线性视频处理frameserver,相⽐于已经停滞开发或者说是开发慢了点的AviSynth,有着全新的处理架构,同
时使⽤Python作为脚本书写语⾔,处理上更为科学,原⽣⽀持多线程处理,⽀持更多的颜⾊空间,良好的内存控制,可跨平台使⽤,有
32bit和64bit版本,同时⽀持Avisynth插件加载。
1. 安装完成之后,打开cmd,进⼊Python的交互命令模式,输⼊以下代码以测试VapouSynth是否安装成功:
import vapoursynth as vs
core = vs.get_core()unigui如何加快加载图片
print(core.version())
如果没有问题,就会显⽰如下内容:
VapourSynth Video Processing Library
Copyright (c) 2012-2017 Fredrik Mellbin
Core R38
API R3.5
Options: -
2. 由于VapourSynth使⽤的脚本语⾔是Python,所以这⾥有必要预先有⼀定的编程基础,⾄少要有简单的Python基础。
VS的插件分两类,⼀类是编译好的dll,⼀类是写好的library(py)。前者默认放置位置是VapourSynth\plugins64,后者是Python\Lib\⽂件夹。
Mawen250的VapourSynth分享包:
pan.baidu/s/1mgGNQMc#list/path=/VapourSynthpython入门教程视屏
包含了⼀些常⽤的vs dll插件和py库,vs的调试⼯具VapourSynth Editor,VapourSynth安装包。
安装好vs插件之后,我们需要安装vs的调试⼯具,vsedit:
下载:/mystery_keeper/vapoursynth-editor/downloads
⼀般选择最新的64bit版本下载。
vs脚本⼀般以vpy作为结尾。这⾥我们可以⽤这个简单的脚本来测试效果:
```python
import vapoursynth as vs
import sys
core = vs.get_core(accept_lowercase=True,threads=4)
core.max_cache_size = 4000
accept_lowercase=True #是指定之后⽤到的滤镜允许使⽤⼩写,因为Python区分⼤⼩写。
#threads=4指定最⼤使⽤的线程数。
二维数组怎么算core.max_cache_size = 4000#指定使⽤的最⼤的内存linux配置jdk的环境变量
a=r"C:/Users/Administrator/Desktop/6.264"
#a="6.264"⼀句可以换成任何视频都⾏;如果vpy⽂件和视频不在同⼀个⽂件夹,则需要⽤绝对路径。#后为注释语句。
src = core.lsmas.LWLibavSource(a,threads=1)
src = core.std.AddBorders(src,left=0,right=0,top=138,bottom=138)
#切⿊边(切⿊边的计算就不要我说了吧)
src = core.vsfm.TextSubMod(src, file=r"C:/Users/Administrator/Desktop/110.ass")
#加字幕(TextSubMod是⼀个滤镜因为有什么要加图⽚特效丰富的字幕就要加这个滤镜才⾏,不然会显⽰⽩⾊的)好想学习DiaosMan⼤⼤特效字幕哇~ 哈啊哈#src = sample(src, w=1920, h=1080, css="420")
#分辨率
cstring头文件函数
#src = core.fmtc.bitdepth (src, bits=8)
#深8位
src.set_output()
#输出
discuz模板diy
1. pipe到x264编码
完成后的vpy脚本,输出相应的raw视频流来,输出的raw视频流通过搭桥,可以送给x264,mencoder,ffmpeg等压制⼯具。使⽤
VapourSynth安装⽬录下的core64⽂件夹下⾯进⾏搭桥输送到x264
这⾥我选择x264。vs作者提供了⼀个程序,这个程序在VapourSynth安装⽬录下的core64⽂件夹下⾯,可以单独copy出来使⽤。使⽤⽅法参考vspipe –help,可以看到:
vspipe --y4m script.vpy - | x264 --demuxer y4m - --output encoded.mp4
这样我们只需要写⼀个简单的bat脚本就可以进⾏压制了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。