SRS推流服务超时断开问题

       

        当我在使用srs服务进行rtmp格式推流的过程中曾遇到流老是推着推着出现服务自动中断的情况,经过排除发现srs服务的空闲间隔时间只有5000ms,新版好像是7000ms。然而我有时候处理帧数据会等待过长导致下一帧推出去的时候服务已经自动断开连接了,这时候查看srs服务会发现如下错误:

service cycle : rtmp: stream service : rtmp: publish timeout 5000ms, nb_msgs=705

        因此我将srs服务的空闲间隔时间给配置到相对较长问题得到解决。我使用的是docker,文件结果如下:

-srs

--conf

---srs.conf

--Dockerfile

srs.conf配置内容:

# main config for srs.
# @see full.conf for detail config.

listen              1935;
max_connections     1000;
srs_log_tank        console;
daemon              off;

http_server {
  enabled         on;
  listen          8080;
  dir             ./objs/nginx/html;
  https {
    enabled on;
    listen 8088;
    key ./conf/server.key;
    cert ./conf/server.crt;
  }
}

http_api {
  enabled         on;
  listen          1985;
  https {
    enabled on;
    listen 1990;
    key ./conf/server.key;
    cert ./conf/server.crt;
  }
}

http_server {
  enabled         on;
  listen          8080;
  dir             ./objs/nginx/html;
}
stats {
  network         0;
  disk            sda sdb xvda xvdb;
}
vhost __defaultVhost__ {
  publish {
    firstpkt_timeout 600000;
    normal_timeout  600000;
  }
  rtc {
    enabled     on;
    # @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtmp-to-rtc
    rtmp_to_rtc on;
    # @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtc-to-rtmp
    rtc_to_rtmp on;
  }
  http_remux {
    enabled     on;
    mount       [vhost]/[app]/[stream].flv;
  }
}

Dockerfile中需要将配置文件拷贝进去,也可以目录映射到容器内,我是将配置拷贝到容器:

COPY conf/srs.conf /usr/local/srs/conf/docker.conf

接下来是将配置应用到服务,可以在docker-compose.yml中如下操作:

srs:
  build:
    context: srs
  networks:
    - netforyou
  restart: always
  ports:
    - ${SRS_PUSUER_PORT}:1935
    - ${SRS_OUT_PORT}:8080
  command: /usr/local/srs/objs/srs -c /usr/local/srs/conf/docker.conf

至此就完成整个配置修改的过程。

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值