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

FTP没见报错,但是没有播放视频 #5500

Open swithun-liu opened 1 year ago

swithun-liu commented 1 year ago
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_reset
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_release
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_set_android_surface(surface=0x0)
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ffpipeline_set_surface()
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_set_android_surface(surface=0x0)=void
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_shutdown_l()
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_shutdown_l()=void
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_native_setup
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication I/IJKMEDIA: av_version_info: ff3.4--ijk0.8.7--20180103--001
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication I/IJKMEDIA: ijk_version_info: k0.8.8
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ffpipeline_create_from_android()
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_set_inject_opaque(0x2ea2)
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_set_inject_opaque()=void
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_set_ijkio_inject_opaque(0x2ea2)
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_set_ijkio_inject_opaque()=void
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ffpipeline_set_mediacodec_select_callback
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()=void
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_dec_ref(): ref=0
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_shutdown_l()
2023-01-08 22:59:01.106 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_shutdown_l()=void
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_setOptionLong
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_setOptionLong
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_setDataSourceAndHeaders
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication V/IJKMEDIA: setDataSource: path ftp://test:test@192.168.0.107:5656/swithun/gt_2.mp4
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_set_data_source(url="ftp://test:test@192.168.0.107:5656/swithun/gt_2.mp4")
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_set_data_source(url="ftp://test:test@192.168.0.107:5656/swithun/gt_2.mp4")=0
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_setVideoSurface
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_set_android_surface(surface=0xc5a8f040)
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication D/IJKMEDIA: ffpipeline_set_surface()
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_set_android_surface(surface=0xc5a8f040)=void
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_prepareAsync
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_prepare_async()
2023-01-08 22:59:01.107 12935-12979/com.example.myapplication I/IJKMEDIA: ===== versions =====
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: ijkplayer    : k0.8.8
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: FFmpeg       : ff3.4--ijk0.8.7--20180103--001
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: libavutil    : 55.78.100
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: libavcodec   : 57.107.100
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: libavformat  : 57.83.100
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: libswscale   : 4.8.100
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: libswresample: 2.9.100
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: ===== options =====
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: format-opts : ijkapplication               = -976212864
2023-01-08 22:59:01.108 12935-13022/com.example.myapplication I/IJKMEDIA: SDL_RunThread: [13022] ff_msg_loop
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: format-opts : ijkiomanager                 = -975860736
2023-01-08 22:59:01.108 12935-13022/com.example.myapplication D/IJKMEDIA: message_loop
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: format-opts : reconnect                    = 1
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: format-opts : dns_cache_clear              = 1
2023-01-08 22:59:01.108 12935-12979/com.example.myapplication I/IJKMEDIA: ===================
2023-01-08 22:59:01.108 12935-13022/com.example.myapplication D/IJKMEDIA: FFP_MSG_FLUSH:
2023-01-08 22:59:01.109 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_prepare_async()=0
2023-01-08 22:59:01.109 12935-12979/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_start
2023-01-08 22:59:01.109 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_start()
2023-01-08 22:59:01.109 12935-12979/com.example.myapplication D/IJKMEDIA: ijkmp_start()=-3
2023-01-08 22:59:01.109 12935-13023/com.example.myapplication I/IJKMEDIA: SDL_RunThread: [13023] ff_vout
2023-01-08 22:59:01.109 12935-13024/com.example.myapplication I/IJKMEDIA: SDL_RunThread: [13024] ff_read
2023-01-08 22:59:01.112 12935-13024/com.example.myapplication I/IJKMEDIA: Add dns cache hostname = 192.168.0.107, ip = 
2023-01-08 22:59:01.142 12935-13024/com.example.myapplication I/IJKMEDIA: Hit DNS cache hostname = 192.168.0.107
swithun-liu commented 1 year ago
2023-01-14 00:25:41.965 20996-21040/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_reset
2023-01-14 00:25:41.965 20996-21040/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_release
2023-01-14 00:25:41.965 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_set_android_surface(surface=0x0)
2023-01-14 00:25:41.965 20996-21040/com.example.myapplication D/IJKMEDIA: ffpipeline_set_surface()
2023-01-14 00:25:41.965 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_set_android_surface(surface=0x0)=void
2023-01-14 00:25:41.965 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_shutdown_l()
2023-01-14 00:25:41.965 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_shutdown_l()=void
2023-01-14 00:25:41.965 20996-21040/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_native_setup
2023-01-14 00:25:41.965 20996-21040/com.example.myapplication I/IJKMEDIA: av_version_info: ff3.4--ijk0.8.7--20180103--001
2023-01-14 00:25:41.966 20996-21040/com.example.myapplication I/IJKMEDIA: ijk_version_info: k0.8.8
2023-01-14 00:25:41.966 20996-21040/com.example.myapplication D/IJKMEDIA: ffpipeline_create_from_android()
2023-01-14 00:25:41.966 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_set_inject_opaque(0x2e52)
2023-01-14 00:25:41.966 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_set_inject_opaque()=void
2023-01-14 00:25:41.966 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_set_ijkio_inject_opaque(0x2e52)
2023-01-14 00:25:41.967 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_set_ijkio_inject_opaque()=void
2023-01-14 00:25:41.967 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()
2023-01-14 00:25:41.967 20996-21040/com.example.myapplication D/IJKMEDIA: ffpipeline_set_mediacodec_select_callback
2023-01-14 00:25:41.967 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()=void
2023-01-14 00:25:41.967 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_dec_ref(): ref=0
2023-01-14 00:25:41.967 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_shutdown_l()
2023-01-14 00:25:41.967 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_shutdown_l()=void
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_setOptionLong
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_setOptionLong
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_setOption
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_setDataSourceAndHeaders
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication V/IJKMEDIA: setDataSource: path ftp://test:test@192.168.0.101:5656/swithun/mmm.mp4
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_set_data_source(url="ftp://test:test@192.168.0.101:5656/swithun/mmm.mp4")
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_set_data_source(url="ftp://test:test@192.168.0.101:5656/swithun/mmm.mp4")=0
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_setVideoSurface
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_set_android_surface(surface=0xc5a87020)
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication D/IJKMEDIA: ffpipeline_set_surface()
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_set_android_surface(surface=0xc5a87020)=void
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_prepareAsync
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_prepare_async()
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: ===== versions =====
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: ijkplayer    : k0.8.8
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: FFmpeg       : ff3.4--ijk0.8.7--20180103--001
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: libavutil    : 55.78.100
2023-01-14 00:25:41.968 20996-21107/com.example.myapplication I/IJKMEDIA: SDL_RunThread: [21107] ff_msg_loop
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: libavcodec   : 57.107.100
2023-01-14 00:25:41.968 20996-21107/com.example.myapplication D/IJKMEDIA: message_loop
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: libavformat  : 57.83.100
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: libswscale   : 4.8.100
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: libswresample: 2.9.100
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: ===== options =====
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: format-opts : ijkapplication               = -952169280
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: format-opts : ijkiomanager                 = -1001050368
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: format-opts : reconnect                    = 1
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: format-opts : dns_cache_clear              = 1
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: format-opts : protocol_whitelist           = async,cache,crypto,file,http,https,ijkhttphook,ijkinject,ijklivehook,ijklongurl,ijksegment,ijktcphook,pipe,rtp,tcp,tls,udp,ijkurlhook,data,ftp
2023-01-14 00:25:41.968 20996-21040/com.example.myapplication I/IJKMEDIA: ===================
2023-01-14 00:25:41.969 20996-21107/com.example.myapplication D/IJKMEDIA: FFP_MSG_FLUSH:
2023-01-14 00:25:41.969 20996-21108/com.example.myapplication I/IJKMEDIA: SDL_RunThread: [21108] ff_vout
2023-01-14 00:25:41.969 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_prepare_async()=0
2023-01-14 00:25:41.969 20996-21040/com.example.myapplication D/IJKMEDIA: IjkMediaPlayer_start
2023-01-14 00:25:41.969 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_start()
2023-01-14 00:25:41.969 20996-21109/com.example.myapplication I/IJKMEDIA: SDL_RunThread: [21109] ff_read
2023-01-14 00:25:41.969 20996-21040/com.example.myapplication D/IJKMEDIA: ijkmp_start()=-3
2023-01-14 00:25:41.971 20996-21109/com.example.myapplication I/IJKMEDIA: Add dns cache hostname = 192.168.0.101, ip = 
2023-01-14 00:25:41.983 20996-21109/com.example.myapplication I/IJKMEDIA: Hit DNS cache hostname = 192.168.0.101
2023-01-14 00:25:42.887 20996-21032/com.example.myapplication I/e.myapplicatio: ProcessProfilingInfo new_methods=8045 is saved saved_to_disk=1 resolve_classes_delay=8000

白名单我增加了ftp

image image

编译的时候config也增加了ftp

image

但是,日志也没见报错,什么反应也没有,ftp连接是没问题的,直接电脑点击还能下载文件,是个mp4

swithun-liu commented 1 year ago

放在那等了很久又打了几行日志

2023-01-14 15:11:53.207 6040-7634/com.example.myapplication E/IJKMEDIA: ftp://test:test@192.168.0.101:5656/swithun/mmm.mp4: I/O error
2023-01-14 15:11:53.208 6040-7634/com.example.myapplication I/IJKMEDIA: SDL_JNI_DetachThreadEnv: [7634]
2023-01-14 15:11:53.208 6040-7632/com.example.myapplication D/IJKMEDIA: FFP_MSG_ERROR: 0
2023-01-14 15:11:53.209 6040-6040/com.example.myapplication E/tv.danmaku.ijk.media.player.IjkMediaPlayer: Error (-10000,0)

补充下情况:目前https的在线视频是可以正常播放的