This is an old revision of the document!

Optical Drive Speeds

Doing math and converting kB to Mb and so on gives me a headache, and I can't be particularly certain that I'm doing it right. Therefore, these are the speeds in binary bytes, as in, this is what I use in dvd_info and bluray_info when deciding how much memory to allocate or drive speed to run at, as in an char.

You can do the conversion on your own to another format, because I can't be certain of my own work, and also because numerous resources use the wrong naming syntax (kB vs Kb vs kb vs KB, and so on, going up or down from there).

You can use cdrecord to get your drive's speed. Insert a DVD into the into the drive to get speed for that one, a CD otherwise, etc.

cdrecord -prcap
  Maximum read  speed: 11080 kB/s (CD  62x, DVD  8x, BD  2x)
  Current read  speed:  5540 kB/s (CD  31x, DVD  4x, BD  1x)
  Maximum write speed:     0 kB/s (CD   0x, DVD  0x, BD  0x)
  Current write speed:     0 kB/s (CD   0x, DVD  0x, BD  0x)
  Rotational control selected: CLV/PCAV
  Buffer size in KB: 512
  Copy management revision supported: 1
  Number of supported write speeds: 1
  Write speed # 0: 11080 kB/s CLV/PCAV (CD  62x, DVD  8x, BD  2x)


Drive Speed Bytes (B) Source
1x 1,385,000 OSTA


Drive Speed Bytes (B) Source
1x 4,718,592 Blu-ray Specifications

While writing this, I can't find the exact source, but I do know it was a PDF of the official Blu-ray spec. You can see the public specs here -

Market Availability

My Blu-ray / DVD drive is old (from 2009), and it's an 4x BD-ROM, and 8x DVD-ROM.

The majority of optical drives on the market now (March 2018) are 12x BD-ROM, and 18x DVD-ROM.

To be safe, in my code, I set the default max speed at my drives, and allow users to override the drive speed manually to maximize the read speed per second.