I am developing an application for viewing video streams through ONVIF where one of the requirements is to change constantly the video resolution. The main problem I have is that the camera is in a place where the connection cuts occur frequently.
In this moment, I have the application running changing the resolution of a camera using the "SetVideoEncoderConfiguration" request (changing the parameters desired), and getting the video stream with the "GetStreamUri" request, but my goal is not to make requests through onvif, and instead, I'd like to have stored a profile for each type of resolution and directly upload the video stream on my player, for example load directly (rtsp://onvif:test@192.168.30.234/onvif-media/media.amp?profile=profile_1_h264&sessiontimeout=60&streamtype=unicast).
So, I intended to do the following: Only once, at the beginning, create two profiles, each with a different "VideoEncoder" (one for high resolution and the other with low resolution)
My question is: If I get the "Video Encoders" for my camera with the "GetCompatibleVideoEncoderConfigurations" request, my camera only returns a single "Video Encoder" so I can not create the two video encoders I wanted. Is there a method to create a new "Video Encoder" through ONVIF? If the answer is no, is there any alternative to achieve my purpose?