Android ffmpeg库使用

时间:2016-08-05 08:36:23

标签: android video ffmpeg

我很擅长使用ffmpeg库。我使用这个http://writingminds.github.io/ffmpeg-android-java/将库添加到我的android studio项目中。运行命令-version-devices时效果很好 但是,当我尝试-i的任何命令时,例如-i video.avi,我得到错误:

  

onFailure:ffmpeg version n3.0.1版权所有(c)2000-2016 FFmpeg开发人员使用gcc 4.8(GCC)配置构建: - target-os = linux --cross-prefix = / home / vagrant / SourceCode / ffmpeg -android / toolchain-android / bin / arm-linux-androideabi-archarch = arm --cpu = cortex-a8 --enable-runtime-cpudetect --sysroot = / home / vagrant / SourceCode / ffmpeg-android / toolchain -android / sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug - -disable-ffserver --enable-version3 --enable-hardcoded-tables --disable -ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable- static --pkg-config = / home / vagrant / SourceCode / ffmpeg-android / ffmpeg-pkg-config --prefix = / home / vagrant / Sour ceCode / ffmpeg-android / build / armeabi-v7a --extra-cflags =' -I / home / vagrant / SourceCode / ffmpeg-android / toolchain-android / include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE = 2 -fno-strict-溢出-fstack-protector-all' --extra-ldflags =' -L / home / vagrant / SourceCode / ffmpeg-android / toolchain-android / lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs =' -lpng -lexpat -lm' --extra-CXXFLAGS =                                                                                                        libavutil 55. 17.103 / 55. 17.103 libavcodec 57. 24.102 / 57. 24.102 libavformat 57. 25.100 / 57. 25.100 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 31.100 / 6. 31.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2 .0.101 / 2. 0.101 libpostproc 54. 0.100 / 5 4. 0.100无法识别的选项' i /storage/emulated/0/Movies/test4.avi'。拆分参数列表时出错:未找到选项

我做错了吗?任何人都知道为什么基本命令如" -i"不起作用?

3 个答案:

答案 0 :(得分:2)

像这样编写命令

String[] command = new String[]{

                    "-i", "video.avi"};

答案 1 :(得分:0)

根据错误,我认为您的视频已经是.avi格式。请尝试.mp4格式并检查是否存在问题。

答案 2 :(得分:0)

我有点晚了,但它的工作原理如下:

 String cmd = "Complete command you want to execute";
String[] myArr = cmd.split(" ");
ffmpeg.execute(myArr, new ExecuteBinaryResponseHandler(){
 });

此代码的问题在于整个命令被视为一个选项,因此使用提供的代码分隔每个选项的每个选项和值。希望它可以帮到某人。