使用onvif从相机获得分辨率

时间:2017-11-13 09:48:25

标签: php soap onvif

我正在尝试使用 GetVideoOutputs 从我的onvif支持的相机获取当前视频分辨率。当我在 php 脚本中运行此实现时,我收到以下错误: -

Array
(
[Envelope] => Array
    (
        [Header] => Array
            (
            )

        [Body] => Array
            (
                [Fault] => Array
                    (
                        [@attributes] => Array
                            (
                                [encodingStyle] => http://www.w3.org/2003/05/soap-encoding
                            )

                        [Code] => Array
                            (
                                [Value] => SOAP-ENV:Receiver
                                [Subcode] => Array
                                    (
                                        [Value] => ter:Action
                                    )

                            )

                        [Reason] => Array
                            (
                                [Text] => Action failed
                            )

                        [Detail] => Array
                            (
                                [Text] => The requested SOAP action failed
                            )

                    )

            )

    )

)

1 个答案:

答案 0 :(得分:1)

使用来自设备I / O服务的GetVideoOutputs来获取可用于流式传输的视频分辨率是错误的。

正如您在§5.1.1 of the Device I/O specs中看到的那样,

  

此命令列出设备的所有可用视频输出。一个   具有一个或多个物理视频输出的设备   支持列出可用的视频输出   GetVideoOutputs命令。

要获得视频分辨率,您必须使用:

  • Media Service如果您的相机符合Profile S,请参阅§5.5
  • Media Service 2如果您的相机符合Profile T,请参阅§5.2.3。到目前为止,此配置文件尚未发布,因此这种情况不太可能发生。