Android ffmpeg库不工作
我已经在Android上编译了Android ffmpeg库不工作,android,video,ffmpeg,Android,Video,Ffmpeg,我已经在Android上编译了FFmpeg(libffmpeg.so)。现在我必须构建一个像RockPlayer这样的应用程序,或者使用现有的Android多媒体框架来调用FFmpeg,同时播放视频 您是否有在Android/StageFright上集成FFmpeg的步骤/过程/代码/示例 你能告诉我如何使用这个多媒体图书馆吗 播放 我已经做了渲染、混合。从这里下载ffmpeg:。它包含为android构建ffmpeg的脚本。 修改build.sh。用包名替换“com.bambuser.broa
FFmpeg
(libffmpeg.so
)。现在我必须构建一个像RockPlayer这样的应用程序,或者使用现有的Android多媒体框架来调用FFmpeg
,同时播放视频
您是否有在Android/StageFright上集成FFmpeg
的步骤/过程/代码/示例
你能告诉我如何使用这个多媒体图书馆吗
播放
我已经做了渲染、混合。从这里下载ffmpeg:。它包含为android构建ffmpeg的脚本。 修改build.sh。用包名替换“com.bambuser.broadcaster”。您还需要设置ffmpeg标志以启用感兴趣的编解码器。 运行build.sh,并将build/ffmpeg目录复制到应用程序jni/lib目录中。 使用SO post中的fasaxc生成文件。 在jni目录中创建一个native.c文件和一个java包装器。首先,您可以在NDK示例(/samples/hello-jni)中的hello-jni之后对其进行建模。 在本机.c文件中包括如下标题:#包括“libavcodec/avcodec.h”。并调用所需的函数:avcodec\u register\u all()等。。。 通过添加:static{System.loadLibraries(“”;}),将本机库包括在根活动中
'com.writingminds:FFmpegAndroid:0.3.2'
将此添加到gradle
ffmpeg=ffmpeg.getInstance(this.getApplicationContext())代码>
(首先声明FFmpeg-FFmpeg;
loadFFMpegBinary()代码>
**您可以使用
WritingMinds
FFmpeg
这里是突出显示的主要问题。
private void execFFmpegBinaryShortest(final String[] command) {
final File outputFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/videoaudiomerger/"+"Vid"+"output"+i1+".mp4");
String[] cmd = new String[]{"-i", selectedVideoPath,"-i",audiopath,"-map","1:a","-map","0:v","-codec","copy","-shortest",outputFile.getPath()};
try {
ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {
@Override
public void onFailure(String s) {
System.out.println("on failure----"+s);
}
@Override
public void onSuccess(String s) {
System.out.println("on success-----"+s);
}
@Override
public void onProgress(String s) {
//Log.d(TAG, "Started command : ffmpeg "+command);
System.out.println("Started---"+s);
}
@Override
public void onStart() {
//Log.d(TAG, "Started command : ffmpeg " + command);
System.out.println("Start----");
}
@Override
public void onFinish() {
System.out.println("Finish-----");
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
// do nothing for now
System.out.println("exceptio :::"+e.getMessage());
}
}