Pelco Developer Network (PDN)

Unable Playback from ViewVideo Sample Code

Hi I am using Pelco SDK(PelcoSDK-4.2.1-15974.vc10) viewVideo sample code to view playback video from Digital Sentry v7.12.156.10692.

Also I had installed DS Pelco API Bundle v7.14.

When I right click on it and select "Playback From 1 days ago", it throw an exception, "DS has not sent packets within 5 seconds of seeking.".

The following is the SDK log:

------------------------------------------------------------------------------------------------------------------
Starting Pelco SDK: C:\Program Files (x86)\Pelco\API\Libs\Debug\
------------------------------------------------------------------------------------------------------------------
2016-10-14T02:11:26 [INFO] 8780/7980 DeviceDB.cpp, 486: Connecting to cache database: C:\ProgramData\Pelco\SDK\PelcoDeviceCache.db
2016-10-14T02:11:26 [VERBOSE] 8780/7980 EventProcessor.cpp, 76: EventProcessor constructor system: 0
2016-10-14T02:11:26 [INFO] 8780/7980 DeviceDB.cpp, 1232: 3 devices loaded from database
2016-10-14T02:11:26 [INFO] 8780/7980 ExternalSystemProviderCollection.cpp, 140: Loading provider C:\Program Files (x86)\Pelco\API\Libs\Debug\Providers\PelcoAgg.dll
2016-10-14T02:11:26 [INFO] 8780/7980 SystemCache.cpp, 272: Creating provider My System
2016-10-14T02:11:26 [VERBOSE] 8780/7980 EnduraDeviceCollector.cpp, 101: Constructing EnduraDeviceCollector 52
2016-10-14T02:11:26 [VERBOSE] 8780/7980 EventProcessor.cpp, 76: EventProcessor constructor system: 52
2016-10-14T02:11:38 [VERBOSE] 8780/7980 StreamPrivate.cpp, 133: Play: 1 52/1
2016-10-14T02:11:44 [INFO] 8780/7980 StreamPrivate.cpp, 402: Seek: 2016-10-13T10:11:44.8900938 52/1
2016-10-14T02:11:46 [ERROR] 8780/7980 StreamPrivate.cpp, 103: DS has not sent packets within 5 seconds of seeking.
2016-10-14T02:11:46 [VERBOSE] 8780/8248 SystemCache.cpp, 872: Device collection for #52 192.168.1.170:60001: started
2016-10-14T02:11:46 [INFO] 8780/8248 EnduraDeviceCollector.cpp, 387: Started GetDevices for 192.168.1.170:60001 with sequence number 0
2016-10-14T02:11:46 [VERBOSE] 8780/8248 DeviceInfo.cpp, 52: Device Type: urn:schemas-upnp-org:device:Basic:1
2016-10-14T02:11:46 [VERBOSE] 8780/8248 DeviceStorage.cpp, 57: Ignoring device type=4 ZHIFONG-PC - Basic
2016-10-14T02:11:46 [VERBOSE] 8780/8248 DeviceInfo.cpp, 52: Device Type: urn:schemas-pelco-com:device:Pelco:1
2016-10-14T02:11:46 [VERBOSE] 8780/8248 DeviceStorage.cpp, 57: Ignoring device type=16 ZHIFONG-PC - Pelco
2016-10-14T02:11:46 [VERBOSE] 8780/8248 DeviceInfo.cpp, 52: Device Type: urn:schemas-upnp-org:device:Basic:1
2016-10-14T02:11:46 [VERBOSE] 8780/8248 DeviceStorage.cpp, 57: Ignoring device type=4 ZHIFONG-PC - Basic
2016-10-14T02:11:46 [VERBOSE] 8780/8248 DeviceInfo.cpp, 52: Device Type: urn:schemas-pelco-com:device:Pelco:1
2016-10-14T02:11:46 [VERBOSE] 8780/8248 DeviceStorage.cpp, 57: Ignoring device type=16 ZHIFONG-PC - Pelco
2016-10-14T02:11:46 [VERBOSE] 8780/8248 DeviceInfo.cpp, 52: Device Type: urn:schemas-pelco-com:device:NetworkVideoRecorder:1
2016-10-14T02:11:46 [VERBOSE] 8780/8248 DeviceInfo.cpp, 52: Device Type: urn:schemas-pelco-com:device:Camera:1
2016-10-14T02:11:46 [INFO] 8780/8248 EnduraDeviceCollector.cpp, 412: Ended GetDevices for 192.168.1.170:60001. Sequence number is 0. 2 devices reported
2016-10-14T02:11:46 [INFO] 8780/8248 GetDevices.cpp, 42: Writing devices to cache and database: 6 ms
2016-10-14T02:11:46 [INFO] 8780/8248 SystemCache.cpp, 896: Device collection for #52 192.168.1.170:60001: completed. 2 devices: 30 ms and 2 ?s
2016-10-14T02:18:14 [VERBOSE] 8780/7980 StreamPrivate.cpp, 230: Stop 52/1
2016-10-14T02:18:14 [VERBOSE] 8780/7980 EventProcessor.cpp, 88: EventProcessor destructor system: 0
2016-10-14T02:18:14 [VERBOSE] 8780/7980 EventProcessor.cpp, 88: EventProcessor destructor system: 52
2016-10-14T02:18:14 [VERBOSE] 8780/7980 EnduraDeviceCollector.cpp, 140: Destructing EnduraDeviceCollector 52
2016-10-14T02:18:14 [INFO] 8780/7980 AppService.cpp, 235: Pelco SDK shut down completed

Please advice.

Thank you

Thank you for including the SDK logging, this is helpful.

Question: in your post you indicate that you have DS 7.12, but you installed DS Pelco API bundle services for 7.14. Why? These should typically match up. I do not know if mixing and matching is supported.

We do have another Forum post with a lot of useful and helpful information on troubleshooting DS Pelco API with Pelco SDK here: DS Pelco API Troubleshooting. Some of the troubleshooting of these services on the DS, as well as checking to ensure they are running properly, will involve working with Pelco Product Support.

The error message that you are seeing basically means that the SDK has not received video packets for the last 5 seconds. You can verify this using Wireshark to see if frames are coming from the DS. My best guess is that, since you just installed things (and assuming that all other services are running properly on the DS for these two things to work together) there isn't playback from 1 day ago on the DS. You might try using a different value by modifying the ViewVideo sample code to look for time for perhaps 10 minutes ago instead of 1 day ago.

With information in the linked post it is also possible to check logging for the DS Pelco API service on the DS to check for any logged messages there.

Hi thank for your prompt response.

At the first time that I calling Seek, I always receive this message.

I need to seek for second time, then It's working well.

Do I need to tune the waiting time for the packet?How?

Please advice.

Thanks.

There has been some odd behavior noticed between Pelco SDK and DS Pelco API with relation to obtaining playback video.

In the past this was sometimes resolved by simply rebooting the DS unit itself. Alternatively you could try stopping and then restarting the DS FrameServer and DS Pelco API service. One other avenue to try could be to try updating the DS and DS services to the most current release (currently 7.14). I did not see anything specific in the release notes to indicate any changes in this type of behavior, though in times past these sorts of fixes did not always make it to the release notes.

Another suggestion related to using the Pelco SDK (vs approaching this from the DS side) would be to try other arrangements of .Seek and .Play calls - try changing the order to see if behavior changes or improves. In the ViewVideo sample playback is performed by calling Seek and then Play once a stream is running. You may need to start playing a stream first and then Seek to the proper time.

If none of these suggestions work, then I'm sorry to say that you may have to make due with the behavior as you see it now. Both the Pelco SDK and DS Pelco API services are no longer under active development (in favor or VideoXpert systems and tools), so current behaviors are unlikely to be changed.