android - 在android中通过命令行使用FFMPEG

标签 android command-line ffmpeg

我想在我的 Android 应用程序中通过命令行使用 FFMPEG。为此目的:

  1. 我已经交叉编译了ffmpeg lib并得到了libffmpeg.so
  2. 我已将 libffmpeg.so 和 ffmpeg 可执行文件存储在我的项目的文件目录中。

这是我正在使用的代码:

公共(public)类 FFMPEGActivity 扩展了 Activity {

Process p;

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

        String[] cmd =new String[4];
    cmd[0]="/data/data/com.example.ffmpegnew/files/libffmpeg";
    cmd[1]="-i";
    cmd[2]="mnt/sdcard/music/baba.mp4";
    cmd[3]="mnt/sdcard/music/outfile.mp4";

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

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

}

}

这是我遇到的异常:

09-17 13:47:01.679: I/System.out(3752): exceptionjava.io.IOException: Error running exec(). Command: [/data/data/com.example.ffmpegnew/files/libffmpeg.so, -i, mnt/sdcard/music/baba.mp4, mnt/sdcard/music/outfile.mp4] Working Directory: /data/data/com.example.ffmpegnew/files Environment: null

请告诉我如何解决这个问题。提前致谢。

最佳答案

我认为这行不通,除非您设法编译 ffmpeg 可执行文件,将其放置在文件系统中的某个位置,然后通过 native 层访问它。不过,通常情况下,他们在 android 中使用 libffmpeg API,例如 Dolphin Player

关于android - 在android中通过命令行使用FFMPEG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12472242/

相关文章:

android - Facebook - SingleInstance Activity 上的 LoginFragment

windows - 如何使用 Windows 命令行更改目录

java - 如何使用命令行在 Windows 上查找 JRE 路径

shell - 阻止Hadoop将JobClient输出发送到命令行?

batch-file - ffmpeg 来自多个源的输出文件名

ffmpeg - 从其他视频创建延时视频

android - Android中的Hilt依赖注入(inject)仪器测试

android - 程序化安装应用程序 + 更改默认消息 + Android

android: videoview 历史记录/书签

video - FFmpeg:如何将水平视频 16:9 转换为垂直视频 9:16,顶部和底部为黑色背景