Optimization

We all want the video to start spinning in a fraction of a second, right? We've made a long way from back in the days where we were shooting at 720x480px to get a mp4 ready in 30 seconds lol. On a recent gig, I was at 3 seconds with 16 cameras, 4 Raspberry Pi's and 1080p resolution. It's getting hard to get any better, especially if you consider all the steps that are taken from the moment you release the button to the moment you see the animation on the screen:
  1. File download
  1. Digital calibration
  1. File resize
  1. Watermark apply
  1. mp4 file creation
  1. video repeat handling
  1. file clean-up
Ok but how to get to that speed?

1- USB-HUB architecture (typically 12 cameras with 3 USB hubs on a single Windows computer)

It shouldn't take more than 6 seconds to finish generating your mp4! Make sure you follow these steps to speed up the download and processing time:
1.1 - Hardware
  • Use a fast computer (we use a gaming computer with a i7 processor and a fast SSD)
  • Use a USB-C hub on which you connect your USB-3 hubs (no chaining!)
1.2 - Camera settings
  • Use the smallest resolution you can for the output you need. In our case, as we deliver 1080p most of the time in events, we select S2 (2400x1344px at a 16:9 ratio)
1.3 - Software
  • In Xangle Camera Server, go in the settings, and test with various settings (to your tastes) for the JPEG compression and MP4 Codec. I usually go at 80% / Ultrafast.
  • Discard everything you don't need from the "Publish option" section.
  • Set the number of repeats at the minimum needed for instagram (3 seconds)

2- Raspberry Pi architecture

This is a bit more complicated to setup, but so much more efficient for speed and triggering. 1.1 and 1.2 apply for the Raspberry Pi architecture. But the hardware is very different.
Please take note that we didn't measure any differences when shooting in 1080p with one to four cameras per Raspberry Pi. However, when shooting in RAW mode, you'll chop a few seconds by adding more Pi's to your network (but you'll need more electronics, more power, etc...)
1.1 - Hardware
  • Use a fast computer (we use a gaming computer with a i7 processor and a fast SSD)
  • Use a master Gigabit switch
  • Avoid daisy-chaining your switches
  • Make sure that you're network interface reads at 1000 Mbps on the computer
    If you find any other tricks, please let me know! :)
     

    3- Performance monitoring

    notion image