Ошибка ввода / вывода при чтении определенных VCD, которые хорошо воспроизводятся в Windows в той же системе

Это раздражающая проблема в Ubuntu 12.04/12.10/13.04, из-за которой я не могу воспроизвести определенные VCD-диски. Это не проблема отсутствующего кодека или зашифрованного содержимого - возникает ошибка ввода-вывода.

Ну, я подозревал, что VCD может иметь физические повреждения. Но нет, на самом деле это не так, он хорошо играет в Windows 7, и проблема сохраняется даже в свежих VCD.

Теперь позвольте мне дать некоторую основную информацию:

В частности, в каталоге / mpegav находятся 3 *.dat файла.

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

Первые два файла воспроизводятся или копируются успешно без каких-либо ошибок, в то время как последний вызывает ошибку ввода-вывода.

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

При копировании файла с помощью обычной команды cp возникает ошибка ввода-вывода. Установка sudo до cp ничего не меняет.

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

Теперь еще раз попробуйте с командой dd. Он создает выходной файл только 1,7 МБ.

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

Перед выполнением всех этих команд я вручную смонтировал файл VCD.

theo@theo-desktop ~ $ sudo mount -t iso9660 /dev/sr0 VCD1
mount: block device /dev/sr0 is write-protected, mounting read-only

Доступ к файлам из точки монтирования по умолчанию /media/theo/VideoCD приводит к тому же самому.

Просто чтобы подчеркнуть, что это свежий VCD, без физических повреждений и прекрасно воспроизводит / копирует в Windows.

В то время как другое определенное количество VCD имеет только один файл *.dat в своем каталоге mpegav (особенно в части 2, в которой нет заголовка /intros и т. Д.), Он воспроизводит / копирует без каких-либо ошибок в Ubuntu.

Это очень беспокоит меня, почему он не будет играть в Linux, в то время как он хорошо играет в Windows. Я не хочу оставлять Windows только для воспроизведения VCD. У меня есть очень большая коллекция VCD-дисков, которые я не могу здесь воспроизвести или воспроизвести.

И эта проблема осталась нерешенной с января, смотрите здесь: Ubuntu 12.10 Cannot Play VCD

2 ответа

Я знаю, что это немного старый вопрос. Я искал с той же проблемой для моего друга установить mplayerпопробуйте это, чтобы показать, сколько треков

mplayer vcd://

тогда это будет в основном второй трек или третий, я использую эту команду для запуска VCD

mplayer -fs -vo gl2 vcd://2 

на двух дорожке VCD

-fs #show full screen
-vo gl2 #choose video output driver
vcd://  #play VCD

для дополнительной проверки man-страниц mplayer

Благодаря этому посту на Ubuntuforums от TheFu

Вероятно, причина в том, что вы обращаетесь к файлам VCD вместо прямого доступа к диску. Короче говоря, VCD использует меньше коррекции ошибок, чем обычный CD с данными, и полагается на отказоустойчивость используемого видеокодека, поэтому весьма вероятно, что файлы получат ошибки во время записи и не смогут быть скопированы с VCD впоследствии, но при воспроизведении работает без проблем, если к диску обращаются соответствующим образом. Подробнее о видео компакт-дисках читайте в статье в Википедии и в главе руководства mplayer.

Я бы порекомендовал вам вместо того, чтобы монтировать диск и получать доступ к файлам через файловую систему, непосредственно начинать воспроизведение vcd с помощью плеера, способного обрабатывать видеодиски, такие как mplayer или VLC. Чтобы сделать это в VLC, либо запустите vlc vcd:// или откройте VLC GUI, перейдите в меню "Медиа", нажмите "Открыть диск".

VLC медиа меню

В следующем диалоге выберите SVCD/VCD и введите ваш диск /dev-узел (/dev/sr0, если я правильно вижу в вашем вопросе).

Диалог Открытого диска VLC

Другие вопросы по тегам