3.7. Воспроизведение VCD
Полный список возможных опций можно прочитать в man. Синтаксис для обычного Видео-CD (VCD):
mplayer vcd://<дорожка>
[-cdrom-device<устройство>
]
Пример:
mplayer vcd://2 -cdrom-device /dev/hdc
Устройство VCD по умолчанию — /dev/cdrom. Если Ваши настройки отличаются, создайте символическую ссылку добавьте правильное название в командной строке после опции -cdrom-device.
Замечание
По крайней мере Plextor'ы и некоторые Toshiba SCSI CD-ROM приводы показывают
ужасную производительность при чтении VCD'ов. Это объясняется тем, что
CDROMREADRAW ioctl
на этих приводах реализован не полностью.
Если Вы имеете некоторые познания в сфере программирования SCSI, пожалуйста
помогите нам в написании поддержки
SCSI generic для VCD.
В настоящий момент Вы можете извлечь данные с VCD, используя readvcd, и воспроизвести получившийся файл MPlayer 'ом.
Структура VCD. VCD составлен из секторов CD-ROM XA, т.е. дорожек CD-ROM mode 2 form 1 и form 2:
Первая дорожка записана в mode 2 form 2 формате, что, в частности, означает использование коррекции ошибок L2. Дорожка содержит файловую систему ISO-9660 с секторами по 2048 байт. Там содержатся метаданные VCD, и картинки, часто использующиеся в меню. Здесь также могут храниться фрагменты MPEG для меню, но каждый из них должен быть разбит на кусочки по 150 секторов. Еще файловая система может хранить файлы или программы, не имеющие отношения к работе с VCD.
Вторая и остальные дорожки содержат MPEG-поток секторами по 2324 байта, по одному пакету MPEG PS на сектор вместо файловой системы. Это дорожки в формате mode 2 form 1 и хранят больше информации на один сектор за счет потери возможности некоторой коррекции ошибок. После первой дорожки также допустимо присутствие дорожки CD-DA. В некоторых ОС используются различные трюки, чтобы сделать эти не-ISO-9660 дорожки видимыми в файловой системе. Но Linux — это не тот случай (пока). Здесь MPEG данные не могут быть смонтированы. (Вы когда-нибудь монтировали аудио диск для того, чтобы его воспроизвести?) Так как большинство фильмов находится именно на таких дорожках, попробуйте сначала vcd://2.
Существуют VCD диски без первой дорожки (единственная дорожка без файловой системы). Они проигрываются, но не монтируются.
Описание стандарта Video CD называется Philips "White Book" и, как правило, недоступна в онлайн, т.к. должна приобретаться у Philips. Более подробная информация о Video CD может быть найдена в документации vcdimager.
Про файлы .DAT. Файл примерно в 600 мегабайт на первой дорожке не настоящий! Это так называемый ISO-переход, созданный, чтобы позволить Windows обрабатывать эти дорожки (Windows вообще запрещает приложениям использовать прямой доступ к устройствам). Под Linux Вы не можете копировать эти файлы (они выглядят, как мусор). Под Windows это возможно, поскольку там iso9660 эмулирует прямой доступ к дорожкам через этот файл. Чтобы проигрывать .DAT файл Вам нужен драйвер, из Linux версии PowerDVD. Это модифицированный драйвер iso9660 файловой системы (vcdfs/isofs-2.4.X.o), который способен эмулировать прямой доступ к дорожкам через этот файл. Если Вы замонтируете диск, используя их драйвер, Вы можете копировать и даже проигрывать .DAT файлы MPlayer'ом. Но это не будет работать со стандартным драйвером iso9660 из ядра Linux! Используйте вместо этого vcd://. Альтернативами для копирования VCD может послужить новый драйвер cdfs (не входит в официальное ядро) который показывает дорожки[сессии] на диске как файлы образов и cdrdao, приложение для побитового чтения/копирования CD.