fijkplayer icon indicating copy to clipboard operation
fijkplayer copied to clipboard

第一次无法打开RTMP资源,尝试播放其他在线文件然后返回再打开,播放正常

Open jingking opened this issue 4 years ago • 2 comments

Describe the bug清晰描述你遇到了什么问题。

When compile and run the fijkplayer demo (https://github.com/befovy/fijkplayer/tree/master/example), if I try to play rtmp stream, first time always fail (no video). However, if play other online medias first, (e.g https://fijkplayer.befovy.com/butterfly.flv), then try to play the same rtmp, it works.

What attempts have you made to resolve this error ? 为了解决这个问题你有什么尝试?

Tried with both fijkplayer v0.8.7 and latest developer version. same result.

To Reproduce问题的复现步骤

  1. After launch the demo app, select "Input Url" and paste the rtmp url in the input box
  2. Click 'Play'
  3. The player will return a black screen
  4. go back to the first page and select "Online samples"
  5. select https://fijkplayer.befovy.com/butterfly.flv from the list (even this file does not there anymore)
  6. Click 'Play'
  7. go back to the first page and select "Input Url" and paste the rtmp url in the input box
  8. Click 'Play'
  9. The video works well

Expected behavior描述清楚你希望的运行结果是什么

Looks like there is certain hidden switch or cache. I have to play other type of videos first. Otherwise I cannot play the rtmp source successfully.

Screenshots如果截图有助于对此问题的理解,一定要附上截图

Screenshot from 2021-01-03 20-22-51

fijkplayer version用了什么版本的 fijkplayer

fijkplayer v0.8.7 and latest developer version

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

Android AVD Pixel 3 API 29 and Android Huawei P30 (with Android 10)

Additional context

    • Log for the first time load (no video):

I/flutter ( 1043): rtmp://video.xxxxxxxx.com/stream/test22 D/IJKMEDIA( 1043): IjkMediaPlayer_native_setup I/IJKMEDIA( 1043): av_version_info: ff4.0--ijk0.8.25--20200627--926 I/IJKMEDIA( 1043): ijk_version_info: D/IJKMEDIA( 1043): ffpipeline_create_from_android() D/IJKMEDIA( 1043): ijkmp_set_inject_opaque(0x2a22) D/IJKMEDIA( 1043): ijkmp_set_inject_opaque()=void D/IJKMEDIA( 1043): ijkmp_set_ijkio_inject_opaque(0x2a22) D/IJKMEDIA( 1043): ijkmp_set_ijkio_inject_opaque()=void D/IJKMEDIA( 1043): ijkmp_android_set_mediacodec_select_callback() D/IJKMEDIA( 1043): ffpipeline_set_mediacodec_select_callback D/IJKMEDIA( 1043): ijkmp_android_set_mediacodec_select_callback()=void D/IJKMEDIA( 1043): IjkMediaPlayer_setOptionLong D/IJKMEDIA( 1043): IjkMediaPlayer_setOptionLong I/flutter ( 1043): [inf] 2021-01-03 19:44:29.752260 [fijk] create player id:15 I/flutter ( 1043): [inf] 2021-01-03 19:44:29.757152 [fijk] FijkPlayer{id:15} setOption k:enable-snapshot, v:1 I/flutter ( 1043): [inf] 2021-01-03 19:44:29.757798 [fijk] FijkPlayer{id:15} setOption k:mediacodec-all-videos, v:1 I/flutter ( 1043): [inf] 2021-01-03 19:44:29.758433 [fijk] FijkPlayer{id:15} setOption k:request-screen-on, v:1 D/IJKMEDIA( 1043): IjkMediaPlayer_setOptionLong I/flutter ( 1043): [inf] 2021-01-03 19:44:29.759541 [fijk] FijkPlayer{id:15} setOption k:request-audio-focus, v:1 I/flutter ( 1043): [inf] 2021-01-03 19:44:29.761443 [fijk] FijkPlayer{id:15} invoke setDataSource rtmp://video.xxxxxxxx.com/stream/test22 D/IJKMEDIA( 1043): IjkMediaPlayer_setDataSourceAndHeaders V/IJKMEDIA( 1043): setDataSource: path rtmp://video.xxxxxxxx.com/stream/test22 D/IJKMEDIA( 1043): ijkmp_set_data_source(url="rtmp://video.xxxxxxxx.com/stream/test22") D/IJKMEDIA( 1043): ijkmp_set_data_source(url="rtmp://video.xxxxxxxx.com/stream/test22")=0 I/flutter ( 1043): [inf] 2021-01-03 19:44:29.768166 [fijk] FijkPlayer{id:15} state changed to FijkState.initialized <= FijkState.idle I/flutter ( 1043): [inf] 2021-01-03 19:44:29.772134 [fijk] FijkPlayer{id:15} invoke prepareAsync and start #1 I/flutter ( 1043): [inf] 2021-01-03 19:44:29.772260 [fijk] FijkPlayer{id:15} setOption k:start-on-prepared, v:1 D/IJKMEDIA( 1043): IjkMediaPlayer_setOptionLong D/IJKMEDIA( 1043): IjkMediaPlayer_setOption D/IJKMEDIA( 1043): IjkMediaPlayer_prepareAsync D/IJKMEDIA( 1043): ijkmp_prepare_async() W/IJKMEDIA( 1043): remove 'timeout' option for rtmp. I/IJKMEDIA( 1043): ===== versions ===== I/IJKMEDIA( 1043): ijkplayer : I/IJKMEDIA( 1043): FFmpeg : ff4.0--ijk0.8.25--20200627--926 I/IJKMEDIA( 1043): libavutil : 56.14.100 I/IJKMEDIA( 1043): libavcodec : 58.18.100 I/IJKMEDIA( 1043): SDL_RunThread: [8554] ff_msg_loop I/IJKMEDIA( 1043): libavformat : 58.12.100 D/IJKMEDIA( 1043): message_loop I/IJKMEDIA( 1043): libswscale : 5.1.100 I/IJKMEDIA( 1043): libswresample: 3.1.100 I/IJKMEDIA( 1043): ===== options ===== I/IJKMEDIA( 1043): player-opts : enable-position-notify = 1 I/IJKMEDIA( 1043): player-opts : mediacodec-all-videos = 1 I/IJKMEDIA( 1043): player-opts : start-on-prepared = 1 I/IJKMEDIA( 1043): player-opts : overlay-format = fcc-_es2 I/IJKMEDIA( 1043): format-opts : ijkapplication = -1132309888 I/IJKMEDIA( 1043): format-opts : ijkiomanager = -890166016 I/IJKMEDIA( 1043): =================== D/IJKMEDIA( 1043): FFP_MSG_FLUSH: I/IJKMEDIA( 1043): SDL_RunThread: [8555] ff_vout

D/IJKMEDIA( 1043): ijkmp_prepare_async()=0

I/flutter ( 1043): [inf] 2021-01-03 19:44:29.780995 [fijk] FijkPlayer{id:15} state changed to FijkState.asyncPreparing <= FijkState.initialized I/flutter ( 1043): [inf] 2021-01-03 19:44:29.781718 [fijk] FijkPlayer{id:15} invoke prepareAsync and start #1 -> done

I/IJKMEDIA( 1043): SDL_RunThread: [8556] ff_read W/IJKMEDIA( 1043): remove 'timeout' option for rtmp. I/flutter ( 1043): [inf] 2021-01-03 19:44:29.804147 [fijk] FijkPlayer{id:15} state changed to FijkState.initialized <= FijkState.idle I/flutter ( 1043): [inf] 2021-01-03 19:44:29.804420 [fijk] FijkPlayer{id:15} state changed to FijkState.asyncPreparing <= FijkState.initialized I/IJKMEDIA( 1043): cur ipv4 c_ipaddr = 140.XXX.XXX.XXX I/tv.danmaku.ijk.media.player.IjkMediaPlayer( 1043): onNativeInvoke 131073 I/tv.danmaku.ijk.media.player.IjkMediaPlayer( 1043): onNativeInvoke 131074 I/IJKMEDIA( 1043): tcp did open uri = tcp://video.xxxxxxxx.com:1935, ip = 140.XXX.XXX.XXX port = 1935 E/IJKMEDIA( 1043): Option ijkiomanager not found. D/IJKMEDIA( 1043): FFP_MSG_OPEN_INPUT: I/IJKMEDIA( 1043): max_frame_duration: 10.000 D/IJKMEDIA( 1043): FFP_MSG_FIND_STREAM_INFO: I/IJKMEDIA( 1043): Input #0, flv, from 'rtmp://video.xxxxxxxx.com/stream/test22': I/IJKMEDIA( 1043): Metadata: I/IJKMEDIA( 1043): Server : I/IJKMEDIA( 1043): NGINX RTMP (github.com/sergey-dryabzhinsky/nginx-rtmp-module) I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): displayWidth : I/IJKMEDIA( 1043): 1280 I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): displayHeight : I/IJKMEDIA( 1043): 720 I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): fps : I/IJKMEDIA( 1043): 24 I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): profile : I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): level : I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): Duration: I/IJKMEDIA( 1043): 00:00:00.00 I/IJKMEDIA( 1043): , start: I/IJKMEDIA( 1043): 678.105000 I/IJKMEDIA( 1043): , bitrate: I/IJKMEDIA( 1043): N/A I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): Stream #0:0 I/IJKMEDIA( 1043): : Audio: aac, 44100 Hz, stereo, fltp, 65 kb/s I/IJKMEDIA( 1043):

I/IJKMEDIA( 1043): SDL_Android_AudioTrack: CHANNEL_OUT_STEREO I/IJKMEDIA( 1043): SDL_Android_AudioTrack: ENCODING_PCM_16BIT W/AudioTrack( 1043): Use of stream types is deprecated for operations other than volume control W/AudioTrack( 1043): See the documentation of AudioTrack() for what to use instead with android.media.AudioAttributes to qualify your playback use case I/IJKMEDIA( 1043): SDL_Android_AudioTrack_new_from_spec: init volume as 1.000000/(0.000000,1.000000) I/IJKMEDIA( 1043): audio_session_id = 193 I/IJKMEDIA( 1043): AudioCodec: avcodec, aac

D/IJKMEDIA( 1043): FFP_MSG_COMPONENT_OPEN:

D/IJKMEDIA( 1043): ijkmp_get_msg: FFP_MSG_PREPARED D/IJKMEDIA( 1043): FFP_MSG_PREPARED: I/IJKMEDIA( 1043): SDL_RunThread: [8601] ff_audio_dec I/FIJKPLAYER( 1043): audioFocus request state:false I/IJKMEDIA( 1043): SDL_RunThread: [8600] ff_aout_android

I/flutter ( 1043): [inf] 2021-01-03 19:44:35.906251 [fijk] FijkPlayer{id:15} prepared duration 0:00:00.000000 I/flutter ( 1043): [inf] 2021-01-03 19:44:35.906423 [fijk] FijkPlayer{id:15} setupSurface I/flutter ( 1043): [inf] 2021-01-03 19:44:35.907024 [fijk] FijkPlayer{id:15} state changed to FijkState.prepared <= FijkState.asyncPreparing I/flutter ( 1043): [inf] 2021-01-03 19:44:35.907227 [fijk] FijkPlayer{id:15} setupSurface I/flutter ( 1043): [inf] 2021-01-03 19:44:35.907534 [fijk] FijkPlayer{id:15} state changed to FijkState.started <= FijkState.prepared I/flutter ( 1043): [inf] 2021-01-03 19:44:35.907699 [fijk] FijkPlayer{id:15} setupSurface D/IJKMEDIA( 1043): IjkMediaPlayer_setOption D/IJKMEDIA( 1043): IjkMediaPlayer_setMediaCodecSurface D/IJKMEDIA( 1043): ijkmp_set_android_surface(amc_surface=0xff9c9e40) D/IJKMEDIA( 1043): ffpipeline_set_surface() D/IJKMEDIA( 1043): ijkmp_set_android_surface(amc_surface=0xff9c9e40) D/IJKMEDIA( 1043): IjkMediaPlayer_setVideoSurface D/IJKMEDIA( 1043): ijkmp_set_android_surface(surface=0xff9c9e40) D/IJKMEDIA( 1043): ijkmp_set_android_surface(surface=0xff9c9e40)=void

D/IJKMEDIA( 1043): IjkMediaPlayer_setOption

D/IJKMEDIA( 1043): IjkMediaPlayer_setOption I/flutter ( 1043): [inf] 2021-01-03 19:44:35.908924 [fijk] view setup, vid:9

I/flutter ( 1043): [inf] 2021-01-03 19:44:35.909311 [fijk] view setup, vid:9 I/flutter ( 1043): [inf] 2021-01-03 19:44:35.909488 [fijk] view setup, vid:9 D/IJKMEDIA( 1043): avcodec/Audio: first frame decoded I/IJKMEDIA( 1043): first audio frame rendered D/IJKMEDIA( 1043): FFP_MSG_AUDIO_DECODED_START: D/IJKMEDIA( 1043): FFP_MSG_AUDIO_RENDERING_START:

I/flutter ( 1043): [inf] 2021-01-03 19:44:35.928537 [fijk] FijkPlayer{id:15} audio rendering started

....

    • Log for the successful load:

I/flutter ( 1043): rtmp://video.xxxxxxxx.com/stream/test22 D/IJKMEDIA( 1043): IjkMediaPlayer_native_setup I/IJKMEDIA( 1043): av_version_info: ff4.0--ijk0.8.25--20200627--926 I/IJKMEDIA( 1043): ijk_version_info: D/IJKMEDIA( 1043): ffpipeline_create_from_android() D/IJKMEDIA( 1043): ijkmp_set_inject_opaque(0x2a16) D/IJKMEDIA( 1043): ijkmp_set_inject_opaque()=void D/IJKMEDIA( 1043): ijkmp_set_ijkio_inject_opaque(0x2a16) D/IJKMEDIA( 1043): ijkmp_set_ijkio_inject_opaque()=void D/IJKMEDIA( 1043): ijkmp_android_set_mediacodec_select_callback() D/IJKMEDIA( 1043): ffpipeline_set_mediacodec_select_callback D/IJKMEDIA( 1043): ijkmp_android_set_mediacodec_select_callback()=void D/IJKMEDIA( 1043): IjkMediaPlayer_setOptionLong D/IJKMEDIA( 1043): IjkMediaPlayer_setOptionLong I/flutter ( 1043): [inf] 2021-01-03 19:46:55.083501 [fijk] create player id:17 I/flutter ( 1043): [inf] 2021-01-03 19:46:55.085836 [fijk] FijkPlayer{id:17} setOption k:enable-snapshot, v:1 I/flutter ( 1043): [inf] 2021-01-03 19:46:55.086174 [fijk] FijkPlayer{id:17} setOption k:mediacodec-all-videos, v:1 I/flutter ( 1043): [inf] 2021-01-03 19:46:55.086330 [fijk] FijkPlayer{id:17} setOption k:request-screen-on, v:1 D/IJKMEDIA( 1043): IjkMediaPlayer_setOptionLong I/flutter ( 1043): [inf] 2021-01-03 19:46:55.088187 [fijk] FijkPlayer{id:17} setOption k:request-audio-focus, v:1 I/flutter ( 1043): [inf] 2021-01-03 19:46:55.089265 [fijk] FijkPlayer{id:17} invoke setDataSource rtmp://video.xxxxxxxx.com/stream/test22 D/IJKMEDIA( 1043): IjkMediaPlayer_setDataSourceAndHeaders V/IJKMEDIA( 1043): setDataSource: path rtmp://video.xxxxxxxx.com/stream/test22 D/IJKMEDIA( 1043): ijkmp_set_data_source(url="rtmp://video.xxxxxxxx.com/stream/test22") D/IJKMEDIA( 1043): ijkmp_set_data_source(url="rtmp://video.xxxxxxxx.com/stream/test22")=0 I/flutter ( 1043): [inf] 2021-01-03 19:46:55.090296 [fijk] FijkPlayer{id:17} state changed to FijkState.initialized <= FijkState.idle I/flutter ( 1043): [inf] 2021-01-03 19:46:55.091166 [fijk] FijkPlayer{id:17} invoke prepareAsync and start #1 I/flutter ( 1043): [inf] 2021-01-03 19:46:55.091301 [fijk] FijkPlayer{id:17} setOption k:start-on-prepared, v:1 D/IJKMEDIA( 1043): IjkMediaPlayer_setOptionLong D/IJKMEDIA( 1043): IjkMediaPlayer_setOption D/IJKMEDIA( 1043): IjkMediaPlayer_prepareAsync D/IJKMEDIA( 1043): ijkmp_prepare_async() W/IJKMEDIA( 1043): remove 'timeout' option for rtmp. I/IJKMEDIA( 1043): ===== versions ===== I/IJKMEDIA( 1043): ijkplayer : I/IJKMEDIA( 1043): FFmpeg : ff4.0--ijk0.8.25--20200627--926 I/IJKMEDIA( 1043): libavutil : 56.14.100 I/IJKMEDIA( 1043): libavcodec : 58.18.100

I/IJKMEDIA( 1043): libavformat : 58.12.100

I/IJKMEDIA( 1043): libswscale : 5.1.100 I/IJKMEDIA( 1043): libswresample: 3.1.100 I/IJKMEDIA( 1043): ===== options ===== I/IJKMEDIA( 1043): player-opts : enable-position-notify = 1 I/IJKMEDIA( 1043): player-opts : mediacodec-all-videos = 1 I/IJKMEDIA( 1043): player-opts : start-on-prepared = 1 I/IJKMEDIA( 1043): player-opts : overlay-format = fcc-_es2 I/IJKMEDIA( 1043): format-opts : ijkapplication = -968170880 I/IJKMEDIA( 1043): format-opts : ijkiomanager = -890164096 I/IJKMEDIA( 1043): ===================

I/IJKMEDIA( 1043): SDL_RunThread: [9759] ff_msg_loop D/IJKMEDIA( 1043): message_loop D/IJKMEDIA( 1043): ijkmp_prepare_async()=0 I/IJKMEDIA( 1043): SDL_RunThread: [9760] ff_vout D/IJKMEDIA( 1043): FFP_MSG_FLUSH: I/flutter ( 1043): [inf] 2021-01-03 19:46:55.093732 [fijk] FijkPlayer{id:17} state changed to FijkState.asyncPreparing <= FijkState.initialized I/flutter ( 1043): [inf] 2021-01-03 19:46:55.094495 [fijk] FijkPlayer{id:17} invoke prepareAsync and start #1 -> done I/flutter ( 1043): [inf] 2021-01-03 19:46:55.094716 [fijk] FijkPlayer{id:17} state changed to FijkState.initialized <= FijkState.idle I/flutter ( 1043): [inf] 2021-01-03 19:46:55.094912 [fijk] FijkPlayer{id:17} state changed to FijkState.asyncPreparing <= FijkState.initialized I/IJKMEDIA( 1043): SDL_RunThread: [9761] ff_read W/IJKMEDIA( 1043): remove 'timeout' option for rtmp.

I/IJKMEDIA( 1043): cur ipv4 c_ipaddr = 140.XXX.XXX.XXX I/tv.danmaku.ijk.media.player.IjkMediaPlayer( 1043): onNativeInvoke 131073 I/tv.danmaku.ijk.media.player.IjkMediaPlayer( 1043): onNativeInvoke 131074 I/IJKMEDIA( 1043): tcp did open uri = tcp://video.xxxxxxxx.com:1935, ip = 140.XXX.XXX.XXX port = 1935 E/IJKMEDIA( 1043): Option ijkiomanager not found. D/IJKMEDIA( 1043): FFP_MSG_OPEN_INPUT: I/IJKMEDIA( 1043): max_frame_duration: 10.000

I/IJKMEDIA( 1043): Input #0, flv, from 'rtmp://video.xxxxxxxx.com/stream/test22': I/IJKMEDIA( 1043): Metadata: I/IJKMEDIA( 1043): Server : I/IJKMEDIA( 1043): NGINX RTMP (github.com/sergey-dryabzhinsky/nginx-rtmp-module) I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): displayWidth : I/IJKMEDIA( 1043): 1280 I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): displayHeight : I/IJKMEDIA( 1043): 720 I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): fps : I/IJKMEDIA( 1043): 24 I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): profile : I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): level : I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): Duration: I/IJKMEDIA( 1043): 00:00:00.00 I/IJKMEDIA( 1043): , start: I/IJKMEDIA( 1043): 823.067000 I/IJKMEDIA( 1043): , bitrate: I/IJKMEDIA( 1043): N/A I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): Stream #0:0 I/IJKMEDIA( 1043): : Audio: aac, 44100 Hz, stereo, fltp, 65 kb/s I/IJKMEDIA( 1043): I/IJKMEDIA( 1043): Stream #0:1 I/IJKMEDIA( 1043): : Video: h264, yuv420p(progressive), 1280x720, 614 kb/s I/IJKMEDIA( 1043): , I/IJKMEDIA( 1043): 23.98 fps, I/IJKMEDIA( 1043): 23.98 tbr, I/IJKMEDIA( 1043): 1k tbn, I/IJKMEDIA( 1043): 47.95 tbc I/IJKMEDIA( 1043): D/IJKMEDIA( 1043): FFP_MSG_FIND_STREAM_INFO: I/IJKMEDIA( 1043): SDL_Android_AudioTrack: CHANNEL_OUT_STEREO I/IJKMEDIA( 1043): SDL_Android_AudioTrack: ENCODING_PCM_16BIT W/AudioTrack( 1043): Use of stream types is deprecated for operations other than volume control W/AudioTrack( 1043): See the documentation of AudioTrack() for what to use instead with android.media.AudioAttributes to qualify your playback use case I/IJKMEDIA( 1043): SDL_Android_AudioTrack_new_from_spec: init volume as 1.000000/(0.000000,1.000000) I/IJKMEDIA( 1043): audio_session_id = 201 I/IJKMEDIA( 1043): AudioCodec: avcodec, aac I/IJKMEDIA( 1043): SDL_RunThread: [9783] ff_aout_android I/IJKMEDIA( 1043): SDL_RunThread: [9784] ff_audio_dec D/IJKMEDIA( 1043): ffpipenode_create_video_decoder_from_android_mediacodec() I/IJKMEDIA( 1043): ffpipenode_create_video_decoder_from_android_mediacodec: MediaCodec: H264_HIGH: enabled I/IJKMEDIA( 1043): AMediaFormat: video/avc, 1280x720 D/IJKMEDIA( 1043): SDL_AMediaFormatJava_createVideoFormat E/IJKMEDIA( 1043): csd-0[35]: 00000001 E/IJKMEDIA( 1043): csd-0[35]: 6764001f E/IJKMEDIA( 1043): csd-0[35]: acd94050 E/IJKMEDIA( 1043): csd-0[35]: 05ba1000 E/IJKMEDIA( 1043): csd-0[35]: 003e9000 E/IJKMEDIA( 1043): csd-0[35]: 0bb808f1 E/IJKMEDIA( 1043): csd-0[35]: 83196000 E/IJKMEDIA( 1043): csd-0[35]: 00000168 E/IJKMEDIA( 1043): csd-0[35]: efbcb000 I/IJKMEDIA( 1043): amc: rotate notify: 0 D/IJKMEDIA( 1043): FFP_MSG_VIDEO_ROTATION_CHANGED: 0 D/IJKMEDIA( 1043): ffpipeline_select_mediacodec_l I/tv.danmaku.ijk.media.player.IjkMediaPlayer( 1043): onSelectCodec: mime=video/avc, profile=100, level=31 I/tv.danmaku.ijk.media.player.IjkMediaPlayer( 1043): candidate codec: OMX.google.h264.decoder rank=200 I/IjkMediaCodecInfo( 1043): Unknown Profile Level 52 (524288,65536) W/tv.danmaku.ijk.media.player.IjkMediaPlayer( 1043): unaccetable codec: OMX.google.h264.decoder E/IJKMEDIA( 1043): mediacodec_select_callback: onSelectCodec failed E/IJKMEDIA( 1043): amc: no suitable codec I/IJKMEDIA( 1043): VideoCodec: avcodec, h264 W/IJKMEDIA( 1043): fps: 23.975610 (normal) W/IJKMEDIA( 1043): fps: 23.976024 (normal) D/IJKMEDIA( 1043): FFP_MSG_COMPONENT_OPEN: I/IJKMEDIA( 1043): SDL_RunThread: [9790] ff_video_dec D/IJKMEDIA( 1043): FFP_MSG_VIDEO_ROTATION_CHANGED: 0 D/IJKMEDIA( 1043): FFP_MSG_VIDEO_SIZE_CHANGED: 1280, 720 D/IJKMEDIA( 1043): FFP_MSG_SAR_CHANGED: 0, 1 D/IJKMEDIA( 1043): ijkmp_get_msg: FFP_MSG_PREPARED D/IJKMEDIA( 1043): FFP_MSG_PREPARED: I/FIJKPLAYER( 1043): audioFocus request state:true D/IJKMEDIA( 1043): avcodec/Audio: first frame decoded I/IJKMEDIA( 1043): first audio frame rendered D/IJKMEDIA( 1043): FFP_MSG_AUDIO_DECODED_START: D/IJKMEDIA( 1043): FFP_MSG_AUDIO_RENDERING_START: I/flutter ( 1043): [inf] 2021-01-03 19:46:58.098175 [fijk] FijkPlayer{id:17} rotate degree 0 I/flutter ( 1043): [inf] 2021-01-03 19:46:58.098591 [fijk] FijkPlayer{id:17} rotate degree 0 I/flutter ( 1043): [inf] 2021-01-03 19:46:58.098887 [fijk] FijkPlayer{id:17} size changed (1280.0, 720.0) I/flutter ( 1043): [inf] 2021-01-03 19:46:58.100490 [fijk] FijkPlayer{id:17} prepared duration 0:00:00.000000 I/flutter ( 1043): [inf] 2021-01-03 19:46:58.102929 [fijk] FijkPlayer{id:17} setupSurface D/IJKMEDIA( 1043): IjkMediaPlayer_setOption D/IJKMEDIA( 1043): IjkMediaPlayer_setMediaCodecSurface D/IJKMEDIA( 1043): ijkmp_set_android_surface(amc_surface=0xff9c9e40) D/IJKMEDIA( 1043): ffpipeline_set_surface() D/IJKMEDIA( 1043): ijkmp_set_android_surface(amc_surface=0xff9c9e40) D/IJKMEDIA( 1043): IjkMediaPlayer_setVideoSurface D/IJKMEDIA( 1043): ijkmp_set_android_surface(surface=0xff9c9e40) D/IJKMEDIA( 1043): ijkmp_set_android_surface(surface=0xff9c9e40)=void I/flutter ( 1043): [inf] 2021-01-03 19:46:58.104623 [fijk] FijkPlayer{id:17} state changed to FijkState.prepared <= FijkState.asyncPreparing I/flutter ( 1043): [inf] 2021-01-03 19:46:58.105557 [fijk] FijkPlayer{id:17} setupSurface D/IJKMEDIA( 1043): IjkMediaPlayer_setOption I/flutter ( 1043): [inf] 2021-01-03 19:46:58.115331 [fijk] FijkPlayer{id:17} state changed to FijkState.started <= FijkState.prepared I/flutter ( 1043): [inf] 2021-01-03 19:46:58.116759 [fijk] FijkPlayer{id:17} setupSurface D/IJKMEDIA( 1043): IjkMediaPlayer_setOption I/flutter ( 1043): [inf] 2021-01-03 19:46:58.117622 [fijk] FijkPlayer{id:17} audio rendering started I/flutter ( 1043): [inf] 2021-01-03 19:46:58.118146 [fijk] FijkPlayer{id:17} setupSurface D/IJKMEDIA( 1043): IjkMediaPlayer_setOption I/flutter ( 1043): [inf] 2021-01-03 19:46:58.119005 [fijk] view setup, vid:10 I/flutter ( 1043): [inf] 2021-01-03 19:46:58.119949 [fijk] view setup, vid:10 I/flutter ( 1043): [inf] 2021-01-03 19:46:58.121186 [fijk] view setup, vid:10 I/flutter ( 1043): [inf] 2021-01-03 19:46:58.121959 [fijk] view setup, vid:10 D/IJKMEDIA( 1043): SDL_VoutFFmpeg_CreateOverlay(w=1280, h=720, fmt=YV12(0x32315659, dp=0xf52872f0) D/IJKMEDIA( 1043): FFP_MSG_VIDEO_SIZE_CHANGED: 1280, 720 D/IJKMEDIA( 1043): Video: first frame decoded D/IJKMEDIA( 1043): FFP_MSG_VIDEO_DECODED_START: I/IJKMEDIA( 1043): [EGL] eglInitialize 1.4 D/HostConnection( 1043): HostConnection::get() New Host Connection established 0xbc8c29c0, tid 9760 D/HostConnection( 1043): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV420_888_to_NV21 ANDROID_EMU_YUV_Cache ANDROID_EMU_async_unmap_buffer ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2 I/IJKMEDIA( 1043): [EGL] ANativeWindow_setBuffersGeometry(f=2); D/eglCodecCommon( 1043): setVertexArrayObject: set vao to 0 (0) 0 0 D/EGL_emulation( 1043): eglCreateContext: 0xc67c54c0: maj 2 min 0 rcv 2 I/flutter ( 1043): [inf] 2021-01-03 19:46:58.140677 [fijk] FijkPlayer{id:17} size changed (1280.0, 720.0) D/IJKMEDIA( 1043): FFP_MSG_VIDEO_SIZE_CHANGED: 1280, 720 I/flutter ( 1043): [inf] 2021-01-03 19:46:58.153301 [fijk] FijkPlayer{id:17} size changed (1280.0, 720.0) D/EGL_emulation( 1043): eglMakeCurrent: 0xc67c54c0: ver 2 0 (tinfo 0xbcc1a420) I/IJKMEDIA( 1043): [GLES2] Version = OpenGL ES 2.0 (4.5.0 NVIDIA 455.38) I/IJKMEDIA( 1043): [GLES2] Vendor = Google (NVIDIA Corporation) I/IJKMEDIA( 1043): [GLES2] Renderer = Android Emulator OpenGL ES Translator (GeForce GTX 970/PCIe/SSE2) I/IJKMEDIA( 1043): [GLES2] Extensions = GL_EXT_debug_marker GL_EXT_robustness GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_depth24 GL_OES_depth32 GL_OES_element_index_uint GL_OES_texture_float GL_OES_texture_float_linear GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_packed_depth_stencil GL_OES_texture_npot GL_OES_rgb8_rgba8 GL_EXT_color_buffer_half_float GL_EXT_texture_format_BGRA8888 ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV420_888_to_NV21 ANDROID_EMU_YUV_Cache ANDROID_EMU_async_unmap_buffer ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tr I/IJKMEDIA( 1043): create render yuv420p I/IJKMEDIA( 1043): use render yuv420p I/IJKMEDIA( 1043): ANativeWindow_setBuffersGeometry(w=1,h=1) -> (w=1280,h=720); I/IJKMEDIA( 1043): IJK_GLES2_Renderer_TexCoords_cropRight D/IJKMEDIA( 1043): FFP_MSG_VIDEO_RENDERING_START: D/IJKMEDIA( 1043): SDL_VoutFFmpeg_CreateOverlay(w=1280, h=720, fmt=YV12(0x32315659, dp=0xf52872f0) D/IJKMEDIA( 1043): FFP_MSG_VIDEO_SIZE_CHANGED: 1280, 720 D/IJKMEDIA( 1043): SDL_VoutFFmpeg_CreateOverlay(w=1280, h=720, fmt=YV12(0x32315659, dp=0xf52872f0) I/tv.danmaku.ijk.media.player.IjkMediaPlayer( 1043): Info: MEDIA_INFO_VIDEO_RENDERING_START I/IJKMEDIA( 1043): first video frame rendered, ret 1 I/flutter ( 1043): [inf] 2021-01-03 19:46:58.179823 [fijk] FijkPlayer{id:17} video rendering started I/flutter ( 1043): [inf] 2021-01-03 19:46:58.180114 [fijk] FijkPlayer{id:17} size changed (1280.0, 720.0) D/HostConnection( 1043): HostConnection::get() New Host Connection established 0xbc8c29c0, tid 9760 D/HostConnection( 1043): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV420_888_to_NV21 ANDROID_EMU_YUV_Cache ANDROID_EMU_async_unmap_buffer ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2 D/EGL_emulation( 1043): eglMakeCurrent: 0xc67c54c0: ver 2 0 (tinfo 0xbcc1a420) D/HostConnection( 1043): HostConnection::get() New Host Connection established 0xbc8c29c0, tid 9760 D/HostConnection( 1043): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV420_888_to_NV21 ANDROID_EMU_YUV_Cache ANDROID_EMU_async_unmap_buffer ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2 D/EGL_emulation( 1043): eglMakeCurrent: 0xc67c54c0: ver 2 0 (tinfo 0xbcc1a420) D/HostConnection( 1043): HostConnection::get() New Host Connection established 0xbc8c29c0, tid 9760 D/HostConnection( 1043): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV420_888_to_NV21 ANDROID_EMU_YUV_Cache ANDROID_EMU_async_unmap_buffer ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2 D/EGL_emulation( 1043): eglMakeCurrent: 0xc67c54c0: ver 2 0 (tinfo 0xbcc1a420) ....

jingking avatar Jan 04 '21 03:01 jingking

请问后来解决了吗 iOS 遇到这个问题

NSLogZfRee avatar Oct 30 '21 14:10 NSLogZfRee

nope. replaced with a native ijkplayer.

jingking avatar Oct 30 '21 20:10 jingking