You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using BStreamer to simulate an RTSP camera and when I add it to Feniks
as a new stream, the logs contain the following stacktrace after clicking the "Find Optimal Settings for Camera" button:
ffmpeg_service-instance | Exception in thread Thread-11 (handle):
ffmpeg_service-instance | Traceback (most recent call last):
ffmpeg_service-instance | File "/usr/lib/python3.10/threading.py", line 1009, in _bootstrap_inner
ffmpeg_service-instance | self.run()
ffmpeg_service-instance | File "/usr/lib/python3.10/threading.py", line 946, in run
ffmpeg_service-instance | self._target(*self._args, **self._kwargs)
ffmpeg_service-instance | File "/app/various/probe_event_handler.py", line 36, in handle
ffmpeg_service-instance | probe: dict = ffmpeg.probe(request.address)
ffmpeg_service-instance | File "/usr/local/lib/python3.10/dist-packages/ffmpeg/_probe.py", line 23, in
probe
ffmpeg_service-instance | raise Error('ffprobe', out, err)
ffmpeg_service-instance | ffmpeg._run.Error: ffprobe error (see stderr output for detail)
So, trying that line in a REPL I get the error in the title of this issue report:
>>> try:
... ffmpeg.probe("rtsp://192.168.6.64:7554/file-mp4", hide_banner=None)
... except ffmpeg.Error as e:
... print(e.stderr)
...
b'[rtsp @ 0x55798ead2ec0] Nonmatching transport in server reply\nrtsp://192.168.6.64:7554/file-mp4: Invalid data found when processing input\n'
If I pass the rtsp_transport parameter to the ffmpeg.probe method the operation completes correctly:
Not being able to pass the RTSP transport to the find parameters operation seems to be a problem here for IP cameras in wild too[*]
The main issue, I think, is that the process dies before being able to send any response to the event bus. The WebApp keeps the animation of a rolling circle and never completes the process with a success nor a failure indication.
Maybe some try/except and then sending a reply back with an status code could be nice. Also adding a rtsp_transport attribute to the ProbeRequestEvent may allow the probe to complete for these cameras.
I'm using BStreamer to simulate an RTSP camera and when I add it to Feniks
as a new stream, the logs contain the following stacktrace after clicking the "Find Optimal Settings for Camera" button:
The offending line seems to be the following:
ffmpeg_service/various/probe_event_handler.py
Line 36 in 0f1c9bc
So, trying that line in a REPL I get the error in the title of this issue report:
If I pass the rtsp_transport parameter to the
ffmpeg.probe
method the operation completes correctly:Not being able to pass the RTSP transport to the find parameters operation seems to be a problem here for IP cameras in wild too[*]
The main issue, I think, is that the process dies before being able to send any response to the event bus. The WebApp keeps the animation of a rolling circle and never completes the process with a success nor a failure indication.
Maybe some try/except and then sending a reply back with an status code could be nice. Also adding a rtsp_transport attribute to the
ProbeRequestEvent
may allow the probe to complete for these cameras.[*] I found one result, and others related to OpenCV
(1) https://stackoverflow.com/questions/66280861/ffmpeg-nonmatching-transport-in-server-reply-but-openrtsp-works
The text was updated successfully, but these errors were encountered: