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