3

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?

Josep B.
  • 587
  • 1
  • 6
  • 16

1 Answers1

3

The ONVIF developper guide http://www.openipcam.com/files/ONVIF/ONVIF_WG-APG-Application_Programmer%27s_Guide.pdf describe the CreateProfile process in the chapter 7.2.

Instead of GetCompatibleVideoEncoderConfigurations, it seems you should use GetVideoEncoderConfigurations to get the list of encoder configurations.

You can check if onvifdm http://sourceforge.net/projects/onvifdm/ could create 2 profiles with 2 differents encoder configuration.

mpromonet
  • 11,326
  • 43
  • 62
  • 91
  • 1
    Thanks for your answer, using the "GetVideoEncoderConfigurations" request, the camera also returns me a single VideoEncoder. In Onvif Device Manager, I can create multiple profiles (like with my application), what I can not do is create VideoEncoders, which is what I would need. Any tip to achieve that? – Josep B. Feb 19 '14 at 08:06
  • 2
    I guess you means VideoEncoderConfiguration ? Did you have try with the http interface of the camera to create several encoder configuration ? – mpromonet Feb 20 '14 at 12:36
  • I will try to find if it's possible to add VideoEncoders there. Thanks – Josep B. Feb 21 '14 at 13:05