android - 如何使用 FFMPEG 命令

标签 android ffmpeg

在android中,我正在制作一个应用程序,它将在其中录制视频并从中心裁剪视频,为此我在google上找到了FFMPEG。我关注了http://dmitrydzz-hobby.blogspot.in/2012/04/how-to-build-ffmpeg-and-use-it-in.html

它工作正常,但我想知道如何使用这个`ffmpeg -y -i/sdcard/videokit/short.mp4 -vf crop=100:100:0:0 -s 320x240 -r 15 -aspect 3:4 -ab 12288 -vcodec mpeg4 -b 2097152 -sample_fmt s16/sdcard/videokit/out.mp4

` 视频裁剪命令和该命令的编写位置。

我已经尝试过了(用于连接只是为了检查如何使用 ffmpeg 命令)

public class MainActivity extends Activity {
private static native int logFileInfo(String[] args);
String pathOut = "/storage/sdcard/12.mp3";
String pathInM = "/storage/sdcard/23.mp3";
String pathIn = "/storage/sdcard/out.mp3";
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    String[] args = {"ffmpeg",  "-i", "concat:", pathOut, "|",pathInM ,pathIn};
    logFileInfo(args);
    //logFileInfo("/storage/sdcard/12.mp3");
}

static
{
    System.loadLibrary("mylib");
}

但我不知道在 mylib.c 中写什么来执行 this.somebody 请帮助

最佳答案

您应该能够使用 ProcessBuilder 生成一个运行 ffmpeg 的进程:

Process ffmpeg = new ProcessBuilder().command(args).start()
if (ffmpeg.waitFor() != 0) {
    // handle failure case
}

(上面的代码会阻塞当前线程,直到 ffmpeg 完成。)

但是,我认为您更大的问题是必须为您所针对的每个设备交叉编译和分发 ffmpeg 版本。

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

相关文章:

macos - 在山狮上安装 FFmpeg 1.1.2 "Fire Flower"

java - 应用程序在设备/模拟器中运行时崩溃

android - 膨胀 View 返回旧的膨胀结果

ffmpeg - 裁剪黑色填充并将大小调整回原始 1920x1080

ffmpeg - 为什么将帧速率加倍会产生不一致的帧?

python - 找不到真正的 FFmpeg 安装(ffprobe 自带)

c# - 无法使用 FFmpeg 解码 H.264 流(附件 B)

android - 如何处理在android中获取好友请求的推送通知

android - 如果 GoogleApiClient 断开连接,OnDataPointListener 不会得到回调

android - 字符串 hashCode() : always the same result?