gpt4 book ai didi

android - 在带有 NDK 的 Android 上使用带有 FFmpeg 的 openssl

转载 作者:行者123 更新时间:2023-12-04 23:17:11 25 4
gpt4 key购买 nike

我使用 scripts 交叉编译了支持 openssl 的 FFmpeg来自 Guardian 项目,但是每当我执行以下操作时,我的代码就会崩溃:

System.loadLibrary("crypto");    // loads OK
System.loadLibrary("ssl"); // loads OK
System.loadLibrary("avformat"); // crashes

错误:
dlopen("/data/data/wseemann.media.demo/lib/libavformat.so") failed: dlopen failed: cannot locate symbol "SSL_library_init" referenced by "libavformat.so"...

我使用工具链构建 libavformat,然后使用以下 Android.mk 文件运行 ndk-build 以创建 .so 文件:
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := libswscale
LOCAL_SRC_FILES := ffmpeg/$(TARGET_ARCH_ABI)/lib/$(LOCAL_MODULE).so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/ffmpeg/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libavcodec
LOCAL_SRC_FILES := ffmpeg/$(TARGET_ARCH_ABI)/lib/$(LOCAL_MODULE).so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/ffmpeg/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libavformat
LOCAL_SRC_FILES := ffmpeg/$(TARGET_ARCH_ABI)/lib/$(LOCAL_MODULE).so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/ffmpeg/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libavutil
LOCAL_SRC_FILES := ffmpeg/$(TARGET_ARCH_ABI)/lib/$(LOCAL_MODULE).so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/ffmpeg/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_SHARED_LIBRARY)

LOCAL_PATH:= $(call my-dir)

似乎 libavformat 在加载时需要 libcrypto 和 libssl 但找不到它们或没有加载它们。有谁知道如何解决这个问题?

最佳答案

问题是通常有 libssl.so/system/lib .装载机System.loadLibrary()更喜欢您的应用程序库目录( /data/data/your.package.name/lib )的路径,这可能会导致混淆。最简单的解决方法是使用 System.load("/data/data/your.package.name/lib/libssl.so")而是(也有 correct ways 来获取路径)。

另一个解决方法是重命名 libssl.so你准备的,到libavssl.so , 并调用 System.loadLibrary("avssl") .请注意,您可能需要重新编译 libavformat以便它寻找 libavssl.so .

关于android - 在带有 NDK 的 Android 上使用带有 FFmpeg 的 openssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20575083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com