Pelco Developer Network (PDN)

Unable to get ViewVideo sample to play live video

Unable to get ViewVideo SDK sample to play live

At a client site, we are trying to play live video from DigitalSentry 7 using the SDL 4.2.

When we open the application, it shows a list of cameras. However, dragging and dropping (or double clicking) a camera does not play video. It just shows blank window. Please check attached image. No error is shown.

Edit: added image link: image

Hello there! Thank you for your post.

I'm sorry to hear that you are having problems streaming the video. There is logging available with PelcoSDK by making use of the SDK Logging Executable that is included in the /Logging folder on a default install. If you are using a Redistributable, you may need to copy the SDK Logging Setup.exe file to run on the environment there.

I suspect it is a software dependency problem. You must have DirectX 9.0c installed on the computer to display video (and a compatible DirectX video card). This requirement is detailed in the Pelco SDK Quick Start Guide under "Before Installing the Pelco SDK" under Software Requirements.

It could also be a networking issue with the UDP video traffic. Using Wireshark can help to track down and identify if that is an issue too. TCP communication may be working between the CLient running the SDK and the devices / VMS... but other ports and traffic may be blocked. Using Wireshark, you can look for TCP communication coming from the client / SDK (which is a Wrapper for Pelco API) -- you'll see requests for VideoOutput to Query and Connect to a video source, and then StreamControl to Play it. Hopefully you'll see responses from the camera / video source in reply. If you don't, there's the problem. If you do, but then you don't see the following UDP video traffic, then there's the problem.

If you do need to use the SDK Logging Executable, check all the boxes and review the logs generated: PelcoSDK.log and MPF.log. Specifically the MPF.log will include most details about streaming attempts. If you are still stuck, you can try to include the log here in a follow-up post and we'll try to review and provide feedback if we can, or ask for additional details.

For others who may view this post later, some of these suggestions for tools (Wireshark & Logging) can also be found on the Forum Guidelines post.

Unable to get ViewVideo SDK sample to play live

The current machine did not have a dedicated video card. Is this a must have? We have asked our client to find a computer with a video card. They have a machine they bought from Pelco (DSCPPC). WE are going to trying on that one tomorrow. In the meantime, I have attached the log files. Please help us see if there is any thing wrong there.

Edit: Here are the attachments:
PelcoSDK.txt
MPF.txt

Unable to get ViewVideo SDK sample to play live

To test it further, we ran the above mentioned sample on the DSSRV2 itself. I was thinking that there will be nothing blocking the steams as the sample and the NVR on the same hardware. Still exact same result

Do you have the logs for this other attempt from the DS as well? That way we can confirm it actually is the exact same result and not some other issue other than 'video isn't being displayed'? There are a lot of different factors that could cause no video to show up, so it would be great to find that out.

How about Wireshark? Are you able to run that to see if there is communication being attempted that is successful or not? That will help to determine if the problem is network-related or localized to the PC (missing hardware / software perhaps).

What OS are these PCs running?

I saw that in the MPF Log it appears to not even get to the point where there is SoapRequests being made to the VideoOutput and StreamControl services for the video. I do see that you were able to use the SDK Logging, can you also run the DirectX checker that comes with the SDK in the "Tools" folder? You'll need to run it from command line. I have a zip file in BOX that you can download with some brief instructions, as well as the DirectX checker and SDK logging exe here: https://schneider-electric.box.com/s/041iz1rqs51zcdqlcqdlnzvqjac131gc.

Wireshark will help, at this point I'm beginning to believe that it may be missing depending of Hardware or software. In the Quick Start guide that I linked, it does indicate under Hardware Requirements for Graphics: "Dedicated graphics card with at least 1024 MB of memory, PCI Express bus, and supports DirectX® 9.0c for multimedia".

Finally, another thing that I thought of was checking to see if the Digital Sentry and DS Pelco API services on the Digital Sentry are set up and running properly. There is some helpful information on troubleshooting the DS Pelco APi service and how to get lots for it here:

Using RTSP with Pelco API / Digital Sentry:

To enable logging, navigate to "C:\Users\DSNVSUser\AppData\Local\Pelco\DSPelcoAPI" and edit PelcoAPISettings.xml to "1". You can do the same for Frame Server at "C:\Users\DSNVSUser\AppData\Local\Pelco\DSFrameServer" and edit FrameServerSettings.xml to "1". After editing these files you must restart the services and the generated .log files should appear in their respective directories.

A common error is if the default username / password is changed. This has been an issue in the past that will show the service is running properly but the log files will show the errors. If this is the case, there is an article in the Pelco.com Knowledge Base here: How to Update DS Pelco API Password.

If you are still encountering problems, like before you can post here to see if we can help out ... though admittedly if it is a problem with the DS Pelco API service running properly, I may need to direct you to contact Pelco Product Support.

Unable to get ViewVideo SDK sample to play live

The client updated the DS to version 7.17 to see if that would help. Now, Pelco.SDK.DeviceCollection dc = system.DeviceCollection; only returns 2 records. It used to return all cameras. It now returns 2 devices of type Controller and Recorder. Has something changed?

Hi there -

I'm thrilled to hear that some attempts are being made to figure out the problem by updating the Digital Sentry system. I'm sorry to report that Pelco SDK has not been tested with Digital Sentry officially in nearly 2 years. It has been since before the release of the last Pelco SDK version in January 2016. We are no longer doing any active development or updates to Pelco SDK in favor of work on VideoXpert solutions, so compatibility is not ensured. We do not recommend that any development efforts use Pelco SDK any longer unless they absolutely must, and VMS systems should use VideoXpert and the VX SDK going forward.

With that being said, the same troubleshooting steps that we've discussed here still apply; What do the logs say? What does Wireshark say? Is the Digital Sentry and DS Pelco API services all running properly on the DS side? Has Product Support been contacted about the issue to check on the DS to make sure that it and specifically DS Pelco API is running properly? This past question is the key; if the DS Pelco API service is not running properly, there will be problems.

Depending on the answers to those questions, it might be something that could be solved, or the last release of Pelco SDK may not be compatible with current versions of Digital Sentry and DS Pelco API. It would be my first report of that, since generally speaking we've been able to figure out the specific problem and resolve it.

Unable to get ViewVideo SDK sample to play live

We were under the impression that Pelco SDK is the best way to integrate. We are in the initial stages of the integration. We would like to choose a technology that is future proof. Would the VX.VideoXpert SDK work with the Digital Sentry?

The VideoXpert SDK is exclusive for VideoXpert, so sadly it will not function with Digital Sentry.

Pelco SDK was the toolkit that is primarily used for Legacy VMS platforms like Digital Sentry and Endura. When VideoXpert was released 2 years ago we began to move towards this new platform to better serve customers and partners. VideoXpert is built with more current technology and development approach. The VX SDK itself is an easier tool to use for deployment with a lighter footprint and a more open developer experience - it's less intrusive and bulky to use.

If you cannot use a VideoXpert VMS solution, you'll need to use Pelco SDK with Digital Sentry, which hasn't been updated in some time. Your best solution for use going forward into the future would be VideoXpert with VX SDK.

Unable to get ViewVideo SDK sample to play live

I have asked the client if they can switch to VideoXpert. But, if they have already bought Digital Sentry...I suspect they might want to stick to that. If they still want to use Digital Sentry, should they degrade it to older version? As I said, it stopped working when they switched to 7.17. Or would you work with us to get the SDK working with 7.17. Also, can you please confirm which version of the DS is known to work with the SDK 4.2. Also, is there a faster way of getting help or the Forum is the only way. The reason I ask is that the client is getting impatient and wants to warp-up the project soon. Thanks for you help.

Hopefully they can make the switch to VideoXpert. It would be a better solution for the future. I do understand if there are other circumstances that might prevent that - hoping that they can be resolved.

If it must be Digital Sentry, I'm willing to help provided I can obtain answers and information to do so. For direct or faster support you are better off contacting Pelco Product Support. This forum is not for site issues or setup problems; it is intended for developers who are working on writing code, so the turnaround time is typically a day or few.

I would probably suggest reverting back to the first version of Digital Sentry that worked up until displaying the video to start. I'd suggest get all of that working first, since that appeared to be very close. Next I would recommend reviewing Pelco SDK requirements, software and hardware to ensure everything is being met. Finally, if there are still problems, I would ask that we answer the questions that I've asked here and provide attachments like log files and Wireshark network captures (please filter these to only relevant data to expedite any help we can provide -- it's faster for both of us).

Here is some posts on some of our Forum Guidelines and Forum Code of Conduct..

Unable to get ViewVideo SDK sample to play live

Thanks for your help so far. I will absolutely provide all answers and information you need. We have downloaded a version of DS v7.14 in our office. We will install it on one of our own computers and get the log files and other information for you.

Sounds like a good plan. Please be sure that the DS Pelco API service is running properly on the Digital Sentry as well.

There are some tips that I provided to another user on the forums some time ago as well on how to tell if the service is running properly or not on this thread here: System.runtime.interopServices.SEHExeption - DS Pelco API Troubleshooting

Unable to get ViewVideo SDK sample to play live

It turned out something had gone wrong with the FrameServer service at client's DS. We removed it and reinstalled. Things are working. Thanks for your help.

Fantastic news! I'm very glad to hear that it is working now. You are very welcome!