我使用以下命令使用多个图像创建视频
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;
但我在执行时遇到错误,我尝试了很多但没有成功。
答案 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:尝试省略它。