befovy / fijkplayer

ijkplayer for flutter. ijkplayer 的 flutter 封装。 Flutter video/audio player. Flutter media player plugin for android/iOS based on ijkplayer. fijkplayer 是基于 ijkplayer 封装的 flutter 媒体播放器,开箱即用,无需编译 ijkplayer
https://fijkplayer.befovy.com
MIT License
1.65k stars 354 forks source link

[BUG]Flutter2.0 Android 大几率无法播放 #393

Open zhouzongfu opened 3 years ago

zhouzongfu commented 3 years ago

Describe the bug A clear and concise description of what the bug is. Flutter2.0 Android 大几率无法播放

fijkplayer version Which version you used. fijkplayer:0.8.7

Smartphone (please complete the following information): 什么手机设备和系统版本?

Log:

I/you.flutter_ap(24797): ProcessProfilingInfo new_methods=533 is saved saved_to_disk=1 resolve_classes_delay=8000 V/MiuiFrameworkFactory(24797): get AllImpl object = android.common.MiuiFrameworkFactoryImpl@4cb110d W/MirrorManager(24797): this model don't Support D/J4A (24797): J4ALoader: OK: 'android.os.Build$VERSION' loaded D/J4A (24797): J4ALoader: OK: 'android.os.Build' loaded D/J4A (24797): J4ALoader: OK: 'java.nio.Buffer' loaded D/J4A (24797): J4ALoader: OK: 'java.nio.ByteBuffer' loaded D/J4A (24797): J4ALoader: OK: 'java.util.ArrayList' loaded I/J4A (24797): API-Level: 30 D/J4A (24797): J4ALoader: OK: 'android.media.AudioTrack' loaded D/J4A (24797): J4ALoader: OK: 'android.media.MediaCodec$BufferInfo' loaded D/J4A (24797): J4ALoader: OK: 'android.media.MediaCodec' loaded D/J4A (24797): J4ALoader: OK: 'android.media.MediaFormat' loaded D/J4A (24797): J4ALoader: OK: 'android.media.PlaybackParams' loaded D/J4A (24797): J4ALoader: OK: 'android.os.Bundle' loaded D/J4A (24797): J4ALoader: OK: 'tv.danmaku.ijk.media.player.misc.IMediaDataSource' loaded D/J4A (24797): J4ALoader: OK: 'tv.danmaku.ijk.media.player.misc.IAndroidIO' loaded D/J4A (24797): J4ALoader: OK: 'tv.danmaku.ijk.media.player.misc.MediaCodecSurface' loaded D/J4A (24797): J4ALoader: OK: 'tv.danmaku.ijk.media.player.IjkMediaPlayer' loaded D/IJKMEDIA(24797): ijkmediaplayer version : D/IJKMEDIA(24797): IjkMediaPlayer_native_init D/IJKMEDIA(24797): IjkMediaPlayer_native_setup I/IJKMEDIA(24797): av_version_info: ff4.0--ijk0.8.25--20200627--926 I/IJKMEDIA(24797): ijk_version_info: D/IJKMEDIA(24797): ffpipeline_create_from_android() D/IJKMEDIA(24797): ijkmp_set_inject_opaque(0x2f66) D/IJKMEDIA(24797): ijkmp_set_inject_opaque()=void D/IJKMEDIA(24797): ijkmp_set_ijkio_inject_opaque(0x2f66) D/IJKMEDIA(24797): ijkmp_set_ijkio_inject_opaque()=void D/IJKMEDIA(24797): ijkmp_android_set_mediacodec_select_callback() D/IJKMEDIA(24797): ffpipeline_set_mediacodec_select_callback D/IJKMEDIA(24797): ijkmp_android_set_mediacodec_select_callback()=void D/IJKMEDIA(24797): IjkMediaPlayer_setOptionLong D/IJKMEDIA(24797): IjkMediaPlayer_setOptionLong I/flutter (24797): [inf] 2021-05-13 16:42:02.711392 [fijk] create player id:2 I/flutter (24797): [inf] 2021-05-13 16:42:02.715683 [fijk] FijkPlayer{id:2} setOption k:enable-snapshot, v:1 I/flutter (24797): [inf] 2021-05-13 16:42:02.716175 [fijk] FijkPlayer{id:2} setOption k:mediacodec-all-videos, v:1 I/flutter (24797): [inf] 2021-05-13 16:42:02.716385 [fijk] FijkPlayer{id:2} setOption k:request-screen-on, v:1 D/IJKMEDIA(24797): IjkMediaPlayer_setOptionLong I/flutter (24797): [inf] 2021-05-13 16:42:02.732581 [fijk] FijkPlayer{id:2} setOption k:request-audio-focus, v:1 I/flutter (24797): [inf] 2021-05-13 16:42:02.737535 [fijk] FijkPlayer{id:2} invoke setDataSource http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f10.mp4 D/IJKMEDIA(24797): IjkMediaPlayer_setDataSourceAndHeaders V/IJKMEDIA(24797): setDataSource: path http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f10.mp4 D/IJKMEDIA(24797): ijkmp_set_data_source(url="http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f10.mp4") D/IJKMEDIA(24797): ijkmp_set_data_source(url="http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f10.mp4")=0 I/flutter (24797): [inf] 2021-05-13 16:42:02.744064 [fijk] FijkPlayer{id:2} state changed to FijkState.initialized <= FijkState.idle I/flutter (24797): [inf] 2021-05-13 16:42:02.748463 [fijk] FijkPlayer{id:2} invoke prepareAsync and start #1 I/flutter (24797): [inf] 2021-05-13 16:42:02.748661 [fijk] FijkPlayer{id:2} setOption k:start-on-prepared, v:1 D/IJKMEDIA(24797): IjkMediaPlayer_setOptionLong D/IJKMEDIA(24797): IjkMediaPlayer_setOption D/IJKMEDIA(24797): IjkMediaPlayer_prepareAsync D/IJKMEDIA(24797): ijkmp_prepare_async() I/IJKMEDIA(24797): ===== versions ===== I/IJKMEDIA(24797): ijkplayer : I/IJKMEDIA(24797): SDL_RunThread: [24867] ff_msg_loop I/IJKMEDIA(24797): FFmpeg : ff4.0--ijk0.8.25--20200627--926 I/IJKMEDIA(24797): libavutil : 56.14.100 I/IJKMEDIA(24797): libavcodec : 58.18.100 I/IJKMEDIA(24797): libavformat : 58.12.100 I/IJKMEDIA(24797): libswscale : 5.1.100 I/IJKMEDIA(24797): libswresample: 3.1.100 I/IJKMEDIA(24797): ===== options ===== I/IJKMEDIA(24797): player-opts : enable-position-notify = 1 I/IJKMEDIA(24797): player-opts : mediacodec-all-videos = 1 I/IJKMEDIA(24797): player-opts : start-on-prepared = 1 I/IJKMEDIA(24797): player-opts : overlay-format = fcc-_es2 I/IJKMEDIA(24797): format-opts : ijkapplication = -5476376632540257664 I/IJKMEDIA(24797): format-opts : ijkiomanager = -5476376632459804032 I/IJKMEDIA(24797): =================== I/IJKMEDIA(24797): SDL_RunThread: [24868] ff_vout D/IJKMEDIA(24797): ijkmp_prepare_async()=0 I/flutter (24797): [inf] 2021-05-13 16:42:02.751490 [fijk] FijkPlayer{id:2} state changed to FijkState.asyncPreparing <= FijkState.initialized I/flutter (24797): [inf] 2021-05-13 16:42:02.752113 [fijk] FijkPlayer{id:2} invoke prepareAsync and start #1 -> done D/IJKMEDIA(24797): message_loop D/IJKMEDIA(24797): FFP_MSG_FLUSH: I/IJKMEDIA(24797): SDL_RunThread: [24869] ff_read F/libc (24797): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x43a05d170000010c in tid 24869 (ff_read), pid 24797 (you.flutter_app)


Build fingerprint: 'Redmi/alioth/alioth:11/RKQ1.200826.002/V12.0.2.0.RKHCNXM:user/release-keys' Revision: '0' ABI: 'arm64' Timestamp: 2021-05-13 16:42:02+0800 pid: 24797, tid: 24869, name: ff_read >>> com.yueyou.flutter_app <<< uid: 10414 signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x43a05d170000010c x0 b4000077c1302400 x1 0000000000000001 x2 0000007833e722d8 x3 0000000000001038 x4 43a05d170000010c x5 8080808080808080 x6 fefefefefefefeff x7 7f7f7f7f7f7f7f7f x8 0101010101010101 x9 0000000000000000 x10 00000000000f4240 x11 00000000000b7e14 x12 0000000000000018 x13 00000003e8000000 x14 002ccb48cc2f9dcb x15 00001935a76a815d x16 000000783628c200 x17 00000078cbc9b330 x18 0000000000000050 x19 b4000077c1302400 x20 0000000000000000 x21 0005c23219ee4894 x22 b4000078335ff3a0 x23 b4000078335ff340 x24 b400007848a8d800 x25 b4000077c1175408 x26 b4000077b5c86780 x27 00000000000fc000 x28 0000007833d7b000 x29 0000007833e73c40 lr 000000783601afc8 sp 0000007833e722d0 pc 43a05d170000010c pst 0000000000001000 backtrace:

00 pc 43a05d170000010c

  #01 pc 0000000000317fc4  /data/app/~~XI2kusdX47wt0sP71nvz-w==/com.yueyou.flutter_app-oBhAKCuHPsIxah90MXJWew==/lib/arm64/libijkffmpeg.so (av_application_will_http_open+116)

Lost connection to device.

zhouzongfu commented 3 years ago

394 有这么一个情况就是直接使用这个github上的代码在Android11上面运行,没有出现相同的问题!可以正常播放。

shiyu123 commented 3 years ago

394 有这么一个情况就是直接使用这个github上的代码在Android11上面运行,没有出现相同的问题!可以正常播放。

github上的代码和0.8.8不一样吗?

zhouzongfu commented 3 years ago

394 有这么一个情况就是直接使用这个github上的代码在Android11上面运行,没有出现相同的问题!可以正常播放。

github上的代码和0.8.8不一样吗? 是0.8.8的没错,但是应该不是在Flutter2.0上创的工程,不知道是不是Flutter2.0的原因,准备重新再1.x版本上创建再试试

shiyu123 commented 3 years ago

394 有这么一个情况就是直接使用这个github上的代码在Android11上面运行,没有出现相同的问题!可以正常播放。

github上的代码和0.8.8不一样吗? 是0.8.8的没错,但是应该不是在Flutter2.0上创的工程,不知道是不是Flutter2.0的原因,准备重新再1.x版本上创建再试试

我要怎样直接使用github上的代码,用git url的那种方式在安卓11上依然会报错。 fijkplayer: git: url: https://github.com/befovy/fijkplayer.git ref: master

zhouzongfu commented 3 years ago

394 有这么一个情况就是直接使用这个github上的代码在Android11上面运行,没有出现相同的问题!可以正常播放。

github上的代码和0.8.8不一样吗? 是0.8.8的没错,但是应该不是在Flutter2.0上创的工程,不知道是不是Flutter2.0的原因,准备重新再1.x版本上创建再试试

我要怎样直接使用github上的代码,用git url的那种方式在安卓11上依然会报错。 fijkplayer: git: url: https://github.com/befovy/fijkplayer.git ref: master

我说的直接使用是指将这个插件工程下载下来,运行里面的example,目前不管用github或者pub引用都是一样的,建议将sdk切换到1.x版本(如1.22.5,或者1.x的更高),我试了没有报错,你们也可以试下,不过我不知道产生问题的具体真实原因,所以不一定都适用。。

zhouzongfu commented 3 years ago

394 有这么一个情况就是直接使用这个github上的代码在Android11上面运行,没有出现相同的问题!可以正常播放。

github上的代码和0.8.8不一样吗? 是0.8.8的没错,但是应该不是在Flutter2.0上创的工程,不知道是不是Flutter2.0的原因,准备重新再1.x版本上创建再试试

我要怎样直接使用github上的代码,用git url的那种方式在安卓11上依然会报错。 fijkplayer: git: url: https://github.com/befovy/fijkplayer.git ref: master

我说的直接使用是指将这个插件工程下载下来,运行里面的example,目前不管用github或者pub引用都是一样的,建议将sdk切换到1.x版本(如1.22.5,或者1.x的更高),我试了没有报错,你们也可以试下,不过我不知道产生问题的具体真实原因,所以不一定都适用。。