我想执行一个ffmpeg
命令,我使用的方法适用于我列表中的每个命令,除了以下包含双引号以设置过滤器 (-vf) 参数的命令
ffmpeg -i 2012-12-27.mp4 -vf "movie=bb.png [movie]; [in] [movie] overlay=0:0 [out]" -vcodec libx264 -acodec copy out.mp4
我尝试将引号更改为单引号,但没有成功。该命令适用于带有单引号和双引号的 android 终端。
我正在开发的应用程序使用了大约 5 个ffmpeg
命令,除了这个之外,所有命令都可以工作,这是一些错误吗?
我找不到这个问题的具体解决方案,将 args 分解成一个数组,然后runtime().exec()
按照其他地方的建议将其传递给它似乎不起作用,或者只是试图用 \" 转义引号是行不通的。
上述命令中引用的两个文件都位于 sdcard 中,我删除了命令的串联,以免事情变得混乱,请放心,当引用文件的完整路径时,这些命令在终端中工作。我使用 stringbuilder 和`getexternalstorageDirectory().getabsolutepath() 将传递给 getRuntime().exec() 的字符串连接起来,以获取每个文件的路径,就像我在使用进程类时使用以前的命令所做的那样。
我正在使用 Jelly Bean 4.2 以防万一。