gin-rtsp icon indicating copy to clipboard operation
gin-rtsp copied to clipboard

http请求堵塞问题

Open lyffzu opened this issue 4 years ago • 7 comments

在windows环境下编译并启动项目,过一段时间之后 /stream/play 这个请求就进不去了,项目似乎堵塞了? @wanghaoxi3000

lyffzu avatar Mar 12 '20 01:03 lyffzu

我在windows上测试了下还没发现这个问题,有日志发来看看么

wanghaoxi3000 avatar Mar 16 '20 13:03 wanghaoxi3000

log ps:rtsp地址是无效的

lyffzu avatar Mar 17 '20 00:03 lyffzu

BUG复现:当rtsp地址是错误的时候, post 一个访问不通的rtsp地址->等超过60s->post 相同的参数->阻塞

如 POST /stream/play { "url": "rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0" } 假如这个地址访问不通,ffmpeg仍会启动,接口仍然返回类似于 { "code": 0, "data": { "path": "/stream/live/10367d6f-2b75-33b9-bb0c-fa67c220af9f" }, "msg": "success" } 这样的结果,但是,当60s过后,这个ffmpeg进程不会被结束 图片 此时,重新再post相同的rtsp地址,就会出现http请求阻塞现象。

造成后果:由这个错误的rtsp地址引出的ffmpeg进程永远不会结束,且post相同的参数就会阻塞

YE-Fan avatar Apr 09 '20 12:04 YE-Fan

windows上FFMPEG进程拉取rtsp地址是错误的时候,会一直阻塞,新版本启动ffmpeg时添加了一个timeout参数,ffmpeg拉流失败就会自动结束了,不过返回成功的问题还没解决 @YE-Fan

wanghaoxi3000 avatar Apr 16 '20 15:04 wanghaoxi3000

最新的版本有问题啊,直接无法启动ffmpeg了 图片 日志显示是开始translate和reflush了,但是tasklist查看进程并没有ffmpeg 图片

YE-Fan avatar Apr 16 '20 16:04 YE-Fan

图片 -timeout 是直接报错的,改代码里的 -timeout 5为 -stimeout 5000000,目前来看好像是达成了你这次更新的目标

YE-Fan avatar Apr 16 '20 16:04 YE-Fan

最近没做这块没RTSP流来测试,你拉取的这个RTSP流是正常的吗,我主要是参考了这个链接的资料 http://ffmpeg.org/pipermail/ffmpeg-user/2014-June/022087.html @YE-Fan

wanghaoxi3000 avatar Apr 17 '20 14:04 wanghaoxi3000