We have a few cameras using this driver and they return nil for this call. Other cameras, using native drivers, return the video statistics.
You called it configuration but at Milestone we would call it statistical status data.
It contains
--
private void FillMediaStreamStatisticsBaseFields(MediaStreamInfo mediaStreamInfo, XmlWriter responseWriter)
{
responseWriter.WriteElementString(“StreamId”, mediaStreamInfo.Id.ToString());
responseWriter.WriteElementString(“Name”, mediaStreamInfo.Name.ToString());
responseWriter.WriteElementString(“RecordingStream”, ConvertToSoapBoolStr(mediaStreamInfo.RecordingStream));
responseWriter.WriteElementString(“LiveStream”, ConvertToSoapBoolStr(mediaStreamInfo.LiveStream));
responseWriter.WriteElementString(“LiveStreamDefault”, ConvertToSoapBoolStr(mediaStreamInfo.LiveStreamDefault));
responseWriter.WriteElementString(“LiveStreamRunAlways”, ConvertToSoapBoolStr(mediaStreamInfo.LiveStreamRunAlways));
responseWriter.WriteElementString(“BPS”, mediaStreamInfo.PipelineStatisticsData?.BitsPerSecond.ToString(CultureInfo.InvariantCulture) ?? “0”);
responseWriter.WriteElementString(“FPS”, mediaStreamInfo.PipelineStatisticsData?.FramesPerSecond.ToString(CultureInfo.InvariantCulture) ?? “0”);
}
private static void FillVideoStreamStatisticsFields(MediaStreamInfo mediaStreamInfo, XmlWriter responseWriter)
{
responseWriter.WriteStartElement(“ImageResolution”);
responseWriter.WriteElementString(“Width”, mediaStreamInfo.VideoFrameInfo?.Width.ToString(CultureInfo.InvariantCulture) ?? “0”);
responseWriter.WriteElementString(“Height”, mediaStreamInfo.VideoFrameInfo?.Height.ToString(CultureInfo.InvariantCulture) ?? “0”);
responseWriter.WriteEndElement( /* ImageResolution */);
responseWriter.WriteElementString(“VideoFormat”, (mediaStreamInfo.VideoFrameInfo?.IsJpeg ?? false) ? “JPEG” : “MPEG”);
responseWriter.WriteElementString(“ImageSizeInBytes”, mediaStreamInfo.PipelineStatisticsData?.AverageFrameSizeInBytes.ToString(CultureInfo.InvariantCulture) ?? “0”);
responseWriter.WriteElementString(“FPSRequested”, mediaStreamInfo.FPSRequested.ToString(CultureInfo.InvariantCulture));
}
- - The information here is formatted as source code in the server implementation courtesy of Milestone Development - -
If the camera for which you ask for this data is not currently streaming the expected result is nil.
Please double-check if you are asking for the data from a device currently streaming video.