Ошибка ввода / вывода при чтении определенных 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, перейдите в меню "Медиа", нажмите "Открыть диск".
В следующем диалоге выберите SVCD/VCD и введите ваш диск /dev-узел (/dev/sr0, если я правильно вижу в вашем вопросе).