新兴视频处理工具VapourSynth压制教程

2024-05-16 02:48

本文主要是介绍新兴视频处理工具VapourSynth压制教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

VapourSynth作为一个开源的非线性视频处理frameserver,相比于已经停滞开发或者说是开发慢了点的AviSynth,有着全新的处理架构,同时使用Python作为脚本书写语言,处理上更为科学,原生支持多线程处理,支持更多的颜色空间,良好的内存控制,可跨平台使用,有32bit和64bit版本,同时支持Avisynth插件加载。

  1. VapourSynth安装:
    以64bit安装为例,先安装64bit的Python3.6,并将Python的安装路径加入到系统PATH变量中,再安装64bit的VapourSynth。这两个都可以安装再C盘根目录下。
    64bit的Python3.6下载:
    https://www.python.org

    64bit的VapourSynth下载:https://github.com/vapoursynth/vapoursynth/releases/download/R38/VapourSynth-R38.exe

    安装完成之后,打开cmd,进入Python的交互命令模式,输入以下代码以测试VapouSynth是否安装成功:

import vapoursynth as vs
core = vs.get_core()
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分享包:
https://pan.baidu.com/s/1mgGNQMc#list/path=/VapourSynth
包含了一些常用的vs dll插件和py库,vs的调试工具VapourSynth Editor,VapourSynth安装包。
安装好vs插件之后,我们需要安装vs的调试工具,vsedit:
下载:https://bitbucket.org/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#指定使用的最大的内存
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 = core.fmtc.resample(src, w=1920, h=1080, css="420")
#分辨率
#src = core.fmtc.bitdepth (src, bits=8)
#深8位
src.set_output()
#输出
  1. pipe到x264编码

    完成后的vpy脚本,输出相应的raw视频流来,输出的raw视频流通过搭桥,可以送给x264,mencoder,ffmpeg等压制工具。使用VapourSynth安装目录下的core64文件夹下面vspipe.exe进行搭桥输送到x264

    这里我选择x264。vs作者提供了一个vspipe.exe程序,这个程序在VapourSynth安装目录下的core64文件夹下面,可以单独copy出来使用。使用方法参考vspipe –help,可以看到:

    vspipe --y4m script.vpy - | x264 --demuxer y4m - --output encoded.mp4
    这样我们只需要写一个简单的bat脚本就可以进行压制了

这篇关于新兴视频处理工具VapourSynth压制教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/993661

相关文章

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

Python异常处理之避免try-except滥用的3个核心原则

《Python异常处理之避免try-except滥用的3个核心原则》在Python开发中,异常处理是保证程序健壮性的关键机制,本文结合真实案例与Python核心机制,提炼出避免异常滥用的三大原则,有需... 目录一、精准打击:只捕获可预见的异常类型1.1 通用异常捕获的陷阱1.2 精准捕获的实践方案1.3

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda