菲尼克斯编写的VapourSynth脚本及其功能

pvsfunc的Python项目详细描述


pvsfunc公司

菲尼克斯编写的VapourSynth脚本及其功能

pip install pvsfunc

GitHub licenseCodeFactorGitHub issues

班级

ClassImport
PSourcer^{}
PDeinterlacer^{}

PSourcer(psourcer.py

PSourcer(class)是一个方便的包装器,用于将视频文件加载到剪辑变量。它的目的是加载一个输入文件路径,其中包含基于该文件的最佳剪辑源。例如,对于一个MPEG-2视频文件(例如DVD文件),它将使用core.d2v.Source加载(如果需要还可以生成一个d2v!),而对于MPEG-4/AVC/H.264视频,它将使用核心.ffms2.来源。在

from pvsfunc.psourcer import PSourcerPSourcer(str file_path)

  • 文件路径:要导入的文件的路径。不要担心你使用哪种类型的容器(如果有的话)。在

必须安装以下内容并将其添加到系统环境变量/路径中。在

{{cd7}的路径不在^cd7}上,而是添加到^cd7}的全局路径。

PDE交换机(pdeinterlacer.py

PDeinterlacer(类)是用于去除隔行扫描剪辑的方便包装器。它的独特之处在于它可以处理混合扫描类型的视频。它将始终返回渐进式和CFR(恒定帧速率)视频。它类似于零售DVD播放机,因为它只有在帧被标记为交错时才去交错,不涉及度量或猜测。在

为了澄清这是一个deinterlacer包装,而不是一个成熟的deinterlacer,默认情况下它内部使用qtgc,但是您可以更改内核。在

from pvsfunc.pdeinterlacer import PDeinterlacer
PDeinterlacer(clip[, bool tff=True, func kernel=None, dict kernel_args=None, bool debug=False])

  • 剪辑:剪辑去交错,这必须是一个加载了PSourcer的剪辑,因为它需要一些PSourcer应用于剪辑的道具
  • tff:第一个字段
  • kernel:用于去隔行扫描的Deinterlacer内核函数。它默认为havsfunc.QTGMC。在
  • kernel_args:去隔行扫描时传递给内核函数的参数。在
  • 调试:调试模式,如果要调试帧信息,请启用它。在

功能

^{tb2}$

致死(init.py

使用抽取(帧删除)的剪辑。这通常用于将胶片的电视电影过程还原为NTSC,但也可用于其他速率变化。在

from pvsfunc.__init__ import decimate
decimate([int mode=0, int cycle=5, list offsets=[0, 1, 3, 4], bool debug=False])

  • 模式:0=核心标准选择间隔,1=core.vivtc.VDecimate,如果源在整个源中使用恒定的偏移值,我建议使用mode=0并确保偏移正确。如果需要自动化或偏移量在整个源中趋于变化,请使用mode=1。在
  • 循环:将剪辑分成n帧,然后删除offsets指定的帧(如果有)。在
  • 偏移量:仅当mode=0从循环的第1帧的索引0开始时使用,这表示要从循环中保留哪些帧。例如,循环为5,默认偏移量([0, 1, 3, 4])将每5帧(循环)删除第3帧(因为索引2不在列表中)。在
  • 调试:打印调试信息

去盒(init.py

通过根据剪辑宽度和高度计算出的aspect_ratio计算裁剪面积,从视频中删除{a13}、LetterboxingWindowboxing。如果是windowboxed,请使用此函数两次,首先是PillaBoxing,然后是Letterboxing。在

from pvsfunc.__init__ import debox
debox(str aspect_ratio[, int mode=0, int offset=0])

  • 纵横比:要裁剪到的纵横比,例如:4:3裁剪为4:3,16:9裁剪为16:9
  • 模式:要裁剪的方向。0=柱形(将裁剪边),1=字母框(将裁剪顶部/底部)。在
  • 偏移量:如果内容不是正好,那么可以修改offset以移动裁剪区域。如果像素在右边(例如2)在右边,并且像素在右边居中),使用offset=2,如果内容向左2个像素,则使用offset=-2

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓为什么Java AudioEffect不支持双簧管?   增加内存后出现java IntelliJ堆大小错误   在unix/linux中工作的java中将unicode字符串转换为ASCII   java是否缺少正确对齐输出的值?   java Spring 3 MVC:动态表单中的onetomany(创建/更新时添加/删除)   java在接口中创建两个通用参数   lambda使用Java 8从嵌套列表中使用forEach查找项的替代方法是什么?   Java正则表达式匹配10位电话号码,中间有空格   linux将log4j外部化。使用命令行Java的属性文件   带有SSL的java简单RMI服务器   java无法为事务[…]打开JPA EntityManager无法获取驱动程序类“null”和URL“null”的连接   Android设备上的java Oauth Foursquare   for循环的ImageButton名称的java骰子模拟浓缩   java有没有简单的1d条形码阅读器?   如何在调用resultset后解决“无效字符串或缓冲区长度”。从java到访问mdb的getString()连接   在Java8中,是否可以使用JVM参数来控制何时(或在什么条件下)卸载类?