You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向Avisynth脚本传递参数(如带路径的文件名)

向Avisynth脚本传递参数的方法

一、脚本内定义参数接收逻辑

使用Avisynth内置的ScriptArgs函数(2.6及以上版本支持,低版本可替换为Args),可以在脚本里定义需要接收的参数,还能设置默认值。示例脚本如下:

# 接收带完整路径的文件名参数,设置默认值备用
input_file = ScriptArgs("input", "default_video.mp4")
# 可选:接收分辨率等其他参数
output_res = ScriptArgs("res", 1920)

# 用参数处理视频
FFmpegSource2(input_file)
Resize(output_res, output_res / 16 * 9)

二、调用脚本时传递参数

1. 借助Avisynth工具调用

比如使用avs2pipemod这类工具,通过-i参数传递键值对:

avs2pipemod -i "input=C:\完整路径\视频文件.mp4;res=1280" your_script.avs | x264 --demuxer y4m -o output.mp4 -

2. 用FFmpeg直接调用脚本

如果FFmpeg支持Avisynth输入,可通过URL查询字符串的格式传递参数:

ffmpeg -i "your_script.avs?input=C:\完整路径\视频文件.mp4;res=1280" output.mp4

3. 环境变量传递(适合批量场景)

脚本内通过GetEnv读取环境变量:

input_file = GetEnv("AVS_INPUT_FILE")
FFmpegSource2(input_file)

Windows命令行调用时先设置环境变量:

set AVS_INPUT_FILE=C:\完整路径\视频文件.mp4
ffmpeg -i your_script.avs output.mp4

注意事项

  • 参数包含空格时,要给参数值加引号,比如input="C:\My Videos\test.mp4"
  • 多个参数用分号;分隔,避免多余空格
  • 低版本Avisynth替换ScriptArgs为Args,用法逻辑一致

内容的提问来源于stack exchange,提问作者Pavel Kiselev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 09:09:54