bilibili / ijkplayer

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

HLS 直播流 无法播放,报 I/O error,点播流可以正常播放【fixed】 #4199

Open houtengzhi opened 6 years ago

houtengzhi commented 6 years ago

如题,用其他播放器可以正常播放 使用的是最新的0.8.8版本,采用module_default.sh编译 下面是log,播放地址在公司内网上

04-26 13:55:25.662 3848-3848/com.ahgx.dvb D/IJKMEDIA: IjkMediaPlayer_reset 04-26 13:55:25.662 3848-3848/com.ahgx.dvb D/IJKMEDIA: IjkMediaPlayer_release 04-26 13:55:25.662 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_set_android_surface(surface=0x0) 04-26 13:55:25.662 3848-3848/com.ahgx.dvb D/IJKMEDIA: ffpipeline_set_surface() 04-26 13:55:25.662 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_set_android_surface(surface=0x0)=void 04-26 13:55:25.662 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_shutdown_l() 04-26 13:55:25.662 3848-3848/com.ahgx.dvb D/IJKMEDIA: wait for read_tid 04-26 13:55:25.662 3848-30971/com.ahgx.dvb D/IJKMEDIA: message_loop exit 04-26 13:55:25.662 3848-30971/com.ahgx.dvb I/IJKMEDIA: SDL_JNI_DetachThreadEnv: [30971] 04-26 13:55:25.663 3848-3848/com.ahgx.dvb D/IJKMEDIA: wait for video_refresh_tid 04-26 13:55:25.671 3848-30972/com.ahgx.dvb I/IJKMEDIA: SDL_JNI_DetachThreadEnv: [30972] 04-26 13:55:25.672 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_shutdown_l()=void 04-26 13:55:25.672 3848-3848/com.ahgx.dvb D/IJKMEDIA: IjkMediaPlayer_native_setup 04-26 13:55:25.672 3848-3848/com.ahgx.dvb I/IJKMEDIA: av_version_info: ff3.4--ijk0.8.7--20180103--001 04-26 13:55:25.672 3848-3848/com.ahgx.dvb I/IJKMEDIA: ijk_version_info: k0.8.8 04-26 13:55:25.672 3848-3848/com.ahgx.dvb D/IJKMEDIA: ffpipeline_create_from_android() 04-26 13:55:25.672 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_set_inject_opaque(0x1da004d6) 04-26 13:55:25.672 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_set_inject_opaque()=void 04-26 13:55:25.672 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_set_ijkio_inject_opaque(0x1da004d6) 04-26 13:55:25.673 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_set_ijkio_inject_opaque()=void 04-26 13:55:25.673 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback() 04-26 13:55:25.673 3848-3848/com.ahgx.dvb D/IJKMEDIA: ffpipeline_set_mediacodec_select_callback 04-26 13:55:25.673 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()=void 04-26 13:55:25.673 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_dec_ref(): ref=0 04-26 13:55:25.673 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_shutdown_l() 04-26 13:55:25.673 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_shutdown_l()=void 04-26 13:55:25.675 3848-3848/com.ahgx.dvb D/GxLive_V2.1.07_BaseVideoFragment: startIPLive(), url = [http://10.88.201.114:11001/LIVE_1463896291340/playlist.m3u8?serviceType=LIVE]

04-26 13:55:25.676 3848-3848/com.ahgx.dvb D/tv.danmaku.ijk.media.player.IjkMediaPlayer: Couldn't open file on client side, trying server side 04-26 13:55:25.676 3848-3848/com.ahgx.dvb D/IJKMEDIA: IjkMediaPlayer_setDataSourceAndHeaders 04-26 13:55:25.676 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_set_data_source(url="http://10.88.201.114:11001/LIVE_1463896291340/playlist.m3u8?serviceType=LIVE") 04-26 13:55:25.676 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_set_data_source(url="http://10.88.201.114:11001/LIVE_1463896291340/playlist.m3u8?serviceType=LIVE")=0 04-26 13:55:25.676 3848-3848/com.ahgx.dvb D/IJKMEDIA: IjkMediaPlayer_prepareAsync 04-26 13:55:25.676 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_prepare_async() 04-26 13:55:25.676 3848-3848/com.ahgx.dvb I/IJKMEDIA: ===== versions ===== 04-26 13:55:25.677 3848-31140/com.ahgx.dvb I/IJKMEDIA: SDL_RunThread: [31140] ff_msg_loop 04-26 13:55:25.677 3848-31140/com.ahgx.dvb D/IJKMEDIA: message_loop 04-26 13:55:25.677 3848-3848/com.ahgx.dvb I/IJKMEDIA: ijkplayer : k0.8.8 04-26 13:55:25.677 3848-3848/com.ahgx.dvb I/IJKMEDIA: FFmpeg : ff3.4--ijk0.8.7--20180103--001 04-26 13:55:25.677 3848-3848/com.ahgx.dvb I/IJKMEDIA: libavutil : 55.78.100 04-26 13:55:25.677 3848-3848/com.ahgx.dvb I/IJKMEDIA: libavcodec : 57.107.100 04-26 13:55:25.677 3848-31140/com.ahgx.dvb D/IJKMEDIA: FFP_MSG_FLUSH: 04-26 13:55:25.677 3848-3848/com.ahgx.dvb I/IJKMEDIA: libavformat : 57.83.100 04-26 13:55:25.677 3848-3848/com.ahgx.dvb I/IJKMEDIA: libswscale : 4.8.100 04-26 13:55:25.677 3848-3848/com.ahgx.dvb I/IJKMEDIA: libswresample: 2.9.100 04-26 13:55:25.677 3848-3848/com.ahgx.dvb I/IJKMEDIA: ===== options ===== 04-26 13:55:25.678 3848-3848/com.ahgx.dvb I/IJKMEDIA: format-opts : ijkapplication = 1325585920 04-26 13:55:25.678 3848-3848/com.ahgx.dvb I/IJKMEDIA: format-opts : ijkiomanager = 1331879168 04-26 13:55:25.678 3848-3848/com.ahgx.dvb I/IJKMEDIA: =================== 04-26 13:55:25.680 3848-31141/com.ahgx.dvb I/IJKMEDIA: SDL_RunThread: [31141] ff_vout 04-26 13:55:25.680 3848-3848/com.ahgx.dvb D/IJKMEDIA: ijkmp_prepare_async()=0 04-26 13:55:25.680 3848-31142/com.ahgx.dvb I/IJKMEDIA: SDL_RunThread: [31142] ff_read 04-26 13:55:25.680 3848-31142/com.ahgx.dvb D/IJKMEDIA: Opening 'http://10.88.201.114:11001/LIVE_1463896291340/playlist.m3u8?serviceType=LIVE' for reading

04-26 13:55:25.680 3848-31142/com.ahgx.dvb D/IJKMEDIA: Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy' 04-26 13:55:25.681 3848-31142/com.ahgx.dvb I/tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 1 04-26 13:55:25.682 3848-31142/com.ahgx.dvb I/tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 131073

04-26 13:55:25.689 3848-31142/com.ahgx.dvb I/tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 131074

04-26 13:55:25.692 3848-31142/com.ahgx.dvb D/IJKMEDIA: request: GET /LIVE_1463896291340/playlist.m3u8?serviceType=LIVE HTTP/1.1 User-Agent: Lavf/57.83.100 Accept: / Range: bytes=0- Connection: close Host: 10.88.201.114:11001 Icy-MetaData: 1

04-26 13:55:25.698 3848-31142/com.ahgx.dvb I/tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 2

04-26 13:55:25.713 3848-31142/com.ahgx.dvb D/IJKMEDIA: Format hls,applehttp probed with size=2048 and score=100 04-26 13:55:25.717 3848-31142/com.ahgx.dvb I/IJKMEDIA: Opening 'http://10.88.202.252:11002/LIVE_1463896291340/2000K/playlist.m3u8?serviceType=LIVE&d=0&MarkTime=1524721854.7752' for reading

04-26 13:55:25.719 3848-31142/com.ahgx.dvb I/IJKMEDIA: Hit DNS cache hostname = 10.88.202.252 04-26 13:55:25.721 3848-31142/com.ahgx.dvb D/IJKMEDIA: request: GET /LIVE_1463896291340/2000K/playlist.m3u8?serviceType=LIVE&d=0&MarkTime=1524721854.7752 HTTP/1.1 User-Agent: Lavf/57.83.100 Accept: / Connection: close Host: 10.88.202.252:11002 Icy-MetaData: 1

04-26 13:55:25.728 3848-31142/com.ahgx.dvb I/IJKMEDIA: Hit DNS cache hostname = 10.88.202.252 04-26 13:55:25.730 3848-31142/com.ahgx.dvb D/IJKMEDIA: request: GET /LIVE_1463896291340/2000K/playlist.m3u8?serviceType=LIVE&MarkTime=1524721854.7752&ip1=10.88.202.252&ip2=10.88.202.250 HTTP/1.1 User-Agent: Lavf/57.83.100 Accept: / Connection: close Host: 10.88.202.252:11003 Icy-MetaData: 1 04-26 13:55:25.733 3848-31142/com.ahgx.dvb I/IJKMEDIA: Hit DNS cache hostname = 10.88.202.252 04-26 13:55:25.735 3848-31142/com.ahgx.dvb D/IJKMEDIA: request: GET /LIVE_1463896291340/2000K/playlist.m3u8?serviceType=LIVE&MarkTime=1524721854.7752&ip1=10.88.202.252&ip2=10.88.202.250 HTTP/1.1 User-Agent: Lavf/57.83.100 Accept: / Connection: close Host: 10.88.202.252:11003 Icy-MetaData: 1

04-26 13:55:25.737 3848-31142/com.ahgx.dvb I/IJKMEDIA: Hit DNS cache hostname = 10.88.202.252 04-26 13:55:25.738 3848-31142/com.ahgx.dvb D/IJKMEDIA: request: GET /LIVE_1463896291340/2000K/playlist.m3u8?serviceType=LIVE&MarkTime=1524721854.7752&ip1=10.88.202.252&ip2=10.88.202.250 HTTP/1.1 User-Agent: Lavf/57.83.100 Accept: / Connection: close Host: 10.88.202.252:11003 Icy-MetaData: 1

04-26 13:55:25.740 3848-31142/com.ahgx.dvb I/IJKMEDIA: Hit DNS cache hostname = 10.88.202.252

04-26 13:55:25.741 3848-31142/com.ahgx.dvb D/IJKMEDIA: request: GET /LIVE_1463896291340/2000K/playlist.m3u8?serviceType=LIVE&MarkTime=1524721854.7752&ip1=10.88.202.252&ip2=10.88.202.250 HTTP/1.1 User-Agent: Lavf/57.83.100 Accept: / Connection: close Host: 10.88.202.252:11003 Icy-MetaData: 1

04-26 13:55:25.744 3848-31142/com.ahgx.dvb I/IJKMEDIA: Hit DNS cache hostname = 10.88.202.252 04-26 13:55:25.745 3848-31142/com.ahgx.dvb D/IJKMEDIA: request: GET /LIVE_1463896291340/2000K/playlist.m3u8?serviceType=LIVE&MarkTime=1524721854.7752&ip1=10.88.202.252&ip2=10.88.202.250 HTTP/1.1 User-Agent: Lavf/57.83.100 Accept: / Connection: close Host: 10.88.202.252:11003 Icy-MetaData: 1 04-26 13:55:25.747 3848-31142/com.ahgx.dvb I/IJKMEDIA: Hit DNS cache hostname = 10.88.202.252 04-26 13:55:25.748 3848-31142/com.ahgx.dvb D/IJKMEDIA: request: GET /LIVE_1463896291340/2000K/playlist.m3u8?serviceType=LIVE&MarkTime=1524721854.7752&ip1=10.88.202.252&ip2=10.88.202.250 HTTP/1.1 User-Agent: Lavf/57.83.100 Accept: / Connection: close Host: 10.88.202.252:11003 Icy-MetaData: 1 04-26 13:55:25.751 3848-31142/com.ahgx.dvb I/IJKMEDIA: Hit DNS cache hostname = 10.88.202.252

04-26 13:55:25.752 3848-31142/com.ahgx.dvb D/IJKMEDIA: request: GET /LIVE_1463896291340/2000K/playlist.m3u8?serviceType=LIVE&MarkTime=1524721854.7752&ip1=10.88.202.252&ip2=10.88.202.250 HTTP/1.1 User-Agent: Lavf/57.83.100 Accept: / Connection: close Host: 10.88.202.252:11003 Icy-MetaData: 1 04-26 13:55:25.755 3848-31142/com.ahgx.dvb I/IJKMEDIA: Hit DNS cache hostname = 10.88.202.252 04-26 13:55:25.756 3848-31142/com.ahgx.dvb D/IJKMEDIA: request: GET /LIVE_1463896291340/2000K/playlist.m3u8?serviceType=LIVE&MarkTime=1524721854.7752&ip1=10.88.202.252&ip2=10.88.202.250 HTTP/1.1 User-Agent: Lavf/57.83.100 Accept: / Connection: close Host: 10.88.202.252:11003 Icy-MetaData: 1 04-26 13:55:25.758 3848-31142/com.ahgx.dvb D/IJKMEDIA: Statistics: 169 bytes read, 0 seeks 04-26 13:55:25.758 3848-31142/com.ahgx.dvb E/IJKMEDIA: http://10.88.201.114:11001/LIVE_1463896291340/playlist.m3u8?serviceType=LIVE: I/O error 04-26 13:55:25.758 3848-31140/com.ahgx.dvb D/IJKMEDIA: FFP_MSG_ERROR: 0 04-26 13:55:25.758 3848-31142/com.ahgx.dvb I/IJKMEDIA: SDL_JNI_DetachThreadEnv: [31142] 04-26 13:55:25.759 3848-3848/com.ahgx.dvb E/tv.danmaku.ijk.media.player.IjkMediaPlayer: Error (-10000,0)

houtengzhi commented 6 years ago

问题已解决,dns缓存问题,可参考#3700