在android中,我正在制作一个应用程序,它将录制一个视频,并从中心裁剪视频,为此,我在谷歌上找到了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请帮帮我
发布于 2013-09-26 06:15:51
您应该能够使用ProcessBuilder派生一个进程来运行ffmpeg:
Process ffmpeg = new ProcessBuilder().command(args).start()
if (ffmpeg.waitFor() != 0) {
// handle failure case
}(上面的代码阻塞当前线程,直到ffmpeg完成。)
然而,我认为你更大的问题是必须为你的目标设备交叉编译和分发ffmpeg的版本。
https://stackoverflow.com/questions/18557651
复制相似问题