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!

Actually the TfL CCTV system has been entirely IP since early 2012, with either IP cameras or feeds encoded at the base of the camera pole, and from there multicast video traffic distributes these feeds around London as needed by users. The low CIF resolution is downsampled from the native, and transcoded to browser-friendly H.264 if not already in that format. The low res is mainly to ensure there are no identifiable people that might cause GDPR problems, whilst the 264 is to ensure maximum browser compatibility. You are right though about the round-robin approach - all clips need to pass a set of automated checks to make sure they aren’t showing anything that shouldn’t be published, as well as branded, downsampled, and transcoded, and with blanking images inserted if the cameras are faulty - all of which is far easier to manage with discrete clips than live feeds. Clips can be archived as far as I can see from the T&Cs - an example of mine with 1 months archived footage is:

https://livetrains.co.uk/jamCams/osm/#00001.06501

1 Like