使用ffmpeg创建带图像的视频时出错

时间:2018-01-18 13:41:43

标签: android video ffmpeg

我使用以下命令使用多个图像创建视频

head -n50 && tail -n50 > newfile.txt

然后我正在执行qwery

String strCommand = "ffmpeg -loop 1 -t 3 -i " + picturePath + 
" -loop 1 -t 3 -i " + picturePath1 +
" -loop 1 -t 3 -i " + picturePath2 + 
" -loop 1 -t 3 -i " + picturePath3 + 
" -filter_complex [0:v]trim=duration=3,
fade=t=out:st=2.5:d=0.5[v0];
[1:v]trim=duration=3,fade=t=in:st=0:d=0.5,fade=t=out:st=2.5:d=0.5[v1];
[2:v]trim=duration=3,fade=t=in:st=0:d=0.5,fade=t=out:st=2.5:d=0.5[v2];
[3:v]trim=duration=3,fade=t=in:st=0:d=0.5,fade=t=out:st=2.5:d=0.5[v3];[v0]
[v1][v2][v3]concat=n=4:v=1:a=0,format=yuv420p[v] -map [v] -preset ultrafast 
" + videoPath;

但我在执行时遇到错误,我尝试了很多但没有成功。

1 个答案:

答案 0 :(得分:0)

我写了回复,因为我无法发表评论。 我认为你正在使用http://writingminds.github.io/ffmpeg-android-java/,因为我遇到了类似的问题。

检查我们的问题是在String strCommand中哪些参数未被空格分隔“”。 你可以直接尝试像这样创建String [] full命令

例如:

String [] cmd = {"arg0", "arg1", "arg2", "arg3", ... ... ... }

或者在你的情况下:

String [] cmd = {"-loop", "1", "-t", "3", ... ... ... }

每个arg必须是cmd []中的单个元素。

我希望它有所帮助。

编辑:还要注意“ffmpeg”初始标记。它可能是隐含的,然后被识别为arg:尝试省略它。