Android lib ijkplayer 加载 https url
Android lib ijkplayer load https url
我在使用
编译的 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,但如果它是 http 则工作正常。
如何在此库中重新编译 ffmpeg?
嗨,Petro,我不是专业人士,但希望本教程能有所帮助。
您必须编译支持 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/contrib 文件夹并启动 compile-openssl.sh clean 和 all 命令(将为所有处理器编译 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,将以上所有作为库。
$ cd ..
$ ./compile-ijk.sh all
完成所有这些步骤后,您应该在这些文件夹中拥有库(三个 *.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 Studio 和 运行 Ijk-Example 进行测试。
如果您遇到此错误
./compile-ijk.sh profiler build: NO
这是因为 Apple 在 MacBook 中的安全策略,所以有替代解决方案可以转到 Apple menu-->System Preferences-->Security & Policy
并允许它在那里提示。
我在使用
编译的 android 应用程序中使用 ijkplayercompile '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,但如果它是 http 则工作正常。
如何在此库中重新编译 ffmpeg?
嗨,Petro,我不是专业人士,但希望本教程能有所帮助。
您必须编译支持 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/contrib 文件夹并启动 compile-openssl.sh clean 和 all 命令(将为所有处理器编译 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,将以上所有作为库。
$ cd ..
$ ./compile-ijk.sh all
完成所有这些步骤后,您应该在这些文件夹中拥有库(三个 *.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 Studio 和 运行 Ijk-Example 进行测试。
如果您遇到此错误
./compile-ijk.sh profiler build: NO
这是因为 Apple 在 MacBook 中的安全策略,所以有替代解决方案可以转到 Apple menu-->System Preferences-->Security & Policy
并允许它在那里提示。