man mkisofs: -l : Allow full 31 character filenames. Normally
the ISO9660 file- name will be in an 8.3 format which is
compatible with MS-DOS, even though the ISO9660 standard
allows filenames of up to 31 characters. If you use this
option, the disc may be difficult to use on a MS-DOS system,
but this comes in handy on some other systems (such as the
Amiga). Use with caution.
to reduce chance of being caught, but that is not always
sufficient. Detail below.
If one attempts to recover data off a damaged DVD, to copy to
better media, one can hit a problem:
vobcopy by default generates long names ,
(much longer .vob names than in the original cd9660 mountable
"UDF filesystem data (version 1.5)", (long names derive from
title of dvd. After mkisofs builds a .iso from them, it plays
out of order (with mplayer & vlc ), (& "mplayer
xx.iso" & "mplayer DVDVOLUME1-4.vob" start at same wrong
place half way through).
Analysis of a bad image:
mdconfig -a -t vnode -f mkisofs.starts_in_middle.iso
mount -t cd9660 /dev/md0 /mnt
cd /mnt
find . -type f -print
./video_ts/DVDVOLUME1-4.vob
./video_ts/DVDVOLUME1-3.vob
./video_ts/DVDVOLUME1-2.vob
./video_ts/DVDVOLUME1-1.vob
Error wont always show up eg if a directory (could be on DVD
or hard disc) has .vobs created in a new directory in
inverted alphabetic order, so when mkisofs assembles &
reverses them again they'll come out right. See also
http://www.berklix.com/~jhs/src/bsd/jhs/bin/public/statv/
See order gets reversed on long names:
mkisofs -r -o /tmp/tmp.iso video_ts/*.vob
Using DVDVO000.VOB;1 for /DVDVOLUME1-4.vob (DVDVOLUME1-3.vob)
Using DVDVO001.VOB;1 for /DVDVOLUME1-3.vob (DVDVOLUME1-2.vob)
Using DVDVO002.VOB;1 for /DVDVOLUME1-2.vob (DVDVOLUME1-1.vob)
cd / ; umount /mnt ; mdconfig -d -u 0
One can fix the order manually eg :
mv DVDVOLUME1-1.vob j1.vob
mv DVDVOLUME1-2.vob j2.vob
mv DVDVOLUME1-3.vob j3.vob
mv DVDVOLUME1-4.vob j4.vob
mkisofs -r -o /tmp/fixed.iso j*.vob
It's better to avoid long names from
vobcopy, by use of eg "
vobcopy -t xx".
MKISOFS Test
Script