FreeBSD Kernel patches for read CD at VIDEO-CD format via vcdread utility or directly from linux-mtv (/usr/ports/graphics/mtv)

Originally written by Luoqi Chen for 2.2.7[8]/3.0[1-2] FreeBSD Release and adopted vvm and lavr for FreeBSD 4.x.

I do not guarantee reliability, stability and security. This patches work for me well on all my workstations. See readme from tar-ball archive for setup and use.

PS. Please don't use it on Servers.

Патчи для FreeBSD 4.x, стабильность и прочее... НЕ ГАРАНТИРОВАНО.

Патчи для FreeBSD 4.x(ATAPI CD(EIDE)). Примечание(lavr): у меня работает на всех машинах от 4.0 до 4.4-RELEASE. Да, в портах Xine используется другой патч, thx Uwe за пинание Soren'а. В любом случае посмотрите внимательно ваш вариант ядра и при расхождениях вставьте их by hand. Понятно, что после установки патчей, необходимо пересобрать ядро. download сами патчи эти патчи портированы Валерием Мициным на основе известных патчей Luoqi, добавлен ioctl для чтения videocd в драйвер ata и эмулятор linux_ioctl. Те же патчи для 4.2[3]-Stable. Патчи для 4.4-RELEASE, используется только FreeBSD ioctl updated 15.12.2001 чуточку окультуренная утилита vcdread updated 15.12.2001 Примечание: отличий от предыдущих нет, только не забудьте заменить оригинальные хедеры /usr/include/sys/cdio.h на те что в патчах. Патчи для 4.5-Stable FreeBSD updated 07.05.2002 Примечание: для 4.5-Stable нужно лишь применить патчи и пересобрать ядро, и можно использовать vcdread или работать с VCD дисками прямо из mtv плейера. Установка: положите их в директорию /sys и затем выполните команду patch < path-file Install Patches: cd /sys cp /path/patch* . sh for i in `ls patch*` do patch < "$i" done cp /usr/include/sys/cdio.h /usr/include/sys/cdio.h.orig cp /sys/sys/cdio.h /usr/include/sys/cdio.h exit Recompile Kernel with installed patches: cd /sys/i386/conf для работы aviplay и mplayer добавьте в ваше ядро строки: options USER_LDT options CPU_ENABLE_SSE config YOURKERNEL cd ../../compile/YOURKERNEL make depend make make install применение: - vcdread для чтения videocd на stdout 1. или vcdread -f /dev/racd0c "номер трека" > filename или 2. vcdread -f /dev/racd0c "номер трека" | mtv -p - - чтение дисков videocd из mtv: 1. изменения на ваш вкус: - chmod 644 /dev/racd0c (cdrom raw device) или - добавить в /etc/fbtab -> пример: ------------------------ /etc/fbtab --------------------------------------- /dev/ttyv0 0600 /dev/console:/dev/pcaudio:/dev/pcaudioctl:/dev/smb0:/dev/iic0 /dev/ttyv0 0660 /dev/racd0c ... --------------------------------------------------------------------------- для всех НУЖНЫХ вам виртуальных терминалов, чтобы был доступ к устройству CD-ROM 2. для желающих: cd /dev; ln -s acd0c cdrom0 3. вставить в cdrom диск в формате videocd :))) 4. запустить mtv и попросить сыграть содержимое VCD диска, далее по вкусу: смотреть или сохранить как файл формата mpg Примечание: можно не применять патчи для linux_ioctl, но тогда mtv не будет читать диски формата VideoCD, однако вполне можно использовать утилиту vcdread для чтения сырого формата CD на стандартный вывод или перенаправить в файл, или потоком на mtv. Итог: Два варианта установки и использования патчей: - установка ВСЕХ патчей и два варианта использования: mtv и vcdread - установка патчей только для BSD и использование только vcdread Сохранение в формате MPEG, тут возможны ньюансы, если затем вы задумаете преобразовать mpg -> avi с кодеком divx, то необходимо чтобы формат MPEG файла был _чистым_ - правильным, возможно его придется отстриповать с помощью утилиты vcdgear. Файлы с расширением .dat содержат дополнительную, специфическую информацию в отличие от .mpg или .mpeg, не стоит сразу доверять названию расширения, проверьте начальные заголовки ваших MPEG файлов, как расписано ниже. примеры заголовков, те начало файла mpeg: правильный отстрипованный формат mpeg: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...╨!...A─.▒...╩. ─.▒.АЪЮЮ....СЪ.ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ те кто возился с mp3/mpg сразу увидят знакомые заголовки музыки сжатой в mp3 :) иногда mtv сохраняет mpeg с пустотами, как например: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ просто запускаем vcdgear -fix -mpg2mpg исходный_файл результат. и осталось показать как выглядит начало DAT (mpeg со спец.информацией): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RIFFд╣`%CDXAfmt ........1.XA........data═╣`%.ЪЪЪЪЪЪЪЪЪЪ...0...b...b....╨!...A─.▒ ...╩. ─.▒.АЪЮЮ....С.ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ запускаем vcdgear -fix -dat2mpg исходный_файл результат. прим.: не забывайте использовать опцию -fix, уверяю - пригодиДся. :) надеюсь разница видна и сей маленький комментарий кому-нибудь пригодится. Теперь ссылки: за утилитами дальше портов можно не ходить :))) mpeg-стрипер: ------------- [alone]~ > whereis vcdgear vcdgear: /usr/ports/graphics/vcdgear плееры mpg & avi[divx] - mtv и aviplay соответственно: ------------------------------------------------------ [alone]~ > whereis mtv /usr/ports/graphics/mtv [alone]~ > cd /usr/ports/graphics/mtv [alone]/usr/ports/graphics/mtv > make && make install [alone]~ > whereis avifile avifile: /usr/ports/graphics/avifile [alone]~ > cd /usr/ports/graphics/avifile [alone]/usr/ports/graphics/avifile > make && make install AVIPLAY - проигрыватель MPEG-4[DIVX] работает и под всеми 4.x и последними 3.x[5/stable - точно], с ним идет avirecompress Имейте ввиду, установка avifile потянет за собой установку массы библиотек из портов, установка QT займет много времени. Для работы aviplay необходимо пересобрать ядро с поддержкой Wine, если у вас это не сделано. #--lavr WINE Emulator options USER_LDT # в портах FreeBSD есть шикарный видео-плейер: mplayer [unix1]~ > cd /usr/ports/graphics/mplayer [unix1]/usr/ports/graphics/mplayer > make && make install [unix1]/usr/ports/graphics/mplayer > В ядро имеет смысл добавить: #--lavr CPU enables SSE/MMX2 instructions support options CPU_ENABLE_SSE PS. Возможно имеет смысл скачать свежие версии avifile или mplayer # cd /usr/ports/graphics/ # mv avifile avifile.old # mv mplayer mplayer.old # wget -Y off -t 0 -c -r --cut-dirs=6 -nH ftp://ftp.FreeBSD.org/pub/FreeBSD/branches/-current/ports/graphics/avifile # wget -Y off -t 0 -c -r --cut-dirs=6 -nH ftp://ftp.FreeBSD.org/pub/FreeBSD/branches/-current/ports/graphics/mplayer А это архив автора где можно взять патчи VideoCD для старых систем, начиная с FreeBSD 2.6, 2.7, 2.8, 3.0 -- lavr / Andrey Lavrentyev