bru*_*rux 2 java android ffmpeg
我想执行一个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
Run Code Online (Sandbox Code Playgroud)
我尝试过更改单引号的报价,但没有运气。该命令在android终端上使用单引号和双引号起作用。
我正在开发的应用程序使用大约5个ffmpeg命令,除此命令外,所有其他命令都有效,这是一些错误吗?
我找不到这个问题的具体解决方案,将args分解成一个数组,然后runtime().exec()按照其他地方的建议将其传递给它似乎不起作用,或者只是尝试用\“转义引号是行不通的。
上面命令中引用的两个文件都位于sdcard中,我删除了命令的串联,以免混乱,请放心,这些命令在引用文件的完整路径时可以在终端中使用。我使用stringbuilder和`getexternalstorageDirectory()。getabsolutepath()来处理传递给getRuntime()。exec()的字符串,以获取每个文件的路径,就像我在使用流程类时对以前的命令所做的一样。
我正在使用Jelly Bean 4.2,以防万一。
尝试
getRuntime().exec( new String[] { "ffmpeg", "-i", "2012-12-27.mp4", "-vf", "movie=bb.png [movie]; [in] [movie] overlay=0:0 [out]", "-vcodec", "libx264", "-acodec", "copy", "out.mp4" } );
Run Code Online (Sandbox Code Playgroud)
在一起的参数(例如带引号的-vf过滤器字符串)必须位于同一数组元素中。
| 归档时间: |
|
| 查看次数: |
4533 次 |
| 最近记录: |