场景
开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放:
开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放_霸道流氓气质的博客-CSDN博客
基于上面实现拉取视频流预览时,发现当调用api传参时如果更换了rtsp视频流地址,但是没有
更改流id,仍会返回之前的流。
比如调用api时传递
http://10.229.36.31:800/index/api/addStreamProxy?vhost=10.229.36.31&app=live&stream=2&url=rtsp://10.229.36.31:8554/stream&secret=035c73f7-bb6b-4****
如果该rtsp流能预览,则接口返回0
如果修改了rtsp流地址,没有修改流id,比如
http://10.229.36.31:800/index/api/addStreamProxy?vhost=10.229.36.31&app=live&stream=2&url=rtsp://10.229.36.31:8554/stream1&secret=035c73f7-bb6b-4****
那么会返回与上面一样的数据。
所以当rtsp流地址修改时,流id同样也要进行修改。
另外关于http接口超时时间与rtsp拉流等超时时间的设置。
为了避免rtsp流还未拉流成功,http接口提前响应,需要合理设置rtsp的超时时间与http的超时时间。
一个是配置文件config.ini中配置,详情见官方文档
ZLMediaKit/config.ini at master · ZLMediaKit/ZLMediaKit · GitHub
#http链接超时时间
keepAliveSecond=30
#rtsp必须在此时间内完成握手,否则服务器会断开链接,单位秒
handshakeSecond=15
#rtsp超时时间,如果该时间内未收到客户端的数据,
#或者tcp发送缓存超过这个时间,则会断开连接,单位秒
keepAliveSecond=15
另外在调用addStreamProxy接口时传递拉流超时时间