yes, the second number for these modes (i.e. 512x10, 512x20, 1024x10, 1024x20, 2048x10) is the number of revolutions / rotations per second, where the first is the number of columns read per revolution (360°).
When switching between a x10 mode and a x20 mode (i.e. via Ouster Studio) you will notice Lidar stops spinning, re-spins and then sounds slightly different than before due to turning with a different speed.
I've wrote a small piece of (very dirty) code to extract actual images from rosbag files in the past,
to do this I'm extracting the raw UPD packets from the stream (no library, just checked standard and hacked something). Sorry, I cannot share it in this state (I'm afraid it's more confusing than it helps).
Essentially I'm checking for op == 0x02 (named that ROSBAG_MESSAGE_DATA_HEADER in my code) with a data size of 0x3145, and then parse the data starting at pos +4, which then follows the UDP format as described in Chapter 3.4 Lidar Data Format of Software User Guide.