Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过命令行Android使用FFMPEG从选定图像创建视频_Android_Video_Ffmpeg_Android Ffmpeg - Fatal编程技术网

通过命令行Android使用FFMPEG从选定图像创建视频

通过命令行Android使用FFMPEG从选定图像创建视频,android,video,ffmpeg,android-ffmpeg,Android,Video,Ffmpeg,Android Ffmpeg,我正在尝试在android中使用ffmpeg从命令行中选择的图像制作视频 使用项目作为我的来源,我试图制作视频 这是我试图创建视频的命令 String[] ffmpegCommand = {ffmpegBin, "-y", "-qscale", "1", "-r", "" + frameRate, "-i", image1.getAbsolutePath(),

我正在尝试在android中使用ffmpeg从命令行中选择的图像制作视频

使用项目作为我的来源,我试图制作视频

这是我试图创建视频的命令

   String[] ffmpegCommand = {ffmpegBin,
            "-y",
            "-qscale",
            "1",
            "-r", "" + frameRate,
            "-i", image1.getAbsolutePath(),
            "-t", "" + (((4) * 30) + 4), //"-s",heightwidth,
            "-i", image2.getAbsolutePath(),
            "-t", "" + (((4) * 30) + 4), //"-s",heightwidth,
            "-i", image3.getAbsolutePath(),
            "-t", "" + (((4) * 30) + 4), //"-s",heightwidth,
            "-i", image4.getAbsolutePath(),
            "-t", "" + (((4) * 30) + 4), //"-s",heightwidth,
            "-vcodec",
            "libx264",
            "-s",
            "640x480",
            outputFile.getAbsolutePath()};
但创建的视频只显示第一个图像,创建的视频时间不到一秒钟

这句话有什么问题?为什么视频中只显示一幅图像


很抱歉我的英语不好

这是ffmpeg命令,您应该将其改编为字符串数组:

ffmpeg -framerate 25 -t 124 -loop 1 -i image1
       -framerate 25 -t 124 -loop 1 -i image2
       -framerate 25 -t 124 -loop 1 -i image3
       -framerate 25 -t 124 -loop 1 -i image4
       -filter_complex "[0][1][2][3]concat=n=4"
       -c:v libx264 -s 640x480 outputfile
规则是输入选项(帧率、t..等)在输入项之前


concat过滤器将图像流连接在一起。如果它们的大小不同,你应该调整大小使它们相同。

在这里,我用4幅图像创建12秒的视频,每幅图像3秒,具有淡入淡出效果

运行下面的命令并确保所有图像具有相同的高度和宽度

String strCommand = "ffmpeg -loop 1 -t 3 -i " + /sdcard/videokit/1.jpg + " -loop 1 -t 3 -i " + /sdcard/videokit/2.jpg + " -loop 1 -t 3 -i " + /sdcard/videokit/3.jpg + " -loop 1 -t 3 -i " + /sdcard/videokit/4.jpg + " -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 " + /sdcard/videolit/output.mp4;

感谢您的回复,但它在“-filter_complex”上给了我错误,即“未识别选项”filter-complex“它是下划线,而不是连字符-
filter_complex
”“-filter_complex”在使用后仍然给了我相同的错误FFMPEG版本N-32369-gc0323b9,版权(c)2000-2011 FFmpeg开发者这是放在raw文件夹中的FFmpeg版本。可能是因为这个版本。我如何下载最新版本的FFmpeg请指导我这是一个非常旧的版本。从交叉淡入淡出中获取它,在FFmpeg中是否有更多的转换我可以用来创建动画视频我数月来一直在制作图像间转换的视频,这非常好!问题是这需要很多时间(超过一分钟!)除了超快选项之外,你还知道其他什么吗?出现错误“无法为“ffmpeg”找到合适的输出格式”,如果我删除了ffmpeg,它将停留在onProgress()方法上。如何创建GIF而不是视频?