ossrs / srs

SRS is a simple, high-efficiency, real-time media server supporting RTMP, WebRTC, HLS, HTTP-FLV, HTTP-TS, SRT, MPEG-DASH, and GB28181.
https://ossrs.io
MIT License
25.84k stars 5.39k forks source link

Cannot stream via SRT protocol #4200

Open deximy opened 1 month ago

deximy commented 1 month ago

Describe the bug When streaming via SRT protocol, ffmpeg cannot establish connection with SRS.

Version [2024-10-12 14:27:52.821][INFO][1][94k4u9z7] XCORE-SRS/5.0.213(Bee) ffmpeg version 6.1-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers built with gcc 12.2.0 (Rev10, Built by MSYS2 project)

To Reproduce

  1. Run SRS with command docker run --rm -it -p 1935:1935 -p 12345:8080 -p 10080:10080/udp \ registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5 \ ./objs/srs -c conf/srt.conf
  2. Start streaming with command ./ffmpeg -re -i ./doc/source.flv -c copy -pes_payload_size 0 -f mpegts 'srt://*.*.*.*:10080?streamid=#!::r=live/livestream,m=publish'

Expected behavior The output of ffmpeg:

[aost#0:1/copy @ 0000029bb0c5c8c0] Error submitting a packet to the muxer: I/O error
[out#0/mpegts @ 0000029bb0c3d400] Error muxing a packet
[out#0/mpegts @ 0000029bb0c3d400] Error writing trailer: I/O errorx
[out#0/mpegts @ 0000029bb0c3d400] Error closing file: I/O error
[out#0/mpegts @ 0000029bb0c3d400] video:16909kB audio:20kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
size=   12577kB time=00:00:01.28 bitrate=80285.5kbits/s speed=0.221x
Conversion failed!

The output of SRS:

[2024-10-12 14:28:16.339][WARN][1][][11][SRT] /srs/trunk/objs/Platform-SRS5-Linux-5.15.0-GCC9.4.0-x86_64/srt-1-fit/srtcore/core.cpp:2182(processSrtMsg_HSREQ) # : @376050738: HSREQ/rcv: Agent did not set rcv-TSBPD - ignoring proposed latency from peer
[2024-10-12 14:28:16.347][INFO][1][054k5143] SRT client ip=*.*.*.*:51431, fd=376050738
[2024-10-12 14:28:16.347][WARN][1][054k5143][22] use private address as ip: 172.17.0.2, ifname=eth0
[2024-10-12 14:28:16.347][INFO][1][054k5143] @srt, streamid=#!::r=live/livestream,m=publish, stream_url=/live/livestream, vhost=__defaultVhost__, app=live, stream=livestream, param=
[2024-10-12 14:28:16.347][INFO][1][054k5143] new srt source, stream_url=/live/livestream
[2024-10-12 14:28:16.348][INFO][1][054k5143] new live source, stream_url=/live/livestream
[2024-10-12 14:28:16.348][INFO][1][054k5143] ignore disabled exec for vhost=__defaultVhost__
[2024-10-12 14:28:16.348][INFO][1][054k5143] http: mount flv stream for sid=/live/livestream, mount=/live/livestream.flv
[2024-10-12 14:28:16.794][INFO][1][054k5143] 4B audio sh, codec(10, profile=LC, 2channels, 0kbps, 48000HZ), flv(16bits, 2channels, 44100HZ)
[2024-10-12 14:28:16.800][INFO][1][054k5143] 49B video sh,  codec(7, profile=High, level=Other, 3840x2160, 0kbps, 0.0fps, 0.0s)
[2024-10-12 14:28:16.804][WARN][1][054k5143][22] VIDEO: Timestamp 1421=>1416, may need mix_correct.
[2024-10-12 14:28:17.827][INFO][1][1556v6go] Hybrid cpu=8.91%,28MB, cid=2,1, timer=62,0,0, clock=0,48,1,0,0,0,1,0,0, objs=(pkt:0,raw:0,fua:0,msg:168,oth:0,buf:0)
[2024-10-12 14:28:17.848][INFO][1][94k4u9z7] Process: cpu=8.91%,28MB, threads=2
[2024-10-12 14:28:22.103][INFO][1][054k5143] cleanup when unpublish
[2024-10-12 14:28:22.103][INFO][1][054k5143] SRT: before dispose resource(srt-ts-conn)(0x7f4a8c058440), conns=1, zombies=0, ign=0, inz=0, ind=0
[2024-10-12 14:28:22.104][ERROR][1][054k5143][4] srt serve error code=6002(SrtTimeout)(SRT connection is timeout) : srt: recvmsg : wait readable : srt socket 376050738 timeout
thread [1][054k5143]: do_publishing() [./src/app/srs_app_srt_conn.cpp:478][errno=62]
thread [1][054k5143]: recvmsg() [./src/protocol/srs_protocol_srt.cpp:801][errno=62]
thread [1][054k5143]: wait_readable() [./src/protocol/srs_protocol_srt.cpp:861][errno=62](Interrupted system call)
[2024-10-12 14:28:22.104][INFO][1][ff603791] SRT: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2024-10-12 14:28:22.104][INFO][1][054k5143] SRT: disposing #0 resource(srt-ts-conn)(0x7f4a8c058440), conns=1, disposing=1, zombies=0
[2024-10-12 14:28:22.104][INFO][1][054k5143] close srt_fd=376050738
suzp1984 commented 2 weeks ago

Rev10, Built by MSYS2 project Are you running in Window platform? check #3251 , running in Cygwin seems not a good idea. Try the docker image in windows?