首页 > 解决方案 > Android 中的 Ffmpeg 命令不起作用。创建多个图像的视频

问题描述

我尝试从我的文件夹中加载 png 并将其放在一个视频中。我使用 Mobile-FFmpeg 作为和 Android Studio

但是执行命令后我不断收到错误代码:

I/mobile-ffmpeg:命令执行失败,rc=1,输出如下。

我的图像之前是这样保存的

在此处输入图像描述

我使用的命令: int rc = FFmpeg.execute(" ffmpeg -r 1/5 -i "+ src+"/img%03d.png -c:v libx264 -vf \"fps=25,format=yuv420p\" " + src + "/ou1t.mp4");

这是整个代码:

               String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath()+"/FlyerMaker/ffmpeg";
            File dir = new File(dirPath);
            String src = Environment.getExternalStorageDirectory().getAbsolutePath()+"/FlyerMaker/ffmpeg";

            int rc = FFmpeg.execute(" ffmpeg -r 1/5 -i "+ src+"/img%03d.png -c:v libx264 -vf \"fps=25,format=yuv420p\" "+ src + "/ou1t.mp4");

            if (rc == RETURN_CODE_SUCCESS) {
                Log.i(Config.TAG, "Command execution completed successfully.");
            } else if (rc == RETURN_CODE_CANCEL) {
                Log.i(Config.TAG, "Command execution cancelled by user.");
            } else {
                Log.i(Config.TAG, String.format("Command execution failed with rc=%d and the output below.", rc));
                Config.printLastCommandOutput(Log.INFO);
            }

//清除文件夹,因为在上面的代码之后我不再需要图片了

            for(int i = 0; i < 20 ; i++){
                String filePrefix = "img"; //imagename prefix
                String fileExtn = ".png";//image extention
                String a = filePrefix + String.format("%03d", i)+fileExtn;
                File file = new File(dir, a);
                file.delete();
                System.out.println("del"+i);
            }

标签: javaandroidvideoffmpegcommand

解决方案


如果没有显示错误的日志,我最好的猜测是ffmpeg不应该包含在命令中:

int rc = FFmpeg.execute("-r 1/5 -i " + src + "/img%03d.png -c:v libx264 -vf \"fps=25,format=yuv420p\" "+ src + "/out.mp4");

推荐阅读