ffmpeg 之IP拉流优化 起播速度优化

这个系列主要是写关于用FFmpeg来拉取直播流时,会涉及到的优化项,可作为优化的实践。虽然是针对的直播,但对于点播的播放比如直接播放mp4的流,还是有一样的原理。

什么是ip拉流?

ip拉流就是指将拉流url里面的域名,比如http://flv-meipai.8686c.com/live/59c3507b20a05d24f928d6cf.flv里面的flv-meipai.8686c.com预先用第三方dns库解析出来,然后直接替换掉,例如http://1.1.1.1/live/59c3507b20a05d24f928d6cf.flv这样的url,传给ffmpeg来拉流播放。

为什么要用ip拉流?

如果没有替换ip,那么在ffmpeg中的tcp.c文件中,tcp_open方法会调用getaddrinfo方法进行dns的请求和解析。具体代码如下:

hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
snprintf(portstr, sizeof(portstr), "%d", port);
if (s->listen)
    hints.ai_flags |= AI_PASSIVE;
int64_t start = av_gettime();
if (!hostname[0])
    ret = getaddrinfo(NULL, portstr, &hints, &ai);
else
    ret = getaddrinfo(hostname, portstr, &hints, &ai);
int64_t end = av_gettime();

struct sock
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值