File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed
inference/core/interfaces/webrtc_worker Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change 1313 RTCSessionDescription ,
1414 VideoStreamTrack ,
1515)
16- from aiortc .contrib .media import MediaPlayer , MediaRelay
16+ from aiortc .contrib .media import MediaPlayer , MediaRelay , PlayerStreamTrack
1717from aiortc .rtcrtpreceiver import RemoteStreamTrack
1818from av import VideoFrame
1919from av import logging as av_logging
@@ -130,6 +130,9 @@ async def recv(self):
130130 logger .info ("Timeout reached, terminating inference pipeline" )
131131 self ._terminate_event .set ()
132132
133+ if isinstance (self .track , PlayerStreamTrack ):
134+ if self .track ._queue .qsize () > 30 :
135+ self .track ._queue .get_nowait ()
133136 frame : VideoFrame = await self .track .recv ()
134137
135138 self ._received_frames += 1
@@ -317,17 +320,15 @@ async def init_rtc_peer_connection_with_loop(
317320 logger .info ("Processing RTSP URL: %s" , webrtc_request .rtsp_url )
318321 player = MediaPlayer (
319322 webrtc_request .rtsp_url ,
323+ format = "rtsp" ,
320324 options = {
321325 "rtsp_transport" : "tcp" ,
322326 "rtsp_flags" : "prefer_tcp" ,
323327 "stimeout" : "2000000" , # 2s socket timeout
324328 },
325329 )
326330 video_transform_track .set_track (
327- track = relay .subscribe (
328- player .video ,
329- buffered = False if webrtc_request .webrtc_realtime_processing else True ,
330- )
331+ track = player .video ,
331332 )
332333 peer_connection .addTrack (video_transform_track )
333334
You can’t perform that action at this time.
0 commit comments