Skip to content

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

Open
@liu7yong

Description

@liu7yong

刚刚从系统播放器切换到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 链接,是的话有什么办法配置或避免这个问题吗?

Activity

Android4MediaPlayer

Android4MediaPlayer commented on Nov 4, 2018

@Android4MediaPlayer

dns cache关了

yourchanges

yourchanges commented on Nov 5, 2018

@yourchanges

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

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

yourchanges

yourchanges commented on Nov 5, 2018

@yourchanges
52yaoer

52yaoer commented on Nov 5, 2018

@52yaoer

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

liuyingfithub

liuyingfithub commented on Dec 11, 2018

@liuyingfithub

dns cache关了

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

liuyingfithub

liuyingfithub commented on Dec 11, 2018

@liuyingfithub

请问各位解决了吗?求解

liu7yong

liu7yong commented on Dec 23, 2018

@liu7yong
Author

请问各位解决了吗?求解

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

lyxxman

lyxxman commented on Feb 24, 2023

@lyxxman

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @yourchanges@liu7yong@lyxxman@Android4MediaPlayer@52yaoer

        Issue actions

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