`

2012.08.24(2)——— android ffmpeg.so 测试

阅读更多
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了
分享到:
评论
2 楼 lipeng88213 2013-03-19  
yaoneng 写道
你好,你用的是什么环境来编译的呢?

ubuntu
1 楼 yaoneng 2013-03-11  
你好,你用的是什么环境来编译的呢?

相关推荐

    Android ffmpeg .a .so库(ffmpeg 4.4.1)

    在Android平台上,FFmpeg库通常以静态库(.a)和动态库(.so)的形式存在,以支持不同的CPU架构。在您提供的信息中,`arm64-v8a`和`armeabi-v7a`分别对应了两种常见的Android架构:一种是针对64位处理器的ARMv8架构...

    android FFmpeg库 .SO库文件(版本:4.1.3)

    本文将深入探讨FFmpeg在Android上的应用,以及如何使用提供的`.SO`库文件(版本4.1.3)。 1. **FFmpeg简介** FFmpeg是一个跨平台的音频和视频处理工具集,它包含了多个库,如libavcodec(编码解码库)、...

    android ffmpeg so库 下载

    本篇文章将围绕“android ffmpeg so库下载”这一主题,详细介绍FFmpeg在Android上的应用及其库的下载与使用。 首先,FFmpeg库在Android上使用时需要编译为特定架构的动态链接库(.so文件),因为Android支持多种...

    安卓Android源码——rockplayer_ffmpeg.rar

    2. **ffmpeg在Android中的集成** 在Android系统中,ffmpeg库通常需要进行交叉编译,以便适应ARM架构的硬件。开发者需要配置NDK环境,设置合适的编译选项,确保生成的库可以在Android设备上运行。此外,还需要处理...

    Android 使用 FFmpeg (一)——编译.so文件Demo

    这个"Android 使用 FFmpeg (一)——编译.so文件Demo"项目代码,提供了从编译FFmpeg到创建简单应用的全程示例,可以帮助开发者快速理解和实践在Android上集成FFmpeg。通过这个Demo,你可以深入学习如何在Android...

    android 4.0 ffmpeg libjnivideo.so libjniaudiol.so 源代码

    这里提到的"android 4.0 ffmpeg libjnivideo.so libjniaudiol.so 源代码"是针对Android 4.0系统,FFmpeg与Java Native Interface (JNI) 结合使用的源码,包含了两个关键的动态链接库:libjnivideo.so和libjniaudiol....

    安卓Android源码——FFMpeg.rar

    这个压缩包 "安卓Android源码——FFMpeg.rar" 很可能包含了一个将 FFmpeg 集成到 Android 应用中的示例源代码。 FFmpeg 的主要组件包括: 1. **libavcodec**:这是 FFmpeg 的核心编码库,提供了各种音频和视频编码...

    android版ffmpeg调用so文件及对应头文件

    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 开发】博客资源_2020_02_20_1

    【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态库打包 | 头文件与函数库拷贝 | CMake 脚本配置 ) 博客地址 : https://hanshuliang.blog.csdn.net/article/details/104367747 I . FFMPEG 交叉...

    Android FFmpeg 编译后的so文件,包含32位和64位so

    分别基于 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包

    以上就是将FFmpeg移植到Android平台并使用.so包的关键步骤和知识点。这个过程中需要对Android的NDK开发、C/C++编程以及FFmpeg的API有深入理解,才能顺利完成整个流程。在实际开发中,还需要不断调试和优化,以确保在...

    FFmpeg Android armeabi-v7a arm64-v8a 动态链接库.so文件.zip

    针对Android平台编译好的FFmpeg 3.4.5的动态链接库.so文件,包括armeabi-v7a arm64-v8a两个版本,包含头文件,包含x264,支持mediacodec硬解码h264,h265。可直接集成到工程中用于视频编辑、转码等。

    ffmpeg.so android api 24

    ffmpeg.so 基于 android api 24编译 有需要留站内信QQ

    android的ffmpeg.so

    在“android_ffmpeg”压缩包中,可能包含了已经编译好的适用于Android的FFmpeg库(.so文件),这可以大大简化开发者的集成工作。开发者只需将这些库文件放入项目的jniLibs目录下,然后在Java层通过Java Native ...

    编译ffmpeg(ffmpeg6.0+android-ndk-r25c)生成的动态链接库.so文件

    2. **Android NDK 和 FFmpeg 编译** Android NDK (Native Development Kit) 是Google提供的一个工具集,允许开发者使用C/C++编写原生代码,并将其集成到Android应用中。编译FFmpeg需要NDK,这里使用的版本是r25c。 ...

    ffmpeg.so的文件

    在 Linux 系统中,动态链接库通常以 `.so` 文件形式存在,如 `ffmpeg.so`,它允许其他程序调用 FFmpeg 的功能。 标题提到的 "ffmpeg.so" 文件,是指 FFmpeg 库的动态链接库版本。在 Linux 平台上,动态链接库在运行...

    win10下 ffmpeg 编译成android可以使用的so文件(csdn)————程序.pdf

    win10下 ffmpeg 编译成android可以使用的so文件(csdn)————程序

    Android FFmpeg 6.1+FFmpeg 4.0.2

    2. **Android上的FFmpeg**:在Android平台上使用FFmpeg需要进行一些额外的配置工作,包括编译FFmpeg库以适应Android的NDK环境,创建适用于Android的静态或动态库。动态库(.so文件)通常体积较小,但需要在运行时...

    编译好的android版ffmpeg库libffmpeg.so

    本压缩包包含的是针对Android平台,特别是armv7架构优化过的FFmpeg库,主要文件为`libffmpeg.so`,这是一个动态链接库,用于在Android应用中运行FFmpeg的C/C++代码。 `libffmpeg.so`是FFmpeg的核心库,包含了大部分...

    FFmpeg Android armeabi-v7a arm64-v8a 动态链接库.so文件

    针对Android平台编译好的FFmpeg 3.4.5的动态链接库.so文件,包括armeabi-v7a arm64-v8a两个版本,包含头文件,包含x264,支持mediacodec硬解码h264,h265。可直接集成到工程中用于视频编辑、转码等。

Global site tag (gtag.js) - Google Analytics