bilibili / ijkplayer

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

ijkplayer 0.8.8无法播放FTP文件服务器上的视频 #4749

Closed lm3515 closed 5 years ago

lm3515 commented 5 years ago

最近在弄一个项目,要求播放局域网内U盘内的视频,采用FTP协议,我使用了ijkplayer 0.8.8,无法播放ftp文件服务器上的视频、音频 日志如下:

av_version_info: ff3.4--ijk0.8.7--20180103--001 ijk_version_info: k0.8.8 ijkmp_set_inject_opaque(0x281f01fc0) ijkmp_set_inject_opaque()=void ijkmp_set_ijkio_inject_opaque(0x281f01fc0) ijkmp_set_ijkio_inject_opaque()=void 2019-06-04 17:44:29.112610+0800 MyTV[7444:1566780] OK setup GL ijkmp_ios_set_view(glView=0x1035b5c00) ijkmp_ios_set_view(glView=0x1035b5c00)=void 2019-06-04 17:44:29.119304+0800 MyTV[7444:1566780] invalidateRenderBuffer 2019-06-04 17:44:29.121881+0800 MyTV[7444:1568504] IJKSDLGLView: setupDisplay not ready ijkmp_set_data_source(url="/ftp:/192.168.0.154/sda1/20190520205833.mp4") ijkmp_set_data_source(url="/ftp:/192.168.0.154/sda1/20190520205833.mp4")=0 ijkmp_prepare_async() ===== versions ===== [FFPlayer @ 0x1040c6000] ijkplayer : k0.8.8 [FFPlayer @ 0x1040c6000] FFmpeg : ff3.4--ijk0.8.7--20180103--001 [FFPlayer @ 0x1040c6000] libavutil : 55.78.100 [FFPlayer @ 0x1040c6000] libavcodec : 57.107.100 [FFPlayer @ 0x1040c6000] libavformat : 57.83.100 [FFPlayer @ 0x1040c6000] libswscale : 4.8.100 [FFPlayer @ 0x1040c6000] libswresample: 2.9.100 ===== options ===== [FFPlayer @ 0x1040c6000] player-opts : video-pictq-size = 3 [FFPlayer @ 0x1040c6000] player-opts : overlay-format = fcc-_es2 [FFPlayer @ 0x1040c6000] player-opts : max-fps = 30 [FFPlayer @ 0x1040c6000] player-opts : framedrop = 0 [FFPlayer @ 0x1040c6000] player-opts : videotoolbox-max-frame-width = 960 [FFPlayer @ 0x1040c6000] player-opts : videotoolbox = 0 [FFPlayer @ 0x1040c6000] player-opts : start-on-prepared = 1 [FFPlayer @ 0x1040c6000] format-opts : ijkapplication = 4350940304 [FFPlayer @ 0x1040c6000] format-opts : ijkiomanager = 4351291328 [FFPlayer @ 0x1040c6000] format-opts : user-agent = ijkplayer [FFPlayer @ 0x1040c6000] format-opts : auto_convert = 0 [FFPlayer @ 0x1040c6000] format-opts : timeout = 30000000 [FFPlayer @ 0x1040c6000] format-opts : reconnect = 1 [FFPlayer @ 0x1040c6000] format-opts : safe = 0

ijkmp_prepare_async()=0 2019-06-04 17:44:29.198838+0800 MyTV[7444:1566780] invalidateRenderBuffer 2019-06-04 17:44:29.199032+0800 MyTV[7444:1569462] IJKSDLGLView: setupDisplay not ready [NULL @ 0x1040a6e00] Opening '/ftp:/192.168.0.154/sda1/20190520205833.mp4' for reading [file @ 0x103520b40] Setting default whitelist 'file,crypto' /ftp:/192.168.0.154/sda1/20190520205833.mp4: No such file or directory 2019-06-04 17:44:29.243437+0800 MyTV[7444:1566780] FFP_MSG_ERROR: 0 2019-06-04 17:44:29.244299+0800 MyTV[7444:1566780] IJKMPMoviePlayBackStateDidChange 2: paused 2019-06-04 17:44:29.244499+0800 MyTV[7444:1566780] playbackStateDidChange: IJKMPMovieFinishReasonPlaybackError: 1

lm3515 commented 5 years ago

希望有大神可以知道一下,是不是需要做相应的配置?

baishuai commented 5 years ago

这个是ffmpeg 编译时没有打开 ftp 格式支持, 或者 ftp 没有加入到白名单中。

@lm3515

搜这一行,加上 ftp

setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "protocol_whitelist", "async,cache,crypto,file,http,https,ijkhttphook,ijkinject,ijklivehook,ijklongurl,ijksegment,ijktcphook,pipe,rtp,tcp,tls,udp,ijkurlhook,data");

编译增加这个

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=ftp

试试

lm3515 commented 5 years ago

这个是ffmpeg 编译时没有打开 ftp 格式支持, 或者 ftp 没有加入到白名单中。

@lm3515

搜这一行,加上 ftp

setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "protocol_whitelist", "async,cache,crypto,file,http,https,ijkhttphook,ijkinject,ijklivehook,ijklongurl,ijksegment,ijktcphook,pipe,rtp,tcp,tls,udp,ijkurlhook,data");

编译增加这个

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=ftp

试试

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=ftp 这个已经加上了, setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "protocol_whitelist", "async,cache,crypto,file,http,https,ijkhttphook,ijkinject,ijklivehook,ijklongurl,ijksegment,ijktcphook,pipe,rtp,tcp,tls,udp,ijkurlhook,data"); 这段代码全局搜索都没有搜到,目前只是增加了编译配置,重新编译了没有效果,ftp还是不支持

baishuai commented 5 years ago
setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "protocol_whitelist", "async,cache,crypto,file,http,https,ijkhttphook,ijkinject,ijklivehook,ijklongurl,ijksegment,ijktcphook,pipe,rtp,tcp,tls,udp,ijkurlhook,data");

@lm3515 这个是在k0.7.6 上的一行代码,你可以试试在你用的版本也加上这个。

lm3515 commented 5 years ago

@baishuai 这个代码在哪个文件?哪个方法里面,能贴出来吗 非常感谢

baishuai commented 5 years ago

@lm3515 你切换一下分支就能搜出来了

lm3515 commented 5 years ago

@baishuai 下午把k0.7.6下载下来,编译了也没发现有这段代码

lm3515 commented 5 years ago

已解决,可以播放了,谢谢大家

ijunfly commented 3 years ago

大佬,你好,请问iOS IJKPlayer播放mp4失败 是怎么解决的?

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 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

@baishuai @lm3515