1461521844lijin / trt_yolo_video_pipeline

TensorRT+YOLO系列的 多路 多卡 多实例 并行视频分析处理案例
MIT License
222 stars 43 forks source link

您好,这个输入和输出的url怎么写,输出的url怎么可视化,麻烦您啦 #3

Closed ZB740927021 closed 9 months ago

ZB740927021 commented 10 months ago

image

ZB740927021 commented 10 months ago

image 我的结果是这样的

1461521844lijin commented 10 months ago

image 我的结果是这样的

1、输入输出的url规则就按照正常的rtsp和rtmp的规则进行写入就可以了,拉流协议支持rtsp和rtmp,推流协议支持rtmp

2、你拉流视频的编码格式是yuvj420p,最好是用yuv420p的就不会有这个swscaler的告警

3、Unable to parse option value "ultrafast" 和 Unable to parse option value "zerolatency"是因为硬件编码器不支持这个预设参数,要使用硬件编码的话,在StreamPusher::Open()方法中找到这两行代码注释掉就好了

4、Resource temporarily unavailable 是由于解码器解码前几帧有缓冲时的输出的告警信息,会在线程开头几次循环时出现

5、可视化到你要去到推流的url流媒体服务上去看,或者吧推的流重新用ffmpeg命令行或者vlc拉下来播放

ZB740927021 commented 10 months ago

十分感谢您的回复

  1. 我是用ffmpeg将本地的视频转换成rtsp,作为输入的stream_url,输入就随便写了一个rtmp,这样可以吗?(因为自己不懂流媒体这方面的知识)
  2. Unable to parse option value "ultrafast" 和 Unable to parse option value "zerolatency",按照您的说的好了
  3. 目前的问题程序一直在这里卡住在Resource temporarily unavailable
  4. 用vlc直接播放output_url,也无法播放 我的问题有点初级,真的很抱歉,我确实不了解ffmpeg,再次感谢您解答 image
1461521844lijin commented 10 months ago

在推拉流这个过程中你是需要有流媒体服务进行中转的,我不知道你用的是哪种流媒体服务,推荐在自己本地部署一个zlm或srs服务 你说你将视频转换为了rtsp,那输入流地址为啥是rtmp呢,你在本地运行可以传入你本地视频路径 Resource temporarily unavailable解码器缓冲的只是告警,卡住就是正常运行了,不会输出额外的东西,至于你为啥不能使用vlc播放这得看你推流出去的流媒体服务环境是啥了

// 说了这么多给点个star不过分吧

ZB740927021 commented 10 months ago

哈哈哈,谢谢您,不过分. 已经给star啦,还有一个问题就是多路视频多路推理,您这里有例子吗,您说了那么多,谢谢。我可以给您点一杯星巴克,也麻烦您那么久啦

ZB740927021 commented 10 months ago

在推拉流这个过程中你是需要有流媒体服务进行中转的,我不知道你用的是哪种流媒体服务,推荐在自己本地部署一个zlm或srs服务 你说你将视频转换为了rtsp,那输入流地址为啥是rtmp呢,你在本地运行可以传入你本地视频路径 Resource temporarily unavailable解码器缓冲的只是告警,卡住就是正常运行了,不会输出额外的东西,至于你为啥不能使用vlc播放这得看你推流出去的流媒体服务环境是啥了

// 说了这么多给点个star不过分吧 我用的 MediaMTX v1.3.0这个做流媒体中转,这个可以把本地视频弄成rtsp,vic也可播放。我加载本地视频路径,然后输入rtmp则这个rtmp还是播放不了,您要时间帮忙解答一下,真的十分感谢您。

image

1461521844lijin commented 10 months ago

我拿srs测试了一下,rtmp/rtsp播放是有问题的,但是拿srs的webrtc播放是正常的,估计是代码推流时的时间戳有问题 因为我之前是拿zlm进行测试的,今天同样测了,在使用zlm时没有这个问题,所以我建议你暂时也使用zlm流媒体进行转发,或者开启srs的时间戳矫正

这个srs的bug和多路流并发示例我后续有时间修复补充吧,因为之前也有人问过

ZB740927021 commented 10 months ago

十分感谢大佬,不知道方便加您一个联系方式吗?我的最后的数字是我的qq,麻烦您这么久,真不好意思,给您点一杯咖啡,聊表心意,方便给一个地址吗?

ZB740927021 commented 10 months ago

image 我下载windows 编译好的ZLM进行推流,然后VLC也看不了,我确实不太清楚这个问题,才一直麻烦你,真的不好意思

1461521844lijin commented 10 months ago

image 我下载windows 编译好的ZLM进行推流,然后VLC也看不了,我确实不太清楚这个问题,才一直麻烦你,真的不好意思

因为我的开发环境是在linux上,你这是win,所以有些问题如果是环境上的也不知道咋帮你排查 你的日志中输出了[h264 @ xxxxx]no frame! 的信息,我只能建议你从以下几个角度排查测试一下 1、试试不使用硬件编码解码设置,因为没法排查你的ffmpeg硬件加速环境 2、检测本地视频的参数,或者本地视频再使用ffmpeg重新推到zlm上,或者直接拉实际摄像头的流 3、如果有输出流推到zlm上,zlm也会有对应日志输出可以查看

我本地ffmpeg版本是5.2 cuda版本是11.7

1461521844lijin commented 10 months ago

多路多实例的demo已经更新,并且修复了一些之前的bug,欢迎运行测试