小编Min*_*ang的帖子

FFmpeg支持libstagefright硬件解码

大家:我是ffmpeg的新手.最近我正在研究将ffmpeg移植到android设备的项目.一开始,我按照互联网上的一些指南以非常正常的方式将ffmpeg编译为共享库(.so文件),将它们加载到我的Android应用程序中.它完美地运作.

现在我希望ffmpeg使用libstagefright来实现硬件解码.问题是,我可以编译.so库,但是当我启动我的应用并加载那些.so库时,总会有一个java.lang.UnsatisfiedLinkError:无法加载库:reloc_library [1314]:114找不到'_ZN7android11MediaBufferC1Ej'

我在那里呆了几天.有没有人遇到过类似的问题?如果有人能给我一些关于这个错误的提示,那就太好了.

我的步骤:1.将ffmpeg-2.1.4源代码编译为.so共享库.我使用build_libstagefright脚本执行此操作,并根据Internet的某些指南进行一些修改.

#!/bin/bash
#export NDK=/home/mingzhang/android/android-ndk-r9c
export NDK=/home/mingzhang/android/android-ndk-r7
if [ "$NDK" = "" ]; then
    echo NDK variable not set, assuming ${HOME}/android-ndk
    export NDK=${HOME}/android-ndk
fi

echo "Fetching Android system headers"
git clone --depth=1 --branch gingerbread-release git://github.com/CyanogenMod/android_frameworks_base.git ../android-source/frameworks/base
git clone --depth=1 --branch gingerbread-release git://github.com/CyanogenMod/android_frameworks_av.git ../android-source/frameworks/av
git clone --depth=1 --branch gingerbread-release git://github.com/CyanogenMod/android_frameworks_native.git ../android-source/frameworks/native
git clone --depth=1 --branch gingerbread-release git://github.com/CyanogenMod/android_hardware_libhardware.git ../android-source/hardware/libhardware
git clone --depth=1 --branch gingerbread-release git://github.com/CyanogenMod/android_system_core.git ../android-source/system/core

echo "Fetching Android libraries for linking"
# Libraries from any froyo/gingerbread device/emulator should …
Run Code Online (Sandbox Code Playgroud)

video android ffmpeg android-ndk stagefright

9
推荐指数
1
解决办法
2872
查看次数

标签 统计

android ×1

android-ndk ×1

ffmpeg ×1

stagefright ×1

video ×1