bilibili / ijkplayer

Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.
GNU General Public License v2.0
32.55k stars 8.13k forks source link

playing HLS, the initial latency time increase significantly in the latest master compared with old tag like k0.3.1 #1794

Open liwei46 opened 8 years ago

liwei46 commented 8 years ago

I test the same HLS url using a previous version the inital delay is about 6 second, but in the latest version of ijkplayer, the inital delay is about 30 seconds. It seems in the latest version, when the disaplay message of a/v cache starts updating, the video still not playing until 20 seconds later.

anyone notices this?

Thanks

xinzhengzhang commented 8 years ago

Can you provide the HLS sample? Thanks

we1019000306 commented 8 years ago

http://pili-media.wscn.wallstcn.com/fragments/z1.wscn.chat_93_0523075427_rebirth_wallstcn_com/1464691918957-1464691927290.ts

we1019000306 commented 8 years ago

This is a HLS url,had this bug.I has seeked to 18:00,after waiting long time the CurrentPlaybackTime is 30:00.

we1019000306 commented 8 years ago

Can this problem be fixed?

we1019000306 commented 8 years ago

by the way, I set currentPlaybackTime when the progressSlider released.

we1019000306 commented 8 years ago

the same url,android played well.But iOS always stalled and buffering.Why???

xinzhengzhang commented 8 years ago

What you provided is one part of hls stream and the duration of this part only a few seconds. Please provide the full url which could reproduce this issue.

we1019000306 commented 8 years ago

Thanks for ur reply,HSL url

we1019000306 commented 8 years ago

http://pili-playback.wscn.wallstcn.com/wscn/chat_93_0523075427_rebirth_wallstcn_com.m3u8?start=0&end=0

liwei46 commented 8 years ago

08-08 09:38:18.790 D/IJKMEDIA( 2739): ffp_toggle_buffering_l: start 08-08 09:38:18.790 I/IJKMEDIA( 2739): SDL_RunThread: [2841] ff_video_dec 08-08 09:38:18.790 I/IJKMEDIA( 2739): SDL_RunThread: [2835] ff_aout_android 08-08 09:38:18.790 D/IJKMEDIA( 2739): FFP_MSG_BUFFERING_START: 08-08 09:38:18.790 D/IJKMEDIA( 2739): FFP_MSG_VIDEO_ROTATION_CHANGED: 0 08-08 09:38:18.820 D/IJKMEDIA( 2739): IjkMediaPlayer_start 08-08 09:38:18.820 D/IJKMEDIA( 2739): ijkmp_start() 08-08 09:38:18.820 D/IJKMEDIA( 2739): ijkmp_get_msg: FFP_REQ_START 08-08 09:38:18.820 D/IJKMEDIA( 2739): ijkmp_start()=0 08-08 09:38:18.820 D/IJKMEDIA( 2739): ijkmp_get_msg: FFP_REQ_START: start on fly 08-08 09:38:18.830 D/IjkVideoView( 2739): MEDIA_INFO_BUFFERING_START: 08-08 09:38:18.830 D/IjkVideoView( 2739): MEDIA_INFO_VIDEO_ROTATION_CHANGED: 0 08-08 09:38:18.830 E/ ( 2739): SurfaceView doesn't support rotation (0)! 08-08 09:38:18.890 D/IJKMEDIA( 2739): ijkmp_get_msg: FFP_REQ_START 08-08 09:38:18.890 D/IJKMEDIA( 2739): ijkmp_get_msg: FFP_REQ_START: start on fly 08-08 09:38:18.950 D/IJKMEDIA( 2739): SDL_VoutFFmpeg_CreateOverlay(w=1280, h=720, fmt=RV32(0x32335652, dp=0x4f549db0) 08-08 09:38:18.950 D/IJKMEDIA( 2739): FFP_MSG_VIDEO_SIZE_CHANGED: 1280, 720 08-08 09:38:18.980 D/IJKMEDIA( 2739): Video: first frame decoded 08-08 09:38:18.980 D/IJKMEDIA( 2739): SDL_VoutFFmpeg_CreateOverlay(w=1280, h=720, fmt=RV32(0x32335652, dp=0x4f549db0) 08-08 09:38:18.980 D/IJKMEDIA( 2739): FFP_MSG_VIDEO_SIZE_CHANGED: 1280, 720 08-08 09:38:19.010 D/IJKMEDIA( 2739): SDL_VoutFFmpeg_CreateOverlay(w=1280, h=720, fmt=RV32(0x32335652, dp=0x4f549db0) 08-08 09:38:19.010 D/IJKMEDIA( 2739): FFP_MSG_VIDEO_SIZE_CHANGED: 1280, 720 08-08 09:39:01.090 D/dalvikvm( 2739): GC_CONCURRENT freed 434K, 8% free 7901K/8583K, paused 12ms+2ms, total 35ms 08-08 09:39:47.740 W/dalvikvm( 2739): VFY: unable to resolve virtual method 17245: Landroid/widget/PopupWindow;.showAsDropDown (Landroid/view/View;III)V 08-08 09:39:47.820 D/dalvikvm( 2739): GC_CONCURRENT freed 366K, 8% free 7977K/8583K, paused 11ms+2ms, total 39ms 08-08 09:39:51.350 D/IJKMEDIA( 2739): IjkMediaPlayer_getMediaMeta 08-08 09:39:51.350 D/IJKMEDIA( 2739): ijkmp_get_meta_l 08-08 09:39:51.350 D/IJKMEDIA( 2739): ijkmp_get_meta_l()=void 08-08 09:39:51.410 I/AppCompatDelegate( 2739): The Activity's LayoutInflater already has a Factory installed so we can not install AppCompat's 08-08 09:39:59.520 D/IJKMEDIA( 2739): Statistics: 1545924 bytes read, 0 seeks 08-08 09:39:59.520 I/IJKMEDIA( 2739): HLS request for url 'http://xxxx.ts_0001.ts', offset 0, playlist 0 08-08 09:40:00.000 D/IJKMEDIA( 2739): request: GET xxxx.ts0001.ts HTTP/1.1 08-08 09:40:00.000 D/IJKMEDIA( 2739): User-Agent: Lavf/57.40.101 08-08 09:40:00.000 D/IJKMEDIA( 2739): Accept: /_ 08-08 09:40:00.000 D/IJKMEDIA( 2739): Connection: close 08-08 09:40:00.000 D/IJKMEDIA( 2739): Host: 116.211.106.187:8080 08-08 09:40:00.000 D/IJKMEDIA( 2739): Icy-MetaData: 1 08-08 09:40:00.000 D/IJKMEDIA( 2739): 08-08 09:40:00.000 D/IJKMEDIA( 2739): 08-08 09:40:03.460 D/dalvikvm( 2739): GC_CONCURRENT freed 195K, 6% free 8204K/8647K, paused 12ms+3ms, total 41ms 08-08 09:40:12.040 D/IJKMEDIA( 2739): Statistics: 1531072 bytes read, 0 seeks 08-08 09:40:12.040 I/IJKMEDIA( 2739): HLS request for url 'http://xxxxxx.ts_0002.ts', offset 0, playlist 0 08-08 09:40:12.540 D/IJKMEDIA( 2739): request: GET http://xxxxxx.ts_0002.ts HTTP/1.1 08-08 09:40:12.540 D/IJKMEDIA( 2739): User-Agent: Lavf/57.40.101 08-08 09:40:12.540 D/IJKMEDIA( 2739): Accept: / 08-08 09:40:12.540 D/IJKMEDIA( 2739): Connection: close 08-08 09:40:12.540 D/IJKMEDIA( 2739): Host: 116.211.106.187:8080 08-08 09:40:12.540 D/IJKMEDIA( 2739): Icy-MetaData: 1 08-08 09:40:12.540 D/IJKMEDIA( 2739): 08-08 09:40:12.540 D/IJKMEDIA( 2739): 08-08 09:40:29.880 D/IJKMEDIA( 2739): Statistics: 1590104 bytes read, 0 seeks 08-08 09:40:29.880 D/IJKMEDIA( 2739): ffp_toggle_buffering_l: end

liwei46 commented 8 years ago

Hello, Above is the logcat message between ffp_toggle_buffering_l start and end for a stream (sorry i am not able to share the url, cannot access outside), notice there is huge amount of time spend here, any comments on what is happening here?

regards,

liwei46 commented 8 years ago

Hello, A temporal solution is to use buf_time_percent instead of buf_size_percent in ffp_check_buffering_l. Not clear why the difference are so big for this stream....

Regards,

xinzhengzhang commented 8 years ago

@liwei46 https://github.com/Bilibili/ijkplayer/issues/1811#issuecomment-239198388