自行实现ONVIF协议网络摄像机(IPC)开发(3):获取编码参数

一、编码参数

    通过GetVideoEncoderConfigurations可以得到IPC视频流的编码参数:视频编码类型、视频分辨率、帧率、视频质量、码流、I帧间隔等参数;

二、获取编码参数实现

1、创建tcp socket,IP为192.168.100.123,端口:8099;

2、通过ONVIF Device Test Tool工具得到GetDeviceInformation数据

自行实现ONVIF协议网络摄像机(IPC)开发(3):获取编码参数_第1张图片

3、发送(send)数据:




    

4、接受(recv)数据

HTTP/1.1 200 OK
Server: gSOAP/2.7
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 5008
Connection: close



  
    
      
        VideoE_000
        1
        H264
        
          1280
          720
        
        1
        
          15
          1
          1792
        
        
          12
          High
        
        
          
            IPv4
            224.1.2.3
          
          0
          0
          false
        
        PT10S
      
      
        VideoE_001
        1
        H264
        
          352
          288
        
        1
        
          15
          1
          512
        
        
          12
          High
        
        
          
            IPv4
            224.1.2.3
          
          0
          0
          false
        
        PT10S
      
      
        VideoE_002
        1
        JPEG
        
          352
          288
        
        4
        
          -3600
          1
          512
        
        
          
            IPv4
            224.1.2.3
          
          0
          0
          false
        
        PT10S
      
    
  

5、解析上面接受到数据可以看到,这个IPC可以得到3个视频流;分别对应3个token:000、001、002;我这里只解析一个视频流:token="000",需要得到其他也是同样方法,后面获取码流的url也需要这个token;
token="000",Name="VideoE_000" 设备的编码参数如下:

编码类型:     Encoding:               H264
视频分辨率:  Width*Height         1280*720
视频质量:   Quality                   1
帧率:          FrameRateLimit     15
码率:          BitrateLimit             1792
I帧间隔         GovLength             12

6、上面这些是IPC设备默认编码参数,IPC设备也是可以通过SetVideoEncoderConfiguration设置编码参数的,后面博客会有讲解;

你可能感兴趣的:(IPC开发)