3

我正在开发一个通过 ONVIF 查看视频流的应用程序,其中一个要求是不断改变视频分辨率。我遇到的主要问题是相机位于经常发生连接中断的地方。

此时,我让应用程序运行使用“SetVideoEncoderConfiguration”请求更改相机的分辨率(更改所需的参数),并使用“GetStreamUri”请求获取视频流,但我的目标不是通过 onvif 发出请求,相反,我想为每种分辨率存储一个配置文件,并直接将视频流上传到我的播放器上,例如直接加载(rtsp://onvif:test@192.168.30.234/onvif-media/media .amp?profile=profile_1_h264&sessiontimeout=60&streamtype=单播)。

所以,我打算做以下事情:一开始只创建两个配置文件,每个配置文件都有不同的“VideoEncoder”(一个用于高分辨率,另一个用于低分辨率)

我的问题是:如果我通过“GetCompatibleVideoEncoderConfigurations”请求为我的相机获取“视频编码器”,我的相机只返回一个“视频编码器”,所以我无法创建我想要的两个视频编码器。有没有办法通过 ONVIF 创建一个新的“视频编码器”?如果答案是否定的,是否有其他方法可以实现我的目的?

4

1 回答 1

3

ONVIF 开发者指南http://www.openipcam.com/files/ONVIF/ONVIF_WG-APG-Application_Programmer%27s_Guide.pdf在第 7.2 章中描述了 CreateProfile 过程。

而不是 GetCompatibleVideoEncoderConfigurations,您似乎应该使用 GetVideoEncoderConfigurations 来获取编码器配置列表。

您可以检查 onvifdm http://sourceforge.net/projects/onvifdm/是否可以创建具有 2 个不同编码器配置的 2 个配置文件。

于 2014-02-18T22:44:25.970 回答