2012.08.24(2)——— android ffmpeg.so 测试
参考:
http://tq09931.iteye.com/blog/1011895
刚刚把ffmpeg编译成功了,但是为了验证是否正确 需要些一个测试程序
搜了一下 大多数都是验证了avcodec_version这个函数 我也一样 ,具体如下
1、java
package com.lp.ffmpeg;
import android.app.Activity;
import android.os.Bundle;
public class FfmpegActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.out.println(getFFmpegVersion());
}
public native String getFFmpegVersion();
static{
System.loadLibrary("ffmpeg");
System.loadLibrary("ffmpeg-test");
}
}
2、jni
需要把ffmpeg的源码复制到jni目录下,注意这里的源码不是你下载的ffmpeg0.8.1,是运行了config.sh之后的ffmpeg
#include <jni.h>
#include <string.h>
#include <ffmpeg/libavcodec/avcodec.h>
#include "com_lp_ffmpeg_FfmpegActivity.h"
JNIEXPORT jstring JNICALL Java_com_lp_ffmpeg_FfmpegActivity_getFFmpegVersion
(JNIEnv * env, jobject obj){
char str[25];
sprintf(str, "%d", avcodec_version());
return (*env)->NewStringUTF(env, str);
}
3、Android.mk
LOCAL_PATH := $(call my-dir)
#
include $(CLEAR_VARS)
LOCAL_MODULE := ffmpeg-prebuild
LOCAL_SRC_FILES := libffmpeg.so
include $(PREBUILT_SHARED_LIBRARY)
#
include $(CLEAR_VARS)
LOCAL_MODULE := libffmpeg-test
LOCAL_C_INCLUDES := $(LOCAL_PATH)/ffmpeg
LOCAL_SRC_FILES := com_lp_ffmpeg_FfmpegActivity.c
LOCAL_LDLIBS := -L$(LOCAL_PATH)
LOCAL_LDLIBS += -llog
LOCAL_SHARED_LIBRARIES := ffmpeg-prebuild
include $(BUILD_SHARED_LIBRARY)
4、运行 就ok了
分享到:
相关推荐
在Android平台上,FFmpeg库通常以静态库(.a)和动态库(.so)的形式存在,以支持不同的CPU架构。在您提供的信息中,`arm64-v8a`和`armeabi-v7a`分别对应了两种常见的Android架构:一种是针对64位处理器的ARMv8架构...
本文将深入探讨FFmpeg在Android上的应用,以及如何使用提供的`.SO`库文件(版本4.1.3)。 1. **FFmpeg简介** FFmpeg是一个跨平台的音频和视频处理工具集,它包含了多个库,如libavcodec(编码解码库)、...
本篇文章将围绕“android ffmpeg so库下载”这一主题,详细介绍FFmpeg在Android上的应用及其库的下载与使用。 首先,FFmpeg库在Android上使用时需要编译为特定架构的动态链接库(.so文件),因为Android支持多种...
2. **ffmpeg在Android中的集成** 在Android系统中,ffmpeg库通常需要进行交叉编译,以便适应ARM架构的硬件。开发者需要配置NDK环境,设置合适的编译选项,确保生成的库可以在Android设备上运行。此外,还需要处理...
这个"Android 使用 FFmpeg (一)——编译.so文件Demo"项目代码,提供了从编译FFmpeg到创建简单应用的全程示例,可以帮助开发者快速理解和实践在Android上集成FFmpeg。通过这个Demo,你可以深入学习如何在Android...
这里提到的"android 4.0 ffmpeg libjnivideo.so libjniaudiol.so 源代码"是针对Android 4.0系统,FFmpeg与Java Native Interface (JNI) 结合使用的源码,包含了两个关键的动态链接库:libjnivideo.so和libjniaudiol....
这个压缩包 "安卓Android源码——FFMpeg.rar" 很可能包含了一个将 FFmpeg 集成到 Android 应用中的示例源代码。 FFmpeg 的主要组件包括: 1. **libavcodec**:这是 FFmpeg 的核心编码库,提供了各种音频和视频编码...
android版ffmpeg调用so文件及对应头文件 ffmpeg版本为2.6.2 android版ffmpeg调用so文件及对应头文件 ffmpeg版本为2.6.2 android版ffmpeg调用so文件及对应头文件 ffmpeg版本为2.6.2 android版ffmpeg调用so文件及对应...
【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态库打包 | 头文件与函数库拷贝 | CMake 脚本配置 ) 博客地址 : https://hanshuliang.blog.csdn.net/article/details/104367747 I . FFMPEG 交叉...
分别基于 FFmpeg 5.0.1和FFmpeg 4.3.2,编译后的so文件,用于实现Android快速接入FFmpeg 包括arm64-v8a和armeabi-v7a的libavcodec.so、libavfilter.so、libavformat.so、libavutil.so、libswresample.so、libswscale...
以上就是将FFmpeg移植到Android平台并使用.so包的关键步骤和知识点。这个过程中需要对Android的NDK开发、C/C++编程以及FFmpeg的API有深入理解,才能顺利完成整个流程。在实际开发中,还需要不断调试和优化,以确保在...
针对Android平台编译好的FFmpeg 3.4.5的动态链接库.so文件,包括armeabi-v7a arm64-v8a两个版本,包含头文件,包含x264,支持mediacodec硬解码h264,h265。可直接集成到工程中用于视频编辑、转码等。
ffmpeg.so 基于 android api 24编译 有需要留站内信QQ
在“android_ffmpeg”压缩包中,可能包含了已经编译好的适用于Android的FFmpeg库(.so文件),这可以大大简化开发者的集成工作。开发者只需将这些库文件放入项目的jniLibs目录下,然后在Java层通过Java Native ...
2. **Android NDK 和 FFmpeg 编译** Android NDK (Native Development Kit) 是Google提供的一个工具集,允许开发者使用C/C++编写原生代码,并将其集成到Android应用中。编译FFmpeg需要NDK,这里使用的版本是r25c。 ...
在 Linux 系统中,动态链接库通常以 `.so` 文件形式存在,如 `ffmpeg.so`,它允许其他程序调用 FFmpeg 的功能。 标题提到的 "ffmpeg.so" 文件,是指 FFmpeg 库的动态链接库版本。在 Linux 平台上,动态链接库在运行...
win10下 ffmpeg 编译成android可以使用的so文件(csdn)————程序
2. **Android上的FFmpeg**:在Android平台上使用FFmpeg需要进行一些额外的配置工作,包括编译FFmpeg库以适应Android的NDK环境,创建适用于Android的静态或动态库。动态库(.so文件)通常体积较小,但需要在运行时...
本压缩包包含的是针对Android平台,特别是armv7架构优化过的FFmpeg库,主要文件为`libffmpeg.so`,这是一个动态链接库,用于在Android应用中运行FFmpeg的C/C++代码。 `libffmpeg.so`是FFmpeg的核心库,包含了大部分...
针对Android平台编译好的FFmpeg 3.4.5的动态链接库.so文件,包括armeabi-v7a arm64-v8a两个版本,包含头文件,包含x264,支持mediacodec硬解码h264,h265。可直接集成到工程中用于视频编辑、转码等。