我正在开发一个通过 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 创建一个新的“视频编码器”?如果答案是否定的,是否有其他方法可以实现我的目的?