请问是可能因为什么呢?
E/tv.danmaku.ijk.media.player.IjkMediaPlayer: Error (-10000,0)
同一个视频(https),在5.0及以下设备上可以正常播放,但是在6.0及以上无法播放。。
https is disabled by default, you need to enable it before build ffmpeg with OpenSSL
See README.
I did that, compile with OpenSSL, follow the guide of Android, still can't work.
I can play the https on Android 5.0 already, but can't make it work on Android 6.0+
Any log, or URL to debug with?
this is the url and log..
E/IJKMEDIA: https://d131x7vzzf85jg.cloudfront.net/upload/documents/paper/b2/61/00/00/20160420_115018_b544.mp4: Protocol not found
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: IjkMediaPlayer_release
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: IjkMediaPlayer_native_setup
11-10 14:56:09.434 11432-12300/com.kidizz.staging I/IJKMEDIA: av_version_info: ff3.2--ijk0.7.2-20161107--001
11-10 14:56:09.434 11432-12300/com.kidizz.staging I/IJKMEDIA: ijk_version_info: k0.7.4
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: ffpipeline_create_from_android()
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_set_inject_opaque(0x10064e)
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_set_inject_opaque()=void
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: ffpipeline_set_mediacodec_select_callback
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()=void
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: IjkMediaPlayer_setDataSourceAndHeaders
11-10 14:56:09.434 11432-12300/com.kidizz.staging V/IJKMEDIA: setDataSource: path https://d131x7vzzf85jg.cloudfront.net/upload/documents/paper/b2/61/00/00/20160420_115018_b544.mp4?Expires=1478762510&Signature=BghS7cUmvTPKzI-G4tRYTB-eH8mqlLsMwPmtP0imc0sxe~3Gbjf02G-VulIWnQpB5-sjRzwFZC1BTXp4jHFjUM3e68U64PJ4Q1S7G7OSZqcun58Za7WysXcE01YOjZP1dKsnFX6ZUeb0ogtkQr-P~loCPluXNpmEymL6~i10pfl14OyFDE-01wQ13cCHPdyT7NtipXdkTJQXLqDGma9G3cYWPt5Kx5coaqj5UBzCtwkrDdrFmRN1JgANI2n8vklOHs1LiA3xBZKZu4K~YAGUro7lTKq9MJ7TFTsK~S~4w8e3zxn5EK6zU~-ByEAfgXB96wcBJUP1aLdHCCiNWlDrkQ__&Key-Pair-Id=E210DR96H5WSKY
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_set_data_source(url="https://d131x7vzzf85jg.cloudfront.net/upload/documents/paper/b2/61/00/00/20160420_115018_b544.mp4?Expires=1478762510&Signature=BghS7cUmvTPKzI-G4tRYTB-eH8mqlLsMwPmtP0imc0sxe~3Gbjf02G-VulIWnQpB5-sjRzwFZC1BTXp4jHFjUM3e68U64PJ4Q1S7G7OSZqcun58Za7WysXcE01YOjZP1dKsnFX6ZUeb0ogtkQr-P~loCPluXNpmEymL6~i10pfl14OyFDE-01wQ13cCHPdyT7NtipXdkTJQXLqDGma9G3cYWPt5Kx5coaqj5UBzCtwkrDdrFmRN1JgANI2n8vklOHs1LiA3xBZKZu4K~YAGUro7lTKq9MJ7TFTsK~S~4w8e3zxn5EK6zU~-ByEAfgXB96wcBJUP1aLdHCCiNWlDrkQ__&Key-Pair-Id=E210DR96H5WSKY")
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_set_data_source(url="https://d131x7vzzf85jg.cloudfront.net/upload/documents/paper/b2/61/00/00/20160420_115018_b544.mp4?Expires=1478762510&Signature=BghS7cUmvTPKzI-G4tRYTB-eH8mqlLsMwPmtP0imc0sxe~3Gbjf02G-VulIWnQpB5-sjRzwFZC1BTXp4jHFjUM3e68U64PJ4Q1S7G7OSZqcun58Za7WysXcE01YOjZP1dKsnFX6ZUeb0ogtkQr-P~loCPluXNpmEymL6~i10pfl14OyFDE-01wQ13cCHPdyT7NtipXdkTJQXLqDGma9G3cYWPt5Kx5coaqj5UBzCtwkrDdrFmRN1JgANI2n8vklOHs1LiA3xBZKZu4K~YAGUro7lTKq9MJ7TFTsK~S~4w8e3zxn5EK6zU~-ByEAfgXB96wcBJUP1aLdHCCiNWlDrkQ__&Key-Pair-Id=E210DR96H5WSKY")=0
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: IjkMediaPlayer_setOptionLong
11-10 14:56:09.434 11432-12300/com.kidizz.staging D/IJKMEDIA: IjkMediaPlayer_setLoopCount
11-10 14:56:09.435 11432-12300/com.kidizz.staging W/tv.danmaku.ijk.media.player.IjkMediaPlayer: setScreenOnWhilePlaying(true) is ineffective without a SurfaceHolder
11-10 14:56:09.435 11432-12300/com.kidizz.staging D/IJKMEDIA: IjkMediaPlayer_prepareAsync
11-10 14:56:09.435 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_prepare_async()
11-10 14:56:09.435 11432-12300/com.kidizz.staging I/IJKMEDIA: ===== versions =====
11-10 14:56:09.435 11432-12300/com.kidizz.staging I/IJKMEDIA: ijkplayer : k0.7.4
11-10 14:56:09.435 11432-12300/com.kidizz.staging I/IJKMEDIA: FFmpeg : ff3.2--ijk0.7.2-20161107--001
11-10 14:56:09.435 11432-12300/com.kidizz.staging I/IJKMEDIA: libavutil : 55.34.100
11-10 14:56:09.435 11432-12300/com.kidizz.staging I/IJKMEDIA: libavcodec : 57.64.100
11-10 14:56:09.435 11432-12300/com.kidizz.staging I/IJKMEDIA: libavformat : 57.56.100
11-10 14:56:09.435 11432-12300/com.kidizz.staging I/IJKMEDIA: libswscale : 4.2.100
11-10 14:56:09.435 11432-12300/com.kidizz.staging I/IJKMEDIA: libswresample: 2.3.100
11-10 14:56:09.435 11432-12300/com.kidizz.staging I/IJKMEDIA: ===== options =====
11-10 14:56:09.435 11432-12300/com.kidizz.staging I/IJKMEDIA: player-opts : loop = 1
11-10 14:56:09.435 11432-12300/com.kidizz.staging I/IJKMEDIA: format-opts : ijkapplication = 368219979632
11-10 14:56:09.435 11432-12300/com.kidizz.staging I/IJKMEDIA: ===================
11-10 14:56:09.436 11432-24876/com.kidizz.staging I/IJKMEDIA: SDL_RunThread: [24876] ff_msg_loop
11-10 14:56:09.436 11432-24876/com.kidizz.staging D/IJKMEDIA: message_loop
11-10 14:56:09.444 11432-24876/com.kidizz.staging D/IJKMEDIA: FFP_MSG_FLUSH:
11-10 14:56:09.445 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_prepare_async()=0
11-10 14:56:09.445 11432-12300/com.kidizz.staging D/IJKMEDIA: IjkMediaPlayer_setOptionLong
11-10 14:56:09.445 11432-24878/com.kidizz.staging I/IJKMEDIA: SDL_RunThread: [24878] ff_vout
11-10 14:56:09.446 11432-24879/com.kidizz.staging I/IJKMEDIA: SDL_RunThread: [24879] ff_read
11-10 14:56:09.446 11432-24879/com.kidizz.staging W/IJKMEDIA: https protocol not found, recompile FFmpeg with openssl, gnutls or securetransport enabled.
11-10 14:56:09.446 11432-24879/com.kidizz.staging E/IJKMEDIA: https://d131x7vzzf85jg.cloudfront.net/upload/documents/paper/b2/61/00/00/20160420_115018_b544.mp4?Expires=1478762510&Signature=BghS7cUmvTPKzI-G4tRYTB-eH8mqlLsMwPmtP0imc0sxe~3Gbjf02G-VulIWnQpB5-sjRzwFZC1BTXp4jHFjUM3e68U64PJ4Q1S7G7OSZqcun58Za7WysXcE01YOjZP1dKsnFX6ZUeb0ogtkQr-P~loCPluXNpmEymL6~i10pfl14OyFDE-01wQ13cCHPdyT7NtipXdkTJQXLqDGma9G3cYWPt5Kx5coaqj5UBzCtwkrDdrFmRN1JgANI2n8vklOHs1LiA3xBZKZu4K~YAGUro7lTKq9MJ7TFTsK~S~4w8e3zxn5EK6zU~-ByEAfgXB96wcBJUP1aLdHCCiNWlDrkQ__&Key-Pair-Id=E210DR96H5WSKY: Protocol not found
11-10 14:56:09.446 11432-24879/com.kidizz.staging I/IJKMEDIA: SDL_JNI_DetachThreadEnv: [24879]
11-10 14:56:09.446 11432-24876/com.kidizz.staging D/IJKMEDIA: FFP_MSG_ERROR: 0
11-10 14:56:09.447 11432-12300/com.kidizz.staging E/tv.danmaku.ijk.media.player.IjkMediaPlayer: Error (-10000,0)
11-10 14:56:09.454 11432-12300/com.kidizz.staging W/tv.danmaku.ijk.media.player.IjkMediaPlayer: setScreenOnWhilePlaying(true) is ineffective for Surface
11-10 14:56:09.454 11432-12300/com.kidizz.staging D/IJKMEDIA: IjkMediaPlayer_setVideoSurface
11-10 14:56:09.454 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_set_android_surface(surface=0x7f67bfb448)
11-10 14:56:09.454 11432-12300/com.kidizz.staging D/IJKMEDIA: ffpipeline_set_surface()
11-10 14:56:09.454 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_set_android_surface(surface=0x7f67bfb448)=void
11-10 14:56:09.456 11432-12300/com.kidizz.staging D/IJKMEDIA: IjkMediaPlayer_reset
11-10 14:56:09.456 11432-12300/com.kidizz.staging D/IJKMEDIA: IjkMediaPlayer_release
11-10 14:56:09.456 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_set_android_surface(surface=0x0)
11-10 14:56:09.456 11432-12300/com.kidizz.staging D/IJKMEDIA: ffpipeline_set_surface()
11-10 14:56:09.456 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_set_android_surface(surface=0x0)=void
11-10 14:56:09.456 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_shutdown_l()
11-10 14:56:09.457 11432-24876/com.kidizz.staging D/IJKMEDIA: message_loop exit
11-10 14:56:09.457 11432-24876/com.kidizz.staging I/IJKMEDIA: SDL_JNI_DetachThreadEnv: [24876]
11-10 14:56:09.466 11432-24878/com.kidizz.staging I/IJKMEDIA: SDL_JNI_DetachThreadEnv: [24878]
11-10 14:56:09.467 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_shutdown_l()=void
11-10 14:56:09.468 11432-12300/com.kidizz.staging D/IJKMEDIA: IjkMediaPlayer_native_setup
11-10 14:56:09.468 11432-12300/com.kidizz.staging I/IJKMEDIA: av_version_info: ff3.2--ijk0.7.2-20161107--001
11-10 14:56:09.468 11432-12300/com.kidizz.staging I/IJKMEDIA: ijk_version_info: k0.7.4
11-10 14:56:09.468 11432-12300/com.kidizz.staging D/IJKMEDIA: ffpipeline_create_from_android()
11-10 14:56:09.468 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_set_inject_opaque(0x792)
11-10 14:56:09.468 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_set_inject_opaque()=void
11-10 14:56:09.468 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()
11-10 14:56:09.468 11432-12300/com.kidizz.staging D/IJKMEDIA: ffpipeline_set_mediacodec_select_callback
11-10 14:56:09.468 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()=void
11-10 14:56:09.468 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_dec_ref(): ref=0
11-10 14:56:09.468 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_shutdown_l()
11-10 14:56:09.468 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_shutdown_l()=void
11-10 14:56:09.469 11432-12300/com.kidizz.staging D/IJKMEDIA: IjkMediaPlayer_release
11-10 14:56:09.469 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_set_android_surface(surface=0x0)
11-10 14:56:09.469 11432-12300/com.kidizz.staging D/IJKMEDIA: ffpipeline_set_surface()
11-10 14:56:09.469 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_set_android_surface(surface=0x0)=void
11-10 14:56:09.469 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_shutdown_l()
11-10 14:56:09.469 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_shutdown_l()=void
11-10 14:56:09.469 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_dec_ref(): ref=0
11-10 14:56:09.469 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_shutdown_l()
11-10 14:56:09.469 11432-12300/com.kidizz.staging D/IJKMEDIA: ijkmp_shutdown_l()=void
The log shows
"11-10 14:56:09.446 11432-24879/com.kidizz.staging W/IJKMEDIA: https protocol not found, recompile FFmpeg with openssl, gnutls or securetransport enabled."
yes, but if I did't compile with FFmpeg, why the Android 5.0 can play the https ...
I already compile with openssl and FFmpeg, so the Android 5.0 can play the same video, but when I test it on Android 6.0 or 7.0, it won't work and show the log.
I don't know, You tell me.
Connecting to d131x7vzzf85jg.cloudfront.net|52.85.151.17|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10493952 (10M) [video/mp4]
Saving to: 'a.mp4'
0% [ ] 8,192 942B/s eta 3h 5m
Too slow to access.
Thanks for testing..
Just 10min ago, found the reason.
Because when I compile the openssl, only armeabi-v7a is compiled successful.
But when I test, the phone is all arm64-v8a....so....
It's not about the system version, It's about the cup...and compile openssl.
Thanks again.
p.s: still don't know why the compile is failed on arm64-v8a. But after update NDK to latest version, compile successed.
why u didnt support https inside gradle build?
implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8'
How can I build ffmpeg with OpenSSL?