Is there a way to view live/recorded video for a camera that’s connected to XProtect Corporate 10 using a web browser, instead of using the full XProtect application? We would like to be able to pop up a browser window and display the video stream directly if possible. Thanks,
-Lou
The Smart Client can display an HTML page for one or more view elements, so if you can get past the login of the camera, this should work. But it will not be very flexible, and only valid for the Live view.
Also, having multiple Smart Clients, each pulling a stream from this device, may cause bottleneck/overload problems for the device.
Install the mobile server and use web client.
Thanks for the replies. More generally, our requirement is to be able to seamlessly open a window (either browser or windows app is fine) and either start playing live video or recorded video for a particular camera, in a way that requires as little software development as possible for us, and also in a way that does not require the user to enter their Milestone XProtect Corporate credentials each time. So far we have done this by writing a windows application using the Milestone MIP SDK. However, we have found that this type of solution is brittle. Eventually there is a new version of the Milestone product that our application does not support and we then have to update it. This is time consuming because we have to remember what we did a year or two ago and then figure out how to use your new SDK. For example we recently had to update our windows application to use the latest Milestone 2016 MIP SDK because our existing application failed to login using Basic authentication to XProtect Corporate v10.0. What is your recommendation based on these requirements? Is there a better solution than us writing a custom application? For example, would we be able to use the smart client to view video for a particular camera directly, maybe with some command line parameters? It seems the browser solution would not meet our requirements due to not being able to automatically authenticate, based on this article: https://force.milestonesys.com/support/MccSupportCommunity?id=kA2200000004TID#!/feedtype=POPULAR&dc=XProtect_Web_Client&criteria=BESTANSWERS. Thanks for any help.
-Lou
Correction: Actually I found out that it is fine to have the user enter their credentials each time. So, the browser solution would potentially work for us. However we do need to be able to pass the camera ID and playback time so that when the user logs in they will view either live video or recorded video from a particular camera. Is that supported? Thanks,
-Lou
It is very bad luck that you ran into this issue with login, as MIP SDK based application are supposed to work for the different versions and this includes future versions.
This type of solution should not be brittle!
I would go for a MIP SDK based integration application that can startup with parameter or similar.
See (https://force.milestonesys.com/support/articles/en_US/FAQ/About-MIP-SDK-compatibility-with-XProtect-product-versions)
To make the picture complete I would like to show you a Smart Client start-up script that can login, open a defined view and start playback mode at a set time.. (So while this was not my recommendation it might offer you an alternative, and you might prefer this..)
<ScriptEngine>
<Login>
<ServerAddress>http://localhost:8888</ServerAddress>
<AuthenticationType>Windows</AuthenticationType>
<UserName>domainname\username</UserName>
<Password>pass</Password>
</Login>
<Script>SCS.Application.ShowBrowse();
SCS.Views.SelectView("Shared.g1.cam");
System.DateTime dt = System.DateTime.Now-System.TimeSpan.FromMinutes(3);
SCS.Browse.Goto(dt);
SCS.Browse.PlayForward();
SCS.Application.Maximize();
</Script>
</ScriptEngine>
Thanks for the information Bo. Can you point me to some more information on how to script the smart client? Also do you have information on what can be done using the web client (what URL parameters can be used, can we start live/recorded video playback for a particular camera?). Thanks,
-Lou
All information available on Smart Client scripting is in the manual and help system (F1 help) for the Smart Client.
Note that the web client cannot use the scripting, it is important here to destinguish between web client using the Mobile Server and the Smart Client which directly communicate with XProtect recording server a.o.
There is further documentation for the webclient functionality in the “Mobile Client User Guide” (https://www.milestonesys.com/support/download-software/?prod=166&type=13&lang=27)
OK - thanks for that info.
Do you have any plans to support integration via streaming protocols such as RTSP/RTMP/HTTP ? In that case we should be able to use something like the VLC player either standalone, or embedded in a browser as an ActiveX control.
-Lou
The Milestone ONVIF Bridge is capable of giving you a RTSP stream, it would be possible to request a live RTSP stream from VLC and get it playing.
The ONVIF Bridge is a new “beast”, perhaps it is what you are looking for. (https://www.milestonesys.com/support/download-software/?prod=1373&type=11&lang=27)
Thanks Bo I will check into that.
-Lou
I was able to get the ONVIF bridge working on a test server and can now view video using the VLC player.
For recorded video, is there a way to specify playback start time via the RTSP URL ? In the “ONVIF getting started” documentation it says to use a URL like this: rtsp://IPAddress:554/vod/Camera_GUID but it says nothing about playback start time. Is there a more in-depth document that you can point me to that might have this?
-Lou
The start time would be the start of the recoded footage.
This is what VLC sends to the RTSP server: (example)
PLAY rtsp://10.4.15.142:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373 RTSP/1.0
CSeq: 6
Authorization: Digest username=“basic”, realm=“RtspServerLibrary”, nonce=“dU2JrL1IAa7A7aNIrEa3oSkEs1kInl0y”, uri=“rtsp://10.4.15.142:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373”, response=“cd0a1babc5254287c56deb1651aace52”
User-Agent: LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)
Session: A412A488
Range: npt=0.000-
--
“Range: npt=3-20” will instruct RTSP server to start playback from the 3rd second until 20th one.
it is also possible to use something like
“Range: clock=20090615T114900.440Z”
-it is important here to notice that XProtect will use UTC time, you will have to convert any time you use from local time to UTC time.
Now I got a little help on this answer, but I am not sure how you make the VLC player use this, I hope you are more an expert on this than I am. If this does not solve it for you please get back.
Thanks Bo. So it looks like it can be done (RTSP protocol supports it) but the problem is going to be how to make the VLC plugin specify the Range header parameter using absolute time.