Open
Description
刚刚从系统播放器切换到ijkplayer,遇到一个比较奇怪的问题。
我们做的是一个视频直播聚合应用,有些服务器对请求头之类的有要求,因此本地搭建了一个播放代理,端口 A,后面由于业务需求,部分频道的播放需要在本地搭建另外一个代理服务,端口 B。
之前一切工作正常,切换到 ikplayer 之后发现,这两个代理,启动一个后,另外一个代理就不能收到数据,后面抓包后才发现问题所在。举个例子:
- 启动 A,ijkplayer会访问 http://127.0.0.1:A 获取数据
- 播放另一个节目,访问 http://127.0.0.1:B 获取数据,127.0.0.1:B 没有收到请求,127.0.0.1:A 收到了。抓包发现,请求的 host 没错,为 127.0.0.1:B,但是远程端口是 A,因此无法正常播放。
请问下 ijkplayer 内部对同一个目标 ip 是否会复用原有 tcp 链接,是的话有什么办法配置或避免这个问题吗?
Activity
Android4MediaPlayer commentedon Nov 4, 2018
dns cache关了
yourchanges commentedon Nov 5, 2018
我们也碰见, 设置 ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "dns_cache_clear", 1);
还是不行, 是否应该用ip+port 为标识? dns cache 关了又影响性能
yourchanges commentedon Nov 5, 2018
只有修改底层了 https://patchwork.ffmpeg.org/patch/10543/mbox/
52yaoer commentedon Nov 5, 2018
修改了底层代码哇,学习了,,,,
liuyingfithub commentedon Dec 11, 2018
你好,请问你的dns cache是如何关闭的
liuyingfithub commentedon Dec 11, 2018
请问各位解决了吗?求解
liu7yong commentedon Dec 23, 2018
#4510 (comment)
上面 @yourchanges patch就是一个解决方案。
lyxxman commentedon Feb 24, 2023
I cannot play online mp4 url afte playing local address.