TfL CCTV feeds access + usage

Hi there, I would like to access the TfL Open Data CCTV feeds (JamCams) for a space utilisation project. However, I have a couple of questions

  1. Where is the API documentation for accessing these cameras?
  2. Are there any restrictions in terms of using ML models to do analysis on these feeds in a cloud environment?

Thanks.

Welcome @imbatraman

I went over most of this in quite a lot of detail in this post - JamCam multiple historic images

Hi @briantist - thanks for getting back to me, hope you are healthy in this climate.

Thanks for sharing the link - I had a look. I think natively there is no historic image sequence because it’s all real-time, but one could store them in an S3 bucket to come up with a historic sequence. Can we do that?

Secondly, the APIs only show 10 sec sequences in 3 min intervals - is that how it’s meant to be? Or can we get 3 min sequences in 3 min intervals and come up with live 24x7 sequences?

Also, there seems to be no guideline on whether we can apply ML models to the video feeds for vehicle detection, crowding levels etc. I’m guessing it’s okay? Is there someone from TfL that can confirm this?

Apologies for all the questions :slight_smile:

Thanks for sharing the link - I had a look. I think natively there is no historic image sequence because it’s all real-time, but one could store them in an S3 bucket to come up with a historic sequence. Can we do that?

Yes, the code I wrote on the other post will store them in the file system (folder, filename) so you can do this with an S3 bucket with a few extra lines (and lots of extra AWS config!). Or you could use something like the rather wonderful https://www.syncovery.com/ to sync the files and folders from a local file-system to S3.

Secondly, the APIs only show 10 sec sequences in 3 min intervals - is that how it’s meant to be? Or can we get 3 min sequences in 3 min intervals and come up with live 24x7 sequences?

As far as I can recall, these cameras are an very-old fashioned CCTV system - many images show genlocked in-band labels. The system is one that is normally used to show selected images onto selected shared monitors in a control room.

What is happening is that there is PC with a video capture card installed that is linked to this system as one of the “output monitors”. The software is able to command the video switcher to pull up a feed, take a photo and save it to the S3 bucket, grab a quick video segment, save that to the S3 bucket and then move onto the next input to the CCTV system.

This was designed so that TfL can share these inputs with other suppliers (they were on bbc.co.uk for example) as well as it’s own website. But, that’s all there is. Until they rip it all out and start again with an IP-based system that can stream direct to the cameras to a suitable AWS streaming connection, these snapshots is all there is.

Also, there seems to be no guideline on whether we can apply ML models to the video feeds for vehicle detection, crowding levels etc. I’m guessing it’s okay? Is there someone from TfL that can confirm this?

It’s all in the public domain (we own TfL, it’s part of Open Government) but if you use the data for ML you need to give TfL credit.

Apologies for all the questions :slight_smile:

That’s the point of the forum!