Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ijkplayer对同一个目标ip会复用tcp链接吗? #4510

Open
liu7yong opened this issue Nov 1, 2018 · 8 comments
Open

ijkplayer对同一个目标ip会复用tcp链接吗? #4510

liu7yong opened this issue Nov 1, 2018 · 8 comments

Comments

@liu7yong
Copy link

liu7yong commented Nov 1, 2018

刚刚从系统播放器切换到ijkplayer,遇到一个比较奇怪的问题。

我们做的是一个视频直播聚合应用,有些服务器对请求头之类的有要求,因此本地搭建了一个播放代理,端口 A,后面由于业务需求,部分频道的播放需要在本地搭建另外一个代理服务,端口 B。
之前一切工作正常,切换到 ikplayer 之后发现,这两个代理,启动一个后,另外一个代理就不能收到数据,后面抓包后才发现问题所在。举个例子:

  1. 启动 A,ijkplayer会访问 http://127.0.0.1:A 获取数据
  2. 播放另一个节目,访问 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 链接,是的话有什么办法配置或避免这个问题吗?

@Android4MediaPlayer
Copy link

dns cache关了

@yourchanges
Copy link

我们也碰见, 设置 ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "dns_cache_clear", 1);

还是不行, 是否应该用ip+port 为标识? dns cache 关了又影响性能

@yourchanges
Copy link

只有修改底层了 https://patchwork.ffmpeg.org/patch/10543/mbox/

@52yaoer
Copy link

52yaoer commented Nov 5, 2018

修改了底层代码哇,学习了,,,,

@liuyingfithub
Copy link

dns cache关了

你好,请问你的dns cache是如何关闭的

@liuyingfithub
Copy link

请问各位解决了吗?求解

@liu7yong
Copy link
Author

请问各位解决了吗?求解

#4510 (comment)
上面 @yourchanges patch就是一个解决方案。

@lyxxman
Copy link

lyxxman commented Feb 24, 2023

I cannot play online mp4 url afte playing local address.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants