Description
When trying to connect a recently updated Vivotek camera, I get a "Bad Request" answer from the camera.
After downloading and debugging the code, I saw that this happened during the RTSP SETUP request.
Using Wireshark, I compared the requests from RtspClientSharp and "ONVIF Device Manager" software, and indeed, the requests are different.
It appears that RtspClientSharp does not support URIs containing queries when appending track name:
SETUP URI from RtspClientSharp (wrong): rtsp://<ip>:554/media2/stream.sdp/trackID=2?profile=Profile381b/
SETUP URI from ONVIF Device Manager (working): rtsp://<ip>:554/media2/stream.sdp?profile=Profile381b/trackID=2
I've modified the code to support appending track name to either the URI path or query, see my modification below.
File: RtspRequestMessageFactory.cs
Code modification (end of file)
Description When trying to connect a recently updated Vivotek camera, I get a "Bad Request" answer from the camera. After downloading and debugging the code, I saw that this happened during the RTSP SETUP request. Using Wireshark, I compared the requests from RtspClientSharp and "ONVIF Device Manager" software, and indeed, the requests are different. It appears that RtspClientSharp does not support URIs containing queries when appending track name:
rtsp://<ip>:554/media2/stream.sdp/trackID=2?profile=Profile381b/
rtsp://<ip>:554/media2/stream.sdp?profile=Profile381b/trackID=2
I've modified the code to support appending track name to either the URI path or query, see my modification below. File: RtspRequestMessageFactory.cs Code modification (end of file)
Fell free to integrate this change in the source code. I'm new to GitHub and don't want to mess with this depot ;)