]> pere.pagekite.me Git - homepage.git/blob - blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html
Generated.
[homepage.git] / blog / Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Ripping problematic DVDs using dvdbackup and genisoimage</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/vim.css" />
9
10
11 </head>
12 <body>
13 <div class="title">
14 <h1>
15 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
16
17 </h1>
18
19 </div>
20
21
22 <div class="entry">
23 <div class="title">Ripping problematic DVDs using dvdbackup and genisoimage</div>
24 <div class="date">17th September 2011</div>
25 <div class="body"><p>For convenience, I want to store copies of all my DVDs on my file
26 server. It allow me to save shelf space flat while still having my
27 movie collection easily available. It also make it possible to let
28 the kids see their favourite DVDs without wearing the physical copies
29 down. I prefer to store the DVDs as ISOs to keep the DVD menu and
30 subtitle options intact. It also ensure that the entire film is one
31 file on the disk. As this is for personal use, the ripping is
32 perfectly legal here in Norway.</p>
33
34 <p>Normally I rip the DVDs using dd like this:</p>
35
36 <blockquote><pre>
37 #!/bin/sh
38 # apt-get install lsdvd
39 title=$(lsdvd 2>/dev/null|awk '/Disc Title: / {print $3}')
40 dd if=/dev/dvd of=/storage/dvds/$title.iso bs=1M
41 </pre></blockquote>
42
43 <p>But some DVDs give a input/output error when I read it, and I have
44 been looking for a better alternative. I have no idea why this I/O
45 error occur, but suspect my DVD drive, the Linux kernel driver or
46 something fishy with the DVDs in question. Or perhaps all three.</p>
47
48 <p>Anyway, I believe I found a solution today using dvdbackup and
49 genisoimage. This script gave me a working ISO for a problematic
50 movie by first extracting the DVD file system and then re-packing it
51 back as an ISO.
52
53 <blockquote><pre>
54 #!/bin/sh
55 # apt-get install lsdvd dvdbackup genisoimage
56 set -e
57 tmpdir=/storage/dvds/
58 title=$(lsdvd 2>/dev/null|awk '/Disc Title: / {print $3}')
59 dvdbackup -i /dev/dvd -M -o $tmpdir -n$title
60 genisoimage -dvd-video -o $tmpdir/$title.iso $tmpdir/$title
61 rm -rf $tmpdir/$title
62 </pre></blockquote>
63
64 <p>Anyone know of a better way available in Debian/Squeeze?</p>
65
66 <p>Update 2011-09-18: I got a tip from Konstantin Khomoutov about the
67 readom program from the wodim package. It is specially written to
68 read optical media, and is called like this: <tt>readom dev=/dev/dvd
69 f=image.iso</tt>. It got 6 GB along with the problematic Cars DVD
70 before it failed, and failed right away with a Timmy Time DVD.</p>
71
72 <p>Next, I got a tip from Bastian Blank about
73 <a href="http://bblank.thinkmo.de/blog/new-software-python-dvdvideo">his
74 program python-dvdvideo</a>, which seem to be just what I am looking
75 for. Tested it with my problematic Timmy Time DVD, and it succeeded
76 creating a ISO image. The git source built and installed just fine in
77 Squeeze, so I guess this will be my tool of choice in the future.</p>
78 </div>
79
80 <div class="tags">Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.</div>
81
82
83 </div>
84
85
86
87
88 <div id="sidebar">
89
90
91
92 <h2>Archive</h2>
93 <ul>
94
95 <li>2013
96 <ul>
97
98 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
99
100 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
101
102 </ul></li>
103
104 <li>2012
105 <ul>
106
107 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
108
109 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
110
111 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
112
113 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
114
115 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
116
117 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
118
119 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
120
121 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
122
123 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
124
125 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
126
127 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
128
129 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
130
131 </ul></li>
132
133 <li>2011
134 <ul>
135
136 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
137
138 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
139
140 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
141
142 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
143
144 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
145
146 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
147
148 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
149
150 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
151
152 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
153
154 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
155
156 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
157
158 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
159
160 </ul></li>
161
162 <li>2010
163 <ul>
164
165 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
166
167 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
168
169 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
170
171 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
172
173 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
174
175 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
176
177 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
178
179 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
180
181 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
182
183 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
184
185 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
186
187 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
188
189 </ul></li>
190
191 <li>2009
192 <ul>
193
194 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
195
196 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
197
198 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
199
200 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
201
202 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
203
204 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
205
206 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
207
208 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
209
210 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
211
212 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
213
214 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
215
216 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
217
218 </ul></li>
219
220 <li>2008
221 <ul>
222
223 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
224
225 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
226
227 </ul></li>
228
229 </ul>
230
231
232
233 <h2>Tags</h2>
234 <ul>
235
236 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
237
238 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
239
240 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
241
242 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
243
244 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (6)</a></li>
245
246 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (12)</a></li>
247
248 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
249
250 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (70)</a></li>
251
252 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (119)</a></li>
253
254 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (9)</a></li>
255
256 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (7)</a></li>
257
258 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
259
260 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (180)</a></li>
261
262 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
263
264 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
265
266 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (10)</a></li>
267
268 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (9)</a></li>
269
270 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (33)</a></li>
271
272 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (5)</a></li>
273
274 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (18)</a></li>
275
276 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
277
278 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (6)</a></li>
279
280 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
281
282 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
283
284 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (223)</a></li>
285
286 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (149)</a></li>
287
288 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (7)</a></li>
289
290 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
291
292 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (42)</a></li>
293
294 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (64)</a></li>
295
296 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
297
298 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
299
300 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
301
302 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (6)</a></li>
303
304 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
305
306 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
307
308 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
309
310 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (29)</a></li>
311
312 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
313
314 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
315
316 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (40)</a></li>
317
318 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
319
320 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (6)</a></li>
321
322 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (15)</a></li>
323
324 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
325
326 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (7)</a></li>
327
328 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (35)</a></li>
329
330 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
331
332 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (26)</a></li>
333
334 </ul>
335
336
337 </div>
338 <p style="text-align: right">
339 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
340 </p>
341
342 </body>
343 </html>