072: Emulatress

Noun – emulatress (plural emulatresses) – A female who emulates.

Part or all of this entry has been imported from the 1913 edition of Webster’s Dictionary, which is now free of copyright and hence in the public domain. The imported definitions may be significantly out of date, and any more recent senses may be completely missing.

I must make it a habit to document my winning commands. I’ve been struggling for ages to make a digital copy (for personal use!) of Howl’s Moving Castle. All my ripping methods seem to fail. The obvious “vobcopy -l” just hangs (later I made some breakthroughs), Brasero throws an I/O error and dies at about 60%, dvdrip suffers from a similar problem, ddrescue was helpless … I was tearing my hair out with each new setback.

I only tried Brasero last night, not expecting much, and ddrescue is not a utility that I put much hope in. As for dvdrip, what I can do with that GUI I can do just as efficiently with the back-ends (or similar).

I concentrated my firepower on dd. I had a feeling that would save me. My idea was a two-step deployment: one, image the DVD (which was either damaged or rigged to appear that way, throwing off potential copying attempts); two, extract the videos from the copy on the hard drive.

At one point I made a proud breakthrough with vobcopy (turns out -b is rather useful. There was a half-second-or-so corrupted – I think – dead zone in the DVD between the zeroth and first seconds that made vobcopy choke 9 times out of 10. The ONE time it got past, I celebrated; but VLC then choked on the resulting file, by extending that dead zone into two or three minutes of black screen which I could only pass through by seeking forward, then backward by the right amount. The -b option allowed me to bypass that zone when ripping.) Well, surprise surprise, at about 60% it just hung there.

I went back to dd like my gut told me to.I first tried

dd if=/dev/cdrom bs=2048 count=3801920 conv=notrunc,noerror of=howl.iso

Exactly as the linked page suggested. Eventually this got stuck:

“155718+0 records in / 155718+0 records out / 318910464 bytes (319 MB) copied, 2643.94 s, 121 kBs”

displaying that line repeatedly with time incrementing and read rate decrementing.

The winning command?

dd if=/dev/cdrom bs=2048 count=3801920 conv=sync,noerror of=howl.iso

That sync option did it – sync and noerror together signal dd to continue reading no matter what. This became especially important over that I/O error at about 60%; whereas the previous command sat there for hundreds of seconds trying to correct the error, the winner just zipped past it.

From “dd: reading `/dev/cdrom’: Input/output error / 155718+0 records in / 155718+0 records out / 318910464 bytes (319 MB) copied, 292.893 s, 1.1 MB/s,” dd went on to throw more I/O errors while steadily incrementing the copied bytes counter. I threw a happy fit. This carried on heavily long after I was asleep (I glimpsed the little green read light on the drive flashing before I dropped off), but i checked the output this morning. The last of it:

“dd: reading `/dev/cdrom’: Input/output error
156050+383 records in
156433+0 records out
320374784 bytes (320 MB) copied, 6855.27 s, 46.7 kB/s
3801536+384 records in
3801920+0 records out
7786332160 bytes (7.8 GB) copied, 9730.56 s, 800 kB/s”

VICTORY. At long last, my hard-fought battle had ended in my victory.

Running “vobcopy -l -i howl.iso” (bad habit of operating in my home directory – maybe I should break that) monkey-wrenched me that dead zone again, so I used the other important shenanigan. The winner:

vobcopy -l -b 7390k -i howl.iso

Note the divisibility of 7390 by 13. Heh.




Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s