wvp-GB28181-pro
wvp-GB28181-pro copied to clipboard
[BUG] 调用国标录像-开始历史媒体下载接口下载视频后,由于分段视频同时返回导致文件被覆盖,造成视频缺失
环境信息:
-
- 部署方式 wvp-pro docker / zlm(docker)
-
- 部署环境 ubuntu
-
- 端口开放情况 必要的端口全开
-
- 是否是公网部署 是
-
- 是否使用https 否
-
- 方便的话提供下使用的设备品牌或平台 tplink
-
- 你做过哪些尝试
-
- 代码更新时间 最新
描述错误 调用国标录像-开始历史媒体下载接口下载视频后,视频可能会分几段返回,由于是同一个stream流,且触达时间偶尔会相同,zlm的文件命名规则是"时分秒.mp4",这样会导致如果是同一秒内触达的,文件名其实是同一个,这样有一定几率文件被覆盖,导致视频下载失败或视频不完整!
如何复现 重复调用几次视频下载就能复现,基本10次里面能复现两三次
截图
抓包文件
日志
2023-05-27 09:29:11.961 I [MediaServer] [15-event poller 7] Rtsp.cpp:393 getPortPair | got port from pool:30062-30063
2023-05-27 09:29:11.961 I [MediaServer] [15-event poller 7] TcpServer.cpp:213 start_l | TCP server listening on [::]: 30062
2023-05-27 09:29:14.133 I [MediaServer] [15-event poller 7] RtpProcess.cpp:263 operator() | 4257154F(113.247.69.160:55514) 允许RTP推流
2023-05-27 09:29:14.166 I [MediaServer] [15-event poller 7] GB28181Process.cpp:178 onRtpDecode | 4257154F judged to be PS
2023-05-27 09:29:14.166 I [MediaServer] [15-event poller 7] Decoder.cpp:240 onTrack | got track: H265
2023-05-27 09:29:14.166 I [MediaServer] [15-event poller 7] Decoder.cpp:240 onTrack | got track: PCMA
2023-05-27 09:29:14.166 I [MediaServer] [15-event poller 7] Decoder.cpp:159 onStream | add track finished
2023-05-27 09:29:14.236 D [MediaServer] [15-event poller 7] MediaSink.cpp:150 emitAllTrackReady | All track ready use 70ms
2023-05-27 09:29:14.236 I [MediaServer] [15-event poller 7] MediaSource.cpp:523 emitEvent | 媒体注册:fmp4://__defaultVhost__/rtp/4257154F
2023-05-27 09:29:14.236 I [MediaServer] [15-event poller 7] MultiMediaSourceMuxer.cpp:385 onAllTrackReady | stream: rtp://__defaultVhost__/rtp/4257154F , codec info: PCMA[8000/1/16] H265[2880/1620/15]
2023-05-27 09:29:14.237 I [MediaServer] [15-event poller 7] MediaSource.cpp:523 emitEvent | 媒体注册:rtmp://__defaultVhost__/rtp/4257154F
2023-05-27 09:29:14.237 I [MediaServer] [15-event poller 7] MediaSource.cpp:523 emitEvent | 媒体注册:rtsp://__defaultVhost__/rtp/4257154F
2023-05-27 09:29:14.237 I [MediaServer] [15-event poller 7] MediaSource.cpp:523 emitEvent | 媒体注册:ts://__defaultVhost__/rtp/4257154F
2023-05-27 09:29:14.287 I [MediaServer] [15-event poller 7] MediaSource.cpp:523 emitEvent | 媒体注册:hls://__defaultVhost__/rtp/4257154F
2023-05-27 09:29:14.833 I [MediaServer] [15-event poller 7] TcpServer.cpp:49 ~TcpServer | Close tcp server [::]: 30062
2023-05-27 09:29:14.833 W [MediaServer] [15-event poller 7] RtpSession.cpp:63 onError | 86-57(113.247.69.160:55514) 4257154F 255(Server shutdown)
2023-05-27 09:29:14.833 W [MediaServer] [15-event poller 7] RtpProcess.cpp:62 ~RtpProcess | 4257154F(113.247.69.160:55514) RTP推流器(__defaultVhost__/rtp/4257154F)断开,耗时(s):0
2023-05-27 09:29:14.833 I [MediaServer] [15-event poller 7] MediaSource.cpp:523 emitEvent | 媒体注销:hls://__defaultVhost__/rtp/4257154F
2023-05-27 09:29:14.834 I [MediaServer] [15-event poller 7] MediaSource.cpp:523 emitEvent | 媒体注销:ts://__defaultVhost__/rtp/4257154F
2023-05-27 09:29:14.834 I [MediaServer] [15-event poller 7] MediaSource.cpp:523 emitEvent | 媒体注销:rtsp://__defaultVhost__/rtp/4257154F
2023-05-27 09:29:14.834 I [MediaServer] [15-event poller 7] MediaSource.cpp:523 emitEvent | 媒体注销:rtmp://__defaultVhost__/rtp/4257154F
2023-05-27 09:29:14.834 I [MediaServer] [15-event poller 7] MediaSource.cpp:523 emitEvent | 媒体注销:fmp4://__defaultVhost__/rtp/4257154F
2023-05-27 09:29:14.834 I [MediaServer] [15-event poller 7] Rtsp.cpp:402 operator() | return port to pool:30062-30063
2023-05-27 09:29:15.050 D [MediaServer] [15-event poller 7] WebHook.cpp:201 operator() | hook http://127.0.0.1:18081/api/record/on_record_mp4 553ms,success:{
"app" : "rtp",
"file_name" : "09-29-14.mp4",
"file_path" : "/opt/media/www/record/rtp/4257154F/2023-05-27/09-29-14.mp4",
"file_size" : 999959,
"folder" : "/opt/media/www/record/rtp/4257154F/",
"mediaServerId" : "8UZ6lIz0SDMjsnJ7",
"start_time" : 1685150954,
"stream" : "4257154F",
"time_len" : 10.618000030517578,
"url" : "record/rtp/4257154F/2023-05-27/09-29-14.mp4",
"vhost" : "__defaultVhost__"
}
2023-05-27 09:29:21.368 D [MediaServer] [15-event poller 0] WebHook.cpp:201 operator() | hook http://127.0.0.1:18081/api/record/on_record_mp4 6604ms,success:{
"app" : "rtp",
"file_name" : "09-29-14.mp4",
"file_path" : "/opt/media/www/record/rtp/4257154F/2023-05-27/09-29-14.mp4",
"file_size" : 165536,
"folder" : "/opt/media/www/record/rtp/4257154F/",
"mediaServerId" : "8UZ6lIz0SDMjsnJ7",
"start_time" : 1685150954,
"stream" : "4257154F",
"time_len" : 10.61400032043457,
"url" : "record/rtp/4257154F/2023-05-27/09-29-14.mp4",
"vhost" : "__defaultVhost__"
}
2023-05-27 09:29:44.461 I [MediaServer] [15-event poller 0] Rtsp.cpp:393 getPortPair | got port from pool:30064-30065
2023-05-27 09:29:44.462 I [MediaServer] [15-event poller 0] TcpServer.cpp:213 start_l | TCP server listening on [::]: 30064
2023-05-27 09:29:46.635 I [MediaServer] [15-event poller 0] RtpProcess.cpp:263 operator() | 42572F4A(113.247.69.160:55544) 允许RTP推流
2023-05-27 09:29:46.682 I [MediaServer] [15-event poller 0] GB28181Process.cpp:178 onRtpDecode | 42572F4A judged to be PS
2023-05-27 09:29:46.682 I [MediaServer] [15-event poller 0] Decoder.cpp:240 onTrack | got track: H265
2023-05-27 09:29:46.682 I [MediaServer] [15-event poller 0] Decoder.cpp:240 onTrack | got track: PCMA
2023-05-27 09:29:46.682 I [MediaServer] [15-event poller 0] Decoder.cpp:159 onStream | add track finished
2023-05-27 09:29:46.755 D [MediaServer] [15-event poller 0] MediaSink.cpp:150 emitAllTrackReady | All track ready use 74ms
2023-05-27 09:29:46.756 I [MediaServer] [15-event poller 0] MediaSource.cpp:523 emitEvent | 媒体注册:fmp4://__defaultVhost__/rtp/42572F4A
2023-05-27 09:29:46.756 I [MediaServer] [15-event poller 0] MultiMediaSourceMuxer.cpp:385 onAllTrackReady | stream: rtp://__defaultVhost__/rtp/42572F4A , codec info: PCMA[8000/1/16] H265[2880/1620/15]
2023-05-27 09:29:46.756 I [MediaServer] [15-event poller 0] MediaSource.cpp:523 emitEvent | 媒体注册:rtmp://__defaultVhost__/rtp/42572F4A
2023-05-27 09:29:46.757 I [MediaServer] [15-event poller 0] MediaSource.cpp:523 emitEvent | 媒体注册:rtsp://__defaultVhost__/rtp/42572F4A
2023-05-27 09:29:46.757 I [MediaServer] [15-event poller 0] MediaSource.cpp:523 emitEvent | 媒体注册:ts://__defaultVhost__/rtp/42572F4A
2023-05-27 09:29:46.816 I [MediaServer] [15-event poller 0] MediaSource.cpp:523 emitEvent | 媒体注册:hls://__defaultVhost__/rtp/42572F4A
2023-05-27 09:29:47.333 I [MediaServer] [15-event poller 0] TcpServer.cpp:49 ~TcpServer | Close tcp server [::]: 30064
2023-05-27 09:29:47.333 W [MediaServer] [15-event poller 0] RtpSession.cpp:63 onError | 88-57(113.247.69.160:55544) 42572F4A 255(Server shutdown)
2023-05-27 09:29:47.333 W [MediaServer] [15-event poller 0] RtpProcess.cpp:62 ~RtpProcess | 42572F4A(113.247.69.160:55544) RTP推流器(__defaultVhost__/rtp/42572F4A)断开,耗时(s):0
2023-05-27 09:29:47.333 I [MediaServer] [15-event poller 0] MediaSource.cpp:523 emitEvent | 媒体注销:hls://__defaultVhost__/rtp/42572F4A
2023-05-27 09:29:47.333 I [MediaServer] [15-event poller 0] MediaSource.cpp:523 emitEvent | 媒体注销:ts://__defaultVhost__/rtp/42572F4A
2023-05-27 09:29:47.333 I [MediaServer] [15-event poller 0] MediaSource.cpp:523 emitEvent | 媒体注销:rtsp://__defaultVhost__/rtp/42572F4A
2023-05-27 09:29:47.334 I [MediaServer] [15-event poller 0] MediaSource.cpp:523 emitEvent | 媒体注销:rtmp://__defaultVhost__/rtp/42572F4A
2023-05-27 09:29:47.334 I [MediaServer] [15-event poller 0] MediaSource.cpp:523 emitEvent | 媒体注销:fmp4://__defaultVhost__/rtp/42572F4A
2023-05-27 09:29:47.334 I [MediaServer] [15-event poller 0] Rtsp.cpp:402 operator() | return port to pool:30064-30065
2023-05-27 09:29:47.590 D [MediaServer] [15-event poller 1] WebHook.cpp:201 operator() | hook http://127.0.0.1:18081/api/record/on_record_mp4 559ms,success:{
"app" : "rtp",
"file_name" : "09-29-46.mp4",
"file_path" : "/opt/media/www/record/rtp/42572F4A/2023-05-27/09-29-46.mp4",
"file_size" : 999887,
"folder" : "/opt/media/www/record/rtp/42572F4A/",
"mediaServerId" : "8UZ6lIz0SDMjsnJ7",
"start_time" : 1685150986,
"stream" : "42572F4A",
"time_len" : 10.616999626159668,
"url" : "record/rtp/42572F4A/2023-05-27/09-29-46.mp4",
"vhost" : "__defaultVhost__"
}
2023-05-27 09:29:47.850 D [MediaServer] [15-event poller 1] WebHook.cpp:201 operator() | hook http://127.0.0.1:18081/api/record/on_record_mp4 558ms,success:{
"app" : "rtp",
"file_name" : "09-29-47.mp4",
"file_path" : "/opt/media/www/record/rtp/42572F4A/2023-05-27/09-29-47.mp4",
"file_size" : 1036528,
"folder" : "/opt/media/www/record/rtp/42572F4A/",
"mediaServerId" : "8UZ6lIz0SDMjsnJ7",
"start_time" : 1685150987,
"stream" : "42572F4A",
"time_len" : 10.61400032043457,
"url" : "record/rtp/42572F4A/2023-05-27/09-29-47.mp4",
"vhost" : "__defaultVhost__"
}