我在我的android应用程序中使用ijkplayer,我用
compile 'tv.danmaku.ijk.media:ijkplayer-java:0.4.5'
compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.4.5'它可以很好地加载http urls,但是如果我尝试加载https urls,就会得到这个错误。
https protocol not found, recompile FFmpeg with openssl, gnutls, or securetransport enabled.也不能加载我的视频。我不知道这是否有任何区别,但我试图加载的url是一个.m3u8,但如果是,则可以正常工作。
如何在这个库中重新编译ffmpeg?
发布于 2016-11-18 13:33:00
嗨,彼得罗,我不是提出,但希望这个教程会有所帮助。
您必须编译具有openssl支持的ijkplayer以打开https链接,这样做的步骤如下:
从github:获取最新版本的IjkPlayer
$ git clone https://github.com/Bilibili/ijkplayer.git打开刚下载的文件夹ijkplayer删除到module.sh的符号链接并创建到模块-lite.sh的符号链接
$ cd config
$ rm module.sh
$ ln -s module-lite.sh module.sh对OpenSSL进行初始化(准备先下载并编译openssl )
$ cd ..
$ ./init-android-openssl.sh确保您已经指出您的SDK和NDK路径。
(NDK r10e预告-我不确定是否需要SDK,但以防万一我导出了它)
注意:确保您已经正确地更改了您的路径,这只是我所使用的路径的示例。
export ANDROID_SDK="/home/ZiomusGorliczanin/SDK"
export ANDROID_NDK="/home/ZiomusGorliczanin/NDK"打开IjkPlayer/android/cont肋骨文件夹,启动编译-openssl.sh干净和所有命令(这将为所有处理器编译openssl )。
$ cd android/contrib
$ ./compile-openssl.sh clean
$ ./compile-openssl.sh all编译可能需要10分钟。
用OPENSSL为所有处理器编译FFMpeg:
$ cd android/contrib
$ ./compile-ffmpeg.sh clean
$ ./compile-ffmpeg.sh all最终将IjkPlayer编译成一个liblary.
$ cd ..
$ ./compile-ijk.sh all在所有这些步骤之后,您应该在这些文件夹中有liblaries (三个*.so文件):
ijkplayer/ijkplayer-armv5/src/main/libs
ijkplayer/ijkplayer-armv7a/src/main/libs
ijkplayer/ijkplayer-arm64/src/main/libs
ijkplayer/ijkplayer-x86/src/main/libs尝试将gradle项目导入到您的Android中,并运行Ijk示例进行测试。
发布于 2021-12-03 07:09:36
如果你有这个错误
./code-ijk.sh分析器构建:否
这是因为苹果在MacBook中的安全政策,所以有替代的解决方案可以转到Apple menu-->System Preferences-->Security & Policy,并且允许它在那里提示。

https://stackoverflow.com/questions/38529791
复制相似问题