How To Display IP Camera Video With A 60 Second Delay?

I have a customer that has a need to display video from a camera on a public monitor with about a 60 second delay. We need something as automated as possible, without interaction from a user. Any ideas?


With ONSSI (classic) you could simply start a playback window 1 minute behind the live feed.

Other recorders may allow this as well.

Though I am wondering if there would be any drift between the times over many hours or days, I'll try it and see.

How many cameras? How big are the images? what is the bandwidth? can they use a standard windows computer as a DVR?

With DW Spectrum, simply open the camera in the view and drag the slider to 60 seconds back in time and leave it alone. It will stay 60 seconds behind.

Common request in broadcasting with alot of options

http://www.markertek.com/category/video-delay-lines

I'm a backline support manager with Milestone

There are probably a number of VMS's that would allow you to open their client and start playing back from 1 minute ago and leave it be. As U1 mentioned though, there might be some clock drift over time unless they specifically have a feature to maintain a specific buffer from "now" in order to correct that drift over time. I doubt this is something we do, and either way it also requires manual effort once the client is launched start playback from a specific point.

I just did a quick 5 minute test and as long as "Skip gaps in playback" is disabled, Smart Client did not seem to drift. But that's a fairly short test so not terribly conclusive.

Unless someone knows of an application that does this already, it might require some development effort. Using Milestone's MIP SDK it would probably be trivial for a C# developer to modify one of the samples to initiate playback from a specific point in time and build onto it from there?

Interesting solutions there on the broadcast side. Alot of analog and the HD ones look spendy.

Maybe you could functionally accomplish it by using WOWZA and setting a really big buffer so the VMS starts out behind realtime. A whole minute is pretty long, and probably outside the scope of the function, but it should be easy to try.

This is for a diving team, so only 1 camera, probably an IP 1MP camera. I think the start a VMS client instance and set playback to a minute ago is the easiest solution! Thanks for all the help.

Our product, Crossfire, lets you put a camera into a window, then put the same camera into a second window - and set a delay of any amount of time between the live stream and the second window - you could have a delay of 1 minute or even several days in the second window - as long as you have the bandwidth to keep a live stream going in the first window.

Do you have a link to a website?

What is the standard use-case for that functionality? It seems like it was designed for some specific purpose where a user wants to view live video and delayed video side-by-side (particularly since it seems to require the live view to stay open). I'm curious how that feature is normally used.

This feature has been used in a variety of scenarios, but the requirement that led to its development was as follows:

two or more cameras are watching the same scene (e.g., an intersection) from different angles and collecting data simultaneously. However, the user has forgotten to set the standard time on the cameras or the different DVR's and the data streams back asynchronous. This feature lets the user re-synchronize the data so that several channels can be viewed and they are all in synch.

Other uses allow the user to delay various channels relative to other channels, etc.

Depending on the client program options, you might be able to set the incoming buffer size. VLC, for instance, looks like this:

I say might because I havent tried it myself on any number higher than 2000.

Most YouTube channels which do live broadcasts use some FREE software called X-Split. You can register for premium version.

They have a few options, I think the gamecaster version suites your needs.

You can see below link, which you can set a time delay for the stream.

https://www.xsplit.com/gamecaster/faq/advanced/how-do-i-setup-a-stream-delay

you can provide a RTSP video camera as the source.

https://supportdesk.xsplit.com/customer/en/portal/articles/2386552-how-to-format-the-rtsp-url-for-ip-camera-source.

The only thing to work out is how to display the stream, as it's designed to go to social streaming, but you can do a RTMP service.

Here you can see you can provide the stream to a local output. I think this all can run on a single system.

https://supportdesk.xsplit.com/customer/portal/articles/2230806

I don't have anything to do with this company! just maybe information might be useful to people in future also.

To decode the RTSP stream, I use a Raspberry Pi. I've been experimenting with the Pi for some time to decode IP streams when a customer wants a single real time stream from one of their cameras. It works fine; I've only actually deployed it once. I'm concerned this is not a "commercial package." If any tech after me needs to fix it, he'll be scratching his head. Google uses a chromebook and one of their applications to decode a stream. With a piece of their software, you can insert logos and other graphics. I've never done it, but a school district is using their security cameras to display information on their "public mode" displays with that app.

Adobe Flash Media Encoder....you can make a commom internet streaming ..

I was going to suggest VLC as well - it's so incredibly configurable, there must be a way to delay a video stream by a fixed time period.

So as an experiment, I launched VLC to stream an Axis camera with a 10,000ms pre-buffer:

After several minutes, the stream is still delayed exactly 10 seconds.

Testing it now with a 60000ms buffer...