I am developing an application for viewing video streams through ONVIF, where one of the requirements is to constantly change the resolution of the video. The main problem is that the camera is in a place where connections often occur.
At this point, I have an application that performs a change in camera resolution using the "SetVideoEncoderConfiguration" request (changing the required parameters) and receiving a video stream with the request "GetStreamUri", but my goal is not to make requests via onvif, and instead I would like to save the profile for each type of resolution and directly download the video stream to the player, for example, download 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 in the beginning create two profiles, each of which has a different "VideoEncoder" (one for high resolution and the other for low resolution).
My question is: if I get "Video encoders" for my camera with the request "GetCompatibleVideoEncoderConfigurations", my camera returns only one "Video Encoder", so I can not create the two video encoders that I wanted. Is there a way to create a new "Video Encoder" through ONVIF? If the answer is no, is there an alternative to achieve my goal?
source
share