making the cdrtfe cd burning program into an ISO-based cd/dvd duplicator

 

Overview

sometimes people want to duplicate media using their pc. this is how you would do that. currently tthere is only minimal support in linux, and some command-shell stuff you can do in windows using the Open Source burning program cdrtfe which is based on the UNIX cdrtools. but it's something!

If you think you want a cd/dvd/blu-ray ISO-based duplicator for windows, and you are willing to experiment/test such a system, try this out and send me the results through contact and vote for me to write a more full solution based on cdrtfe in the polls section.

Downloads

System Requirements:64-bit system, 16-24GiB RAM, 1 optical cable for each drive (to prevent alternation on IDE), qty of processors that allows 1 core per drive (that would be optimal, I have not tested this setup AT ALL, but this is my best guess), would be interesting to try 12 drives on an i7-980x.There are 24-core workstations avaiable for $11-18,000 but the cases are not made for multi-drive and the vendor locks you in on their expensive drives. I don't know what is available in workstations.

ISO Disc Duplicator software for Windows

making a multi-drive concurrent-burning batch file

it's right at the top of the log when you do a burn of a particular drive using cdrtfe in windows. the trick is to

  1. use the dropdown drive list to select 1 of the N optical burners.
  2. use the log entries that look like "C:\Program Files\cdrtfe\tools\cdrtools\cdrecord" gracetime=5 dev=0,0,0 driveropts=burnfree -v -dao /cygdrive/C/cd/OOo3.2.1sn_dvd.iso to put in your .cmd batch file. be sure to replace the .iso filepath from /cd/.../something.iso to %1
  3. if you replace a drive, you MAY need to redo your list again.

"C:\Program Files\cdrtfe\tools\cdrtools\cdrecord" gracetime=5 dev=0,0,0 driveropts=burnfree -v -dao /cygdrive/C/cd/OOo3.2.1sn_dvd.iso is the key to it all. the path to the ISO file is \cd\OOo3.2.1sn_dvd.iso so you would change the code (also insert the word start in front) to START "C:\Program Files\cdrtfe\tools\cdrtools\cdrecord" gracetime=5 dev=0,0,0 driveropts=burnfree -v -dao /cygdrive/C%1 and ALWAYS make sure the folder path you are using starts with / instead of c:\ and uses / instead of \. what will vary between drives will be your dev parameter.

You are going to have to execute this with a cmd.exe shell, sorry. here are several ways to get a cmd shell, pick one you like:

  • start, run cmd [Enter] (95/98/me/2000/xp)
  • start/[windows-logo-flag-key] type in cmd [Enter](vista/7/8)
  • [windows-logo-flag-key]-R cmd [Enter] (any version of windows from 95 on)

you can find out what the device numbers are by doing "C:\Program Files\cdrtfe\tools\cdrtools\cdrecord" -inq | c:\windows\system32\find.exe "dev=" >> multi-burn-iso.cmd and use Notepad or a programmer's editor to copy and paste the device numbers in place into the START command lines and delete the fluff left over.

cdrtfe has command-line versions of the windows programs. to get them usable, during the installation of the program, check the checkbox "copy the cygwin dll's". from there you can build your own batch file version of a multi-drive burner using the start command.

using the START batch file command will fire them off in parallel. if you use %1 you can use the first argument to the batch file execution for whatever you want, such as the ISO filepath. this way, the batch file is not hard coded to one ISO file.

see link to make ISOs for a batch file which makes ISO files out of directories.

CALL makeiso.cmd and then your parameters to make the ISO file out of a directory/folder. the folder specified here must use \ instead of / and you can specify c:\ at the start of the filepath or some other drive.

you can use this in combination with the previous batch file if you want to make something that takes a directory and burns it to multiple burners.

cdrtfe can sure be useful if you know how to use it. but installing it can be a pain. for version 1.3.9.0, you must install it twice for it not to give an error message (the files must already must exist for it to install correctly).

the issues with concurrent multi-drive burning on a PC

  • all the burn software for windows I know of can only burn one drive at a time.
  • burning is cpu- and disk-intensive, it should be the only thing you do, now try and multiply that by the number of drives if that were possible and it doesn't cause underruns or buffer underflows.
  • if you choose DMA, there are only 2 DMA channels to play with, an the OS is probably using at least the other one, so it's all up to:
    • the the capability of the main hard drive and
    • the CPU
    - hope they are fast enough....
  • there is no pre-built ready-to-go software support on windows for duplicator software at this time. I would have to write something. There is software support for multi-drive concurrent burning on linux, one of which has a Qt GUI: there are several sourceforge progects, but they are in source form only (tarballs which you must compile). Just to go sf.net and search for the word duplicator. There is a duplicator/printer for the Mac from mediasupply.com.

I put in a request at the cdrtfe project at sourceforge.net to come up with a multi-drive, parallel-process duplicator version. who knows, maybe it will happen.

IDE is not your friend if you want to put multiple drives on one cable/channel. SATA is your friend. at the very least, the idea is to have multiple channels going.

IDE treats both drives on 1 cable as if it were a single drive, alternating between drives to send data to them (only 1 drive can be selected at a time). SATA I think considers itself to be one channel per cable.

windows like separate channels for drives - it can parallelize that. you also want as many cores as you can get and a fast CPU, opticmally, at least as many cores as you have drives.

one option is a 4-port SATA card and a beefy PSU. you COULD have an IDE or mmulti-channel IDE and mix and match with as many SATA as you want, but I wouldn't put 2 IDE's on 1 IDE channel because there might be bandwidth & alternation problems.

I will try to update this if I see something pre-built that is Open Source Software for Windows becomes available. There is a Mac solution from MediaSupply for disc duplication and inkjet printing, for those who can't wait.

the box

There is no guarantee that this idea will work, and it can cost somewhere around $3000 for a machine.

  • the optical drives drives cost minimum $39×numopticaldrives (for a good dvd) and max $179×numopticaldrives (blu-ray).
  • the PSU upgrade will be $180-300 total to an Antec 80 plus certified 1200W (so get a 1200W)
  • i7-980x 3.33GHz or the 4.5GHz (which is even better, provided you can build a system around that), or AMD Phenom II X6 3300MHz
  • 5 optical drives (blu-ray burners) and one or two cards
  • NVidia Geforce GTX470 video card
  • The hard disk should be a 10,000rpm or 7200rpm drive, or a RAID striped system you are reading from
  • 12GB-16GB RAM minimum, assuming a 64-bit system.

is this build a project for me?

with IDE you can burn out a channel or drive or both if you connect it up-side-down and the cable has no polarizing stuff on the connectors to make it go in only one way.

linux duplicator software (usually source tarballs)
turbojet cd/dvd duplicator, available from sf.net $free
Duplicate ISO, available from sf.net $free
BurnBots, available from sf.net $free
requires licensed version of Nero. control of common duplicators from Primera, Cedar, and others.
windows burning software
cdrtfe, available from sf.net $free
can be made to burn multiple drives at once I'm sure through batch files. basically is windows port of cdrtools executables with a GUI wraparound executable "shell".
Mac duplicators
see collection of hw/software solutions from mediasupply, available from mediasupply.com $1379-$12950
no mac included