首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有引号的ffmpeg.js筛选器命令

没有引号的ffmpeg.js筛选器命令
EN

Stack Overflow用户
提问于 2019-04-10 04:56:17
回答 1查看 361关注 0票数 1

我想在为Javascript (ffmpeg.js)编译的ffmpeg版本中使用过滤器。但是解析器似乎不处理引号,所以我需要编写没有引号的完整命令。

如何在没有引号的情况下编写以下命令?

代码语言:javascript
运行
复制
ffmpeg -i video.mp4 -i image.jpg -filter_complex "[1][0]scale2ref[i][v];[v][i]overlay=10:10:enable=\'between(t,1,2)\'" -c:a copy output.mp4

在javascript中,我将命令指定如下:

代码语言:javascript
运行
复制
worker.postMessage({
 type: 'command',
 arguments: "-i video.mp4 -i image.jpg -filter_complex '[1][0]scale2ref[i][v];[v][i]overlay=10:10' -c:a copy output.mp4".split(' '),
files: [
{
    data: new Uint8Array(videofile),
    name: 'video.mp4'
},
{
    data: new Uint8Array(imagefile),
    name: 'image.jpg'
},

]};

但其结果是:

AVFilterGraph @ 0xdf4c30没有这样的过滤器:'1scale2refi;voverlay=10:10‘

我检查了覆盖筛选器,它在没有引号的更简单的版本中工作,例如,这个命令可以工作:

代码语言:javascript
运行
复制
arguments: "-i video.mp4 -i image.jpg -filter_complex overlay=10:10 -c:a copy output.mp4".split(' '),
EN

回答 1

Stack Overflow用户

发布于 2019-04-10 11:24:48

我认为问题在于,'在分裂之后还会继续存在,这让ffmpeg感到困惑。如果这是一个真实的shell,则参数解析器将正确地拆分和解析引号。

尝试删除原始字符串中的',如下所示:

代码语言:javascript
运行
复制
arguments: "-i video.mp4 -i image.jpg -filter_complex [1][0]scale2ref[i][v];[v][i]overlay=10:10 -c:a copy output.mp4".split(' ')

或者甚至跳过拆分,直接传递一个参数列表:

代码语言:javascript
运行
复制
arguments: ["-i", "video.mp4", "-i", "image.jpg", "-filter_complex", "[1][0]scale2ref[i][v];[v][i]overlay=10:10", "-c:a", "copy", "output.mp4"]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55604964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档