That's not what happens at all.
As can be clearly seen in the video, the recording at 120k fps is done with 512*320 resolution, which is less than 8% of the bandwidth for 1080p. At 170k fps, the resolution is only 256*256, and the 340k recording is done at again half that resolution, which is only 3% of the bandwidth you're talking about.
The final video on youtube is 1080p, sure, but the source videos (at least the high-speed ones) are not, they're upscaled after the fact.
So, while it's still quite some, it's not nearly what you think it is.
The smallest model of these cameras has 72GB of RAM, and they go up to 288GB of RAM. Assuming the lowest of the resolutions they've used in the video, and the largest model of the camera, the camera would be able to store about 2 million full-chroma frames, or about 5.8 seconds of video in RAM just like that, no need to ever write something.
But it doesn't do that, it stores frames which are about 1/10 that size. So really, it can record almost one minute without ever writing out something. Add to that a fast storage medium (of which even the cheaper ones are capable of taking 100+MB/s nowadays, and top notch is more like 1GB/s), and there's little surprise how it could work.
Note that thanks to parallel writes, even with a slow-ish medium which can't quite keep up with sustaining the writes indefinitely, you can greatly increase the total recording capacity so it's virtually unlimited (you don't do 2-hour high-speed recordings anyway).
As for processing/compression, ProRes 422 is not comparable to typical video compression. It is a dead simple chroma subsampling followed by a DCT, strictly constrained to a single frame. No movement estimation, prediction, interframe-dependency, none of that kind.
So basically it's a kind of sub-sampled single-frame JPEG compression, which is well-researched for 25+ years, an embarrassingly parallel problem, and for which dedicdated, cheap hardware that has the whole transform hard-wired is readily available. Doing this fast is no technical challenge. Storing compressed data is just as fast as storing uncompressed data.
15
Top of the range PCs can write to RAM at 19.2 GB/s, and that's off-the-shelf general purpose hardware. So dump it to RAM unprocessed and then take your time saving it.
– RomanSt – 2018-07-15T22:28:36.1502Should this be moved to photo.SE? – dalearn – 2018-07-16T00:15:19.070
4
@dalearn: If anything, electronics.SE. How can cache be that fast? (about memory / cache bandwidth benchmark results on a multi-core IvyBridge) was well-received there.
– Peter Cordes – 2018-07-16T00:27:30.2271@PeterCordes That's another option for sure. I just mentioned photo.SE since I have seen several similar questions on there. – dalearn – 2018-07-16T00:28:45.863
3
@RomanSt: That's for a single stick (i.e. one channel / one memory controller). Typical desktop/laptop systems are dual-channel, high-end desktops can be tripler or quad-channel. e.g. without overclocking, the theoretical max memory bandwidth of an Intel CPU with DDR4-2400 (like a Coffee Lake i3-8100) is 37.5 GB/s. Practical throughput is somewhat lower, and it takes multiple cores to saturate DRAM bandwidth.
– Peter Cordes – 2018-07-16T00:36:05.5978
GPU memory bandwidth is maybe a better example of what can be done with DRAM soldered onto a board, with lots of channels, optimized for throughput for sequential access patterns. Like a GTX1080 with 320GB/s of bandwidth from 8GB of GDDR5X, or 112GB/s for a budget GTX1050. And these days there's 3D-stacked DRAM, like HBM (https://en.wikipedia.org/wiki/High_Bandwidth_Memory) giving up to 256 GB/s per package.
– Peter Cordes – 2018-07-16T00:39:48.040