There's a bug with the RTSP implementation on the Victure PC540 IP camera. The bug makes it so that you cannot consume the camera feed from some RTSP client implementations, including ffmpeg.
When using ffmpeg on the RTSP URL for the camera, you get an error message:
$ ffmpeg 'rtsp://<username>:<password>@192.168.50.60:554/realmonitor?channel=0&stream=0.sdp'av.AVError: [Errno 1094995529] Invalid data found when processing input: 'rtsp://<username>:<password>@192.168.50.60:554/realmonitor?channel=0&stream=0.sdp'
The problem is that the Transport response header on SETUP responses is incorrectly formatted (according to section 12.39 of RFC 2326).
The camera produces something like this:
RTP/AVP;unicast;mode=PLAY;source=192.168.50.60;client_port=7380-7381;server_port=40000-40001,ssrc=FFFFCCCC
But that last , should be a ;:
RTP/AVP;unicast;mode=PLAY;source=192.168.50.60;client_port=7380-7381;server_port=40000-40001;ssrc=FFFFCCCC
This project provides a proxy server that rewrites the responses from the camera so that the messages conform to the specification.
TODO