фильтра является XCD DirectShow filter/NSIS installer от Alex Noe и DeXT, который может быть найден по следующему адресу: http://peque.homeftp.org/~dext/xcd/riff-cdxa-filter-test6b- nsis.zip. Другой путь заключается в использовании программного обеспечения, игнорирующего 'лишний' заголовок (например, Freecom Beatman CD/MP3 Player, см: http://www.vnunet.com/Print/1129594).
Сеанс практической магии в MODE 2
Среди программ, поддерживающих запись диска в режиме MODE 2, в первую очередь следует выделить утилиту CDRWin, пользующуюся неизменной любовью профессионалов. Это — чрезвычайно мощный инструмент, возможности которого ограничены лишь фантазией пользователя, выполняющего запись. Самую свежую версию программы можно скачать, в частности, отсюда: http://www.goldenhawk.com/download_body.htm. Кроме того, пригодится и консольная версия программы, управляемая из командной строки, которая также имеется на сайте http://www.goldenhawk.com.
Процесс прожига диска мы начнем с подготовки исходного файла. Первым и единственным предъявляемым к нему требованием будет выравнивание его длины до целого количества секторов. Пусть длина файла равна 777 990 272 байтам, тогда, чтобы уложиться в целое число 2336-байтных секторов, мы должны либо отрезать 1824 байта от конца файла, либо дописать к нему 512 нулей. Аудио- и видеофайлы безболезненно переносят как усечение своего тела, так и мусор в хвосте. Обе этих операции можно осуществить в любом НЕХ-редакторе, например, HIEW (http://www.softpedia.com/get/Programming/File-Editors/Hiew.shtml). Усечение файлов выполняется очень просто. Открываем файл, запускаем стандартный Windows-калькулятор и, перейдя в инженерный режим, переводим десятичную длину файла в шестнадцатеричный формат: 777990272 - 1824 <ENTER> 777988448 <F5> 2E5F2960
(обычным шрифтом набраны символы, набираемые на клавиатуре, а жирным — ответ калькулятора). Возвращаемся в HIEW, нажимаем <F5>, вводим полученное число (в данном случае: 2E5F2960
) и, подтвердив серьезность своих намерений клавишей <ENTER>, последовательно нажимаем <F3>, <F10> и, наконец, <Y>. Соответственно, заполнение хвоста файла нулями осуществляется так: одновременным нажатием на <Ctrl>+<End> мы перемещаемся в конец файла, а клавишей <F3> переходим в режим редактирования. Теперь дополняем файл нужным количеством нулей. На практике усекать файл намного удобнее, чем расширять. Тот килобайт, который мы от него отрежем, не составит и секунды звучания, поэтому данной потерей легко можно пренебречь.
Переходим ко второму этапу — созданию файла cue sheet, содержащего всю информацию о структуре прожигаемого образа. Типичный файл cue sheet должен выглядеть приблизительно так, как показано в листинге 10.7.
Листинг 10.7. Типичный пример реализации файла cue-sheet
FILE 'my_file.dat' BINARY
TRACK 1 MODE2/2336
INDEX 1 00:00:00
Здесь my_file.dat
— имя записываемого на диск файла, TRACK 1
— номер трека, MODE2/2336
— режим записи, a INDEX 1
— номер индекса внутри файла. Подробнее о синтаксисе файлов cue sheet можно прочесть в документации, прилагаемой к CDRWin.
Вставляем диск CD-R/CD-RW в привод, запускаем CDRWin, нажимаем кнопку Load Cuesheet и указываем путь к только что сформированному файлу. Дождавшись завершения его компиляции, нажимаем кнопку Record Disk, предварительно убедившись, что галочка у опции Raw Mode сброшена (рис. 10.18). Вот, собственно говоря, и все. Несмотря на то, что размер исходного файла намного превышает заявленную емкость диска, процесс прожига протекает без каких-либо проблем.
Рис. 10.18. Запись 800/900 Мбайт диска в режиме MODE 2 средствами CDRWin. Исходные данные могут быть представлены в любом формате, однако штатными средствами операционной системы такой диск не поддерживается
Однако попытка просмотра оглавления только что записанного диска штатными средствами операционной системы ни к чему хорошему не приводит, и нас пытаются убедить в том, что данный диск пуст. Но ведь это не так! Запускаем CDRWin, выбираем Extract Disc/Tracks/Sectors to Image File, и в окне Track Selection видим наш трек TRACK 1 (рис. 10.19). Хотите его проиграть? Установите переключатель Select Track, а в группе Reading Options сбросьте флажок RAW (если этого не сделать, содержимое трека будет читаться в сыром режиме, с перемешиванием полезных данных с заголовками, что никак не входит в наши планы). Выбираем трек, который требуется извлекать, и, выбрав номинальную скорость чтения, нажимаем кнопку START (чтение трека, записанного в MODE 2 на максимальной скорости, зачастую приводит к многочисленным ошибкам).
Рис. 10.19. Чтение диска, записанного в MODE 2 средствами CDRWin, путем предварительного копирования одного или нескольких треков на винчестер
Вернув файлу его законное расширение (которое рекомендуется записывать на коробке диска фломастером, так как в процессе записи оно необратимо теряется), запускаем любой другой аудио- или видеопроигрыватель и наслаждаемся.
При желании процесс извлечения файла можно автоматизировать, воспользовавшись утилитой SNAPSHOT.EXE из пакета консольной версии программы CDRWin. Используя утилиту MAKEISO.EXE, поставляемую вместе с CDRWin, создайте один легальный трек, записанный в формате MODE 1/ISO 9660 и содержащий командный файл для автоматического извлечения выбранного пользователем трека MODE 2. Подробное описание этого процесса вы найдете в сопроводительной документации к программе CDRWin. Минимальные навыки программирования вам также не помешают.
Сеанс практической магии в Video CD
Для записи файлов DivX/MP3 в формате Video CD нам понадобится утилита MODE 2 CD MAKER, бесплатную копию которой можно найти здесь: http://es.geocities.com/dextstuff/mode2cdmaker.html. Если командная строка вызывает у вас уныние (a MODE 2 CD MAKER — это утилита командной строки), воспользуйтесь специальной графической оболочкой, найти которую можно по следующему адресу: http://cs.geocities.com/dextstuff/mode2cdmaker.html.
Интерфейс программы прост и вполне традиционен: вы перетаскиваете мышью записываемые файлы в окно UbiK mode2cdmaker GUI (рис. 10.20) или нажимаете кнопку Add Files. Индикатор в нижней части этого окна отображает использованный объем. По умолчанию программа использует режим MODE 2 FORM 1 (2048 байт на сектор), и для перехода на MODE 2 FORM 2 (2324 байта на сектор) необходимо нажать кнопку Set/Unset Form 2.
Рис. 10.20. Запись 800/900-мегабайтного диска Video CD средствами MODE 2 CD MAKER. При наличии установленных фильтров RIFF/CDXA такой диск вполне корректно поддерживается операционной системой