This is an annoying problem in Ubuntu 12.04/12.10/13.04 that I can't play a certain VCDs. This is not a missing codec or encrypted content issue - It raises an I/O error.
Well, I suspected the VCD might have physical damages. But no, it is actually not, it plays well in Windows 7 and the problem persists even in fresh VCDs.
Now let me give some very basic information:
In particular there are 3 *.dat files in the /mpegav directory.
theo@theo-desktop ~/VCD1/mpegav $ ls -l -h
total 660M
-r-------- 1 theo theo 2.5M Jun 6 2007 avseq01.dat
-r-------- 1 theo theo 3.4M Jun 6 2007 avseq02.dat
-r-------- 1 theo theo 654M Jun 6 2007 avseq03.dat
The first two files are played or copied successfully without any error while the last one raises an I/O error.
theo@theo-desktop ~/VCD1/mpegav $ vlc avseq03.dat
VLC media player 2.0.4 Twoflower (revision 2.0.3-289-g6e6100a)
[0x11a2028] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
"sni-qt/5685" WARN 22:03:44.080 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE
[0x7f9944001488] filesystem access error: failed to read (Input/output error)
[0x7f99440015d8] main stream error: cannot pre fill buffer
While copying the file using usual cp command, an I/O error is raised. Putting a sudo before cp doesn't change anything.
theo@theo-desktop ~/VCD1/mpegav $ cp avseq03.dat test.dat
cp: cannot create regular file `test.dat': Read-only file system
theo@theo-desktop ~/VCD1/mpegav $ cp avseq03.dat ~/test.dat
cp: reading `avseq03.dat': Input/output error
cp: failed to extend `/home/theo/test.dat': Input/output error
Now another try with dd command. It does create a output file of 1.7MB only.
theo@theo-desktop ~/VCD1/mpegav $ dd if=/dev/sr0 of=~/Desktop/VCD1.iso
dd: reading `/dev/sr0': Input/output error
3232+0 records in
3232+0 records out
1654784 bytes (1.7 MB) copied, 1.50804 s, 1.1 MB/s
Before issuing all these commands I manually mounted the VCD file.
theo@theo-desktop ~ $ sudo mount -t iso9660 /dev/sr0 VCD1
mount: block device /dev/sr0 is write-protected, mounting read-only
Accessing the files from default mountpoint /media/theo/VideoCD results in the very same thing.
Just to emphasise the point that this is a fresh VCD, no physical damages and plays/ copies perfectly in Windows.
While another certain number of VCDs has only one *.dat file in their mpegav directory, (specially in the part 2, which doesn't have title/intros etc), plays/ copies without any error in Ubuntu.
This disturbs me very much why it'd not play in linux while it plays well in Windows. I don't want to keep Windows only for playing VCDs. I do have a very large collection of VCDs which I can't play or rip here.
And this same problem remained unresolved since January, see here: ubuntu 12.10 Cannot Play VCD

