Android 使用getRuntime().exec()命令执行ffmpeg命令

Android 使用getRuntime().exec()命令执行ffmpeg命令,android,ffmpeg,exec,Android,Ffmpeg,Exec,我想直接在android上运行ffmepg命令。 简单的命令 ffmpeg -i vid.mp4 out.mp4 现在的问题是,我在互联网上搜索了一下,发现这里有最好的android ffmpeg 我已经下载了它,阅读了自述文件并编译了它。文件夹是ffmpeg。我把它保存在/ffmpeg/ ffmpeg文件夹中有一个名为ffmpeg文件夹的ffmpeg可执行文件 我已将其复制到文件文件夹并运行此命令 try { Toast.makeText(this, "Working

我想直接在android上运行ffmepg命令。 简单的命令

ffmpeg -i vid.mp4 out.mp4
现在的问题是,我在互联网上搜索了一下,发现这里有最好的android ffmpeg

我已经下载了它,阅读了自述文件并编译了它。文件夹是ffmpeg。我把它保存在
/ffmpeg/

ffmpeg文件夹中有一个名为ffmpeg文件夹的ffmpeg可执行文件

我已将其复制到文件文件夹并运行此命令

  try {    

    Toast.makeText(this, "Working", Toast.LENGTH_SHORT).show();

    Process p = Runtime.getRuntime().exec("/data/data/com.koder.testffmpeg/files/ffmpeg -i /sdcard/vid.mp4 /sdcard/out.mp4");


    } catch (IOException e) {

    txt.setText(e.toString());

    Toast.makeText(this, e.toString(), Toast.LENGTH_LONG).show();

    e.printStackTrace();

    }
根据这个链接

但它仍然不起作用。我不知道出了什么问题 有人能帮我吗

java.io.IOException: Error running exec(). Command:[/data/data/com.koder.testffmpeg/files/ffmpeg -i /sdcard/vid.mp4 /sdcard/out.mp4] Working Directory: null Environment:null
尝试使用以下方法:

Process proc = null;
ProcessBuilder pb = new ProcessBuilder();
proc = pb.command("String...yourCommand")
                    .redirectErrorStream(true).start();
BufferedReader bReader = new BufferedReader(new InputStreamReader(
                    proc.getInputStream()));

这段代码适用于我在android中获取系统唤醒锁详细信息。这可能对您有用。

授予
ffmpeg
可执行权限,如下所示:

chmod 700 ffmpeg

您应该使用
getBaseContext().getApplicationInfo().nativeLibraryDir
而不是
“/data/data/com.example.ffmpegenew/files/”

您可以这样组合上述答案:

 Process p = Runtime.getRuntime().exec("chmod 700 "+getBaseContext().getApplicationInfo().nativeLibraryDir + "/ffmpeg ...");

你有什么例外?请发布日志详细信息。java.io.IOException:运行exec()时出错。命令:[/data/data/com.koder.testffmpeg/files/ffmpeg-i/sdcard/vid.mp4/sdcard/out.mp4]工作目录:null环境:null问题是您的ffmpeg命令在android文件夹中可能没有真正标记为可执行文件。使用“adb外壳”进行连接,然后使用“ls-l/data/data/com.koder.testffmpeg/files/ffmpeg”查看它是否真的可执行您是否能够找到解决方案?…我采用了相同的方法,它给出了一个IO异常。你能帮我吗?同样的问题,找不到任何解决办法!!它不起作用,出现了很多错误。如何在项目文件夹中创建ffmpeg文件。还有一件事,这个文件是否能够在linux上运行,因为我已经尝试过了,但它不起作用