如何使用FFMPEG命令

时间:2013-09-01 10:48:30

标签: android ffmpeg

在android我正在制作一个应用程序,它将录制视频并从中心裁剪视频这样做我发现FFMPEG over google。我跟着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 -sepect 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中写什么来执行这个。有人请帮忙

1 个答案:

答案 0 :(得分:0)

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

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

(以上代码阻止当前线程直到ffmpeg结束。)

但是,我认为你的更大问题是必须为你所定位的每台设备交叉编译和分发ffmpeg版本。