android - 如何在 android 中从命令行运行 ffmpeg

标签 android command-line ffmpeg

我想通过命令行使用 ffmpeg。我已经将 ffmpeg.so 保存在项目的文件目录中。但是我在这样做时出现异常。这是代码:

public class MainActivity extends Activity {

    Process p;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Process p = Runtime.getRuntime().exec("/data/data/com.example.ffmpegnew/files/ffmpeg",null, new File("/data/data/com.example.ffmpegnew/files"));

        }
        catch(Exception e)
        {
            System.out.println("exception"+e);
        }

    }

}

这是异常(exception)情况:

09-16 16:21:24.992: I/System.out(2103): exceptionjava.io.IOException: Error running exec(). Commands: [/data/data/com.example.ffmpegnew/files/ffmpeg] Working Directory: /data/data/com.example.ffmpegnew/files Environment: null

请告诉我我在做什么错误。谢谢。

最佳答案

所以首先,你不能直接执行 shared object文件。您需要构建一个可以使用 /system/bin 运行的 ffmpeg 可执行文件

请以此为引用FFmpeg on Android

编译完成后,您可以将 APK 的 assets 文件夹中的可执行文件提取到 /data/data/<your package>/。 (也确保 chmod 755!)

完成后,您可以通过构建命令行字符串并将其传递给 ProcessBuilder 来运行可执行文件。而不是使用 Runtime.exec()

关于android - 如何在 android 中从命令行运行 ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17440850/

相关文章:

vba - 在 VBA 中调用批处理文件无法正常工作

c# - 具有互斥必需参数的命令行解析器

ffmpeg - 如何使用 ffmpeg 从 png 图像创建视频

android - 改造解析字符串数组

java - Android 上支持多种分辨率的问题

powershell - Visual Studio 代码 cmd 错误 : Cannot be loaded because running scripts is disabled on this system

ffmpeg - avformat 代码产生的输出与具有相同参数的 ffmpeg 略有不同 - 为什么?

android - 本 map 片通过android中的本地json

android - CircleCI麻烦与gradlew在另一个文件夹

android - 使用带有偏移量的 ffmpeg 混合声音,其偏移量不起作用