Документация по ОС FreeBSD Четверг, 02.05.2024, 12:17
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Multimedia

FreeBSD-4.x and multimedia
Общая рекомендация для всех карт - выключите в BIOS, "PnP OS Enable". Поддерживаемые карты можно найти в ядре: `cd /sys/dev/sound`
По умолчанию подразумевается что вы не забудете для ISA добавить в ядро:
device isa

а для PCI:

device pci

а для звуковых карт, в случае использования драйвера newpcm, строку:
device pcm

Примечание: прежде чем скачивать драйвера со страниц разработчиков, посмотрите версию вашей системы:

uname -a
и текущие драйвера для звуковых карт, возможно ваша карта уже поддерживается вашим ядром, изучите содержимое:

cd /usr/src/sys/dev/sound - здесь находится sound-driver newpcm
grep "номер_вашего_чипа" */*

или поищите в текстах *.c и *.h

/usr/src/sys/dev/sound/isa - поддерживаемые ISA (PNP)
/usr/src/sys/dev/sound/pcm - AC'97
/usr/src/sys/dev/sound/pci - PCI

cd /usr/src/sys/i386/isa/sound - здесь находится старый VoxWare sound-driver, почитайте имеющиеся там README.

Экспериментальный драйвер для звуковых карт интегрированных в материнскую карту: AC'97 интерфейс Intel 443MX, 810 и 820 чипсетов (возможна работа 815E чипов)
Примечание: уже в FreeBSD 4.4-RELEASE
http://www.katsurajima.seya.yokohama.jp/ich/

Установка:
скачать драйвер с указанной выше страницы: ich.c.gz

# gunzip ich.c.gz
# cp ich.c /usr/src/sys/dev/sound/pci

затем добавить строку в файл: /usr/src/sys/conf/files в районе:

:
dev/sound/pci/csapcm.c optional pcm pci
dev/sound/pci/ds1.c optional pcm pci
dev/sound/pci/emu10k1.c optional pcm pci
dev/sound/pci/es137x.c optional pcm pci
dev/sound/pci/ich.c optional pcm pci
------------------------------------
dev/sound/pci/neomagic.c optional pcm pci
dev/sound/pci/t4dwave.c optional pcm pci
:

добавить строку "device pcm" и пересобрать ЯДРО:

cd /usr/src/sys/i386/conf
config ИМЯ_ЯДРА
cd /usr/src/sys/compile/ИМЯ_ЯДРА
make depend;make;make install

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

Aureal/Vortex
http://www.cis.ohio-state.edu/~matey/au88x0/
Company Soundcard Chipset Tested with this driver
Aureal Inc. SQ1500 Vortex Advantage Yes. Works.
Aureal Inc. SQ2500 Vortex2 Yes. Works.
Diamond Multimedia Monster Sound MX300 Vortex2 Yes. Works.
Diamond Multimedia Sonic Impact S90 Vortex2 Yes. Works.
Digital Research DRSOUNDA3V Vortex2 Yes. Works.
Technologies
Genius Sound Maker 64 Vortex1 Yes. Works.
Hi-Val PCI 338 Vortex1 Yes. Works.
Hi-Val PCI 576 Vortex2 Yes. Works.
I/OMagic MagicWaveV1 Vortex Advantage Yes. Works.
I/OMagic MagicWaveV2 Vortex2 Yes. Works.
Turtle Beach Montego A3D Vortex1 Yes. Works.
Turtle Beach Montego A3D II Vortex2 Yes. Works.
TerraTec Promedia XLerate Vortex1 Yes. Works.
TerraTec Promedia XLerate Pro Vortex2 Yes. Works.
Videologic SonicVortex2 Vortex2 Yes. Works.
Xitel Storm 3D Licensed Yes. Works.
Xitel Storm VX Vortex1 Yes. Works.
Xitel Storm Platinum Vortex2 Yes. Works.

драйвер отныне в /usr/ports/audio/aureal-kmod
PCI-Drives for Sound уже в KERNEL для следующих моделей карт:

Ensoniq1370/71
Neomagic
Trident 4Dwave
Maestro 1/2 в ядре - см. /sys/dev/sound/pci
http://access.cent.saitama-u.ac.jp/~taku/freebsd/maestro/newpcm/readme.html
Maestro 3xxx - http://people.freebsd.org/~scottl/maestro3/

SBLive поддержка в ядре или см.
http://www.defcon1.org/html/Hardware_Articles/PnP_Sound/PnP_Modem/SB-Live5/sb-live4.html
Для PCI звуковых карт (включая SB-Live/PCI) достаточно включить в ядре строку

device pcm
- не забыв про поддержку устройств pci, затем пересобрать ядро, перегрузиться и посмотреть распознало ли новое ядро  вашу звуковую карту:

`dmesg | grep pcm` или `cat < /dev/sndstat`

- если все ok, запустить mixer и посмотреть параметры, или скомпилить mixer на вкус их портов:
aumix/xmix/xmixer/xmmix/...

- если получили в ответ "no such device" - просто создайте их:

cd /dev; ./MAKEDEV snd0 (0,1,... - в зависимости от количества карт)

Примечание: к счастью у меня неразрешимых проблем со звуковыми картами не было: PNP16(ISA), AWE32/64, Ensoniq 1371, Aureal 8820.
Тем у кого ЕСТЬ проблемы с картами поддерживаемыми во FreeBSD сооветую изучить уже указанные ссылки и те что ниже:

Поддержка звуковых карт в ядре посредством двух драйверов:
- старые карты (ISA) поддерживаются драйвером Voxware:

Adlib
SoundBlaster
SoundBlaster Pro
ProAudioSpectrum
Gravis UltraSound
Roland MPU-401 sound cards.

- более современные карты поддерживаются новым драйвером newpcm (включая поддержку старых карт из Voxware):

Advance Asound 100, 110 and Logic ALS120
Crystal Semiconductor CS461x/462x/428x
ENSONIQ AudioPCI ES1370/1371
ESS ES1868, ES1869, ES1879 and ES1888
ESS Maestro-1, Maestro-2, and Maestro-2E
ForteMedia fm801
Gravis UltraSound MAX/PnP
MSS/WSS Compatible DSPs
NeoMagic 256AV/ZX
OPTi 931/82C931
SoundBlaster, Soundblaster Pro, Soundblaster AWE-32, Soundblaster AWE-64
Trident 4DWave DX/NX
VIA Technologies VT82C686A
Yamaha DS1 and DS1e
Ниже список из FreeBSD HandBook
Crystal 4237, 4236, 4232, 4231
Yamaha OPL-SAx
OPTi931
Ensoniq AudioPCI 1370/1371
ESS Solo-1/1E
NeoMagic 256AV/ZX
Sound Blaster Pro, 16, 32, AWE64, AWE128, Live
Creative ViBRA16
Advanced Asound 100, 110, and Logic ALS120
ES 1868, 1869, 1879, 1888
Gravis UltraSound
Aureal Vortex 1 or 2

Примеры конфигурации ядра с поддержкой различных карт в FreeBSD:

Из HandBook (непоятно, почему постоянные вопросы КАК МНЕ ЗАСТАВИТЬ РАБОТАТЬ...)

1. Creative, Advance, and ESS Sound Cards
Creative SB16, SB32, SB AWE64 (including Gold) and ViBRA16
Advance Asound 100, 110 and Logic ALS120
ESS ES1868, ES1869, ES1879 and ES1888
Вариант 1.
Описания KERNEL:
PnP-ISA:
device pcm
device sbc
Вариант 2.
Non-PnP
device pcm
device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15
с вашими port=0xABC и irq=X о сути и значениях flags читайте:
man 4 sbc & man 4 pcm

2. Gravis UltraSound Cards
Вариант 1.
Описания KERNEL:
PnP-ISA:
device pcm
device gusc
Вариант 2.
gusc - Gravis UltraSound ISA bridge device driver
Gravis UltraSound PnP
Gravis UltraSound MAX
Non-PnP
device pcm
device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13
с вашими port=0xABC и irq=X о сути и значениях flags читайте:
man 4 gusc & man 4 pcm

3. Crystal Sound Cards
csa - Crystal Semiconductor CS461x/462x/428x PCI bridge device driver
Описания KERNEL:
device pcm
device csa
man 4 gusc & man 4 pcm

4. PCI Карты поддерживаемые текущим драйвером pcm (newpcm)
Trident 4DWave DX/NX (PCI)
ENSONIQ AudioPCI ES1370/1371 (PCI) [ряд SB PCI-128 выполнен именно на чипах ES1370/1371] ESS Solo-1/1E (PCI)
NeoMagic 256AV/ZX (PCI)
Описания KERNEL:
device pcm

Все! Неправда ли - несложно.

Примечание: вполне возможно что ваша карта сделана на чипсете который поддерживается драйвером, но после генерации и установки нового ядра, карта все равно не распознается. Запишите при загрузке Device-ID и Vendor-ID и поищите в драйверах для вашей карты эти значения, попробуйте добавить ваши, возможно это решит вашу проблему.
Создали свое ядро в файле /sys/i386/conf/MYKERNEL

cd /sys/i386/conf
config MYKERNEL
cd ../../compile/MYKERNEL
make depend
make
make install

- установили новое ядро в систему, после перезагрузки ваша карта должна опознаться, см. dmesg. Если не опозналась - ищите проблему.
Итак карта опознана, осталось создать необходимые устройства, скомпилировать например, mpg123 и проверить работоспособность:

[alone]~ > cat < /dev/sndstat
FreeBSD Audio Driver (newpcm) Feb 27 2001 18:50:32
Installed devices:
pcm0: at memory 0xd9000000 irq 12 (4p/1r channels duplex)
[alone]~ >
или
[unix1]~ > cat < /dev/sndstat
FreeBSD Audio Driver (newpcm) Mar 13 2001 17:30:27
Installed devices: pcm0: &atAUDIOPCI ES1371> at io 0xc400 irq 9 (1p/1r channels duplex)
[unix1]~ >

Карта опознана драйвером и на чем живет и в каком режиме - мы видим.
затем создаем необходимый набор устройств для карты, в зависимости от того как ее опознало ядро - pcm0 или pcm1:

для pcm0
cd /dev
./MAKEDE snd0
для pcm1
cd /dev
./MAKEDE snd1

получаем набор следующих устройств, зависимо от карты и драйвера:

Device Description
/dev/audio SPARC-compatible audio device
/dev/dsp Digitized voice device
/dev/dspW Like /dev/dsp, but 16 bits per sample
/dev/midi Raw midi access device
/dev/mixer Control port mixer device
/dev/music Level 2 sequencer interface
/dev/sequencer Sequencer device
/dev/pss Programmable device interface

Если для вашей карты драйвер поддерживает несколько каналов, то вам необходимо создать соответствующее количество устройст /dev/dspX в соответствии с описанием в драйвере.

Пример:
[alone]~/FreeBSD > ls -la /dev/dsp*
lrwxrwxrwx 1 root wheel 4 Dec 26 2000 /dev/dsp -> dsp0
crw------- 1 lavr sysct 30, 3 Aug 14 18:57 /dev/dsp0
crw------- 1 lavr sysct 30, 0x00010003 Jun 7 13:48 /dev/dsp0.1
crw------- 1 lavr sysct 30, 0x00020003 May 14 19:02 /dev/dsp0.2
crw------- 1 lavr sysct 30, 0x00030003 Jun 24 21:02 /dev/dsp0.3
crw------- 1 lavr sysct 30, 0x00040003 May 14 19:22 /dev/dsp0.4
lrwxr-xr-x 1 root wheel 6 Mar 20 19:52 /dev/dsp1 -> dsp0.1
lrwxr-xr-x 1 root wheel 6 Mar 20 19:52 /dev/dsp2 -> dsp0.2
lrwxr-xr-x 1 root wheel 6 Mar 20 19:52 /dev/dsp3 -> dsp0.3
lrwxr-xr-x 1 root wheel 6 Mar 20 19:52 /dev/dsp4 -> dsp0.4
[alone]~/FreeBSD > uname -a
FreeBSD alone.dubna.ru 4.2-STABLE lavr@alone.dubna.ru:/usr/src/sys/compile/LAVR i386
[alone]~/FreeBSD >

Примечание:
Aureal - разнообразие Vortex, драйвера для этих карт ныне в портах и выполнены как подгружаемые модули:
kldstat - посмотреть, kldload module_name - загрузить.

aureal-driver -> /usr/ports/audio/aureal-kmod

Из недорогих и на мой взгляд хороших, удачных карт - Aureal и Maestro, кроме того их драйвера поддерживают больше одного канала dsp, конечно же Ensoiq-1370/71, но с одним каналом. Остальные карты SB AWE/Live - дорогие и посему я их на своих машинах не пробовал, хотя у соседей фунциклируют без особых проблем.
Полезную информацию по звуковым картам на шине ISA можно найти в старых драйверах ядра VOXWARE: /usr/src/sys/i386/isa/sound
Новые драйвера можно посмотреть в /usr/src/sys/dev/sound
Важно одно - необходимо осознавать ЧТО вы хотите сделать и ЧТО вы СОБСТВЕННО ДЕЛАЕТЕ:
- шина: ISA или PCI
- NonPnP/PnP
- карта full-duplex
- правильно указаны IO/IRQ/DMA
если что-то не так или не понимаете, попробуйте посмотреть конфигурации карты в DOS или Windows.
Зачастую, по указанным выше ссылкам, вы найдете старую информацию, например конфигурацию SoundBlaster на базе драйвера VoxWare и для версии FreeBSD 2.2.x, 3.x, так что будьте внимательны и осознавайте ЧТО ВЫ ДЕЛАЕТЕ.
Всегда полезно посмотреть что и как у вас опозналось, команды:

- `dmesg`
- `pciconf -l`
- `pnpinfo`

Если вы разобрали и устранили все проблемы связанные с конфигурированием ваших Soundblaster'ов, можете приступить к сборке различного мултимедиа software(я перечислю свои личные предпочтения, это не значит что они лучшие):
Миксеры:

- mixer
/usr/sbin/mixer

- aumix
cd /usr/ports/audio/aumix
make && make install
aumix

- xmix
cd /usr/ports/audio/xmix
make && make install
RIFF/U-law/WAV player'ы:

- play
cd /usr/ports/audio/play
make && make install
play -f /dev/cdrom -f s/u/U/A/a/g filename [effects] see sox.
rec

- waveplay
cd /usr/ports/audio/waveplay
make && make install
waveplay [options]

- wavplay
cd /usr/ports/audio/wavplay
make && make install
wavplay [options]
MP3-player'ы:

- mpg123
cd /usr/ports/audio/mpg123
make && make install
mpg123 -b 1000 /path/subdir/*.mp3
mpg123 -b 2000 -@ play_list.pls
mpg123 -y -b 2000 битый_файл.mp3
mpg123 --aggressive -b 8000 http://live.xradio.ru:11100/
mpg123 -b 8000 http://live.xradio.ru:11200/
mpg123 --aggressive -b 8000 http://live.xradio.ru:11300/
[use proxy]
export MP3_HTTP_PROXY=http://proxy.jinr.ru:8080/ [sh/bash]
setenv MP3_HTTP_PROXY http://proxy.jinr.ru:8080/ [csh/tcsh]
mpg123 --aggressive -b 8000 http://live.xradio.ru:11300/

или

mpg123 -b 4000 -p http://proxy.jinr.ru:8080/ http://live.xradio.ru:11300/
- xaudio + mxadb
ftp://ftp.xaudio.com/pub/xaudio/players/unix-motif/
x86-unknown-freebsd-elf/xaudio-1.0.5.x86-unknown-freebsd-elf.tar.gz

ftp://ftp.xaudio.com/pub/xaudio/tools/unix-motif/
x86-unknown-freebsd-elf/mxadb-1.0.x86-unknown-freebsd-elf.tar.gz
xaudio filename.mp3
или
mxaudio [front-end к xaudio & mxadb]
- x11amp [OSS player]
cd /usr/ports/audio/x11amp
make && make install
x11amp
- xamp
cd /usr/ports/audio/xamp
make && make install
xamp
CD-player'ы:
- cdplay [text-based cd-player]
cd /usr/ports/audio/cdplay
make && make install
- cd /usr/ports/audio/xmcd
make && make install
cd /usr/X11R6/lib/X11/xmcd/config
vi common.cfg
модифицируем cddbPath
cddbPath: rock;jazz;blues;newage;classical;reggae;folk;country;soundtrack;misc;data;
cddbp://cddb.sai.msu.su;cddbp://cddb.ton.tut.fi;cddbp://sunsite.unc.edu
Russian cddb: zeus.sai.msu.ru
/usr/X11R6/bin/xmcd
Конвертеры:
- sox [Sound Converter: .au,.voc,.wav,.aiff,.riff,.cdr,.raw,mono/stereo...]
cd /usr/ports/audio/sox
make && make install
прошу прощения за примеры, тут их мульон... - см. man sox
- bladeenc [mp3-encoder]
cd cd /usr/ports/audio/bladeenc
make && make install
bladeenc -crc -192 *.wav (создать *.mp3 с bitrate 192 и crc)
bladeenc -del -256 *.wav (создать *.mp3 с bitrate 256 и удалить *.wav)
bladeenc track-01.wav track-02.wav (создать track-01.mp3, track-02.mp3 с bitrate==128)
поддерживаемые bitrate's: 32,40,48,56,64,80,96,112,128,160,192,224,256,320
default bitrate=128
- lame [инструментарий на базе ISO-codecs, VBR supported]
cd /usr/ports/audio/lame
make && make install
lame -h Losa-Opyat.wav Losa-Opyat.mp3 (кодировать с постоянным bitrate=128)
lame -v file.wav file.mp3 (кодировать с VBR качеством=4 by default)
lame -v 0 -b 64 -B 256 file.wav file.mp3 (кодировать с VBR=0 наивысшее качество, нижняя граница bitrate=64 верхняя bitrate=256)
Ripper'ы/Grabber'ы:
- atapi ripper - dagrab
cd /usr/ports/audio/dagrab
make && make install
cd /dev && ln -s acd0c cdrom (acd0c - заменить на устройство в вашей конфигурации)
dagrab -a (по умолчанию используется устройство /dev/cdrom и формат выходных файлов track%02d.wav)
dagrab -a -d /dev/acd0c -f Losa_%02d.wav [сграбить весь диск и создать выходные файлы: Losa_01.wav
Losa_02.wav
...
Losa_0n.wav
- scsi ripper - tosha (scsi - the best, сравнений с EIDE[UDMA] БЫТЬ не может)
cd /usr/ports/audio/tosha
make && make install
cd /dev && ln -s rcd0c cdrom (rcd0c - заменить на устройство в вашей конфигурации, man 4 scsi, man 4 cd, man 4 da)

Примечание: если драйвер вашей звуковой карты поддерживает несколько каналов, вы можете запускать ваши приложения с указанием различных каналов и наслаждаться кокофонией a-la M$ Windows
Категория: Multimedia | Добавил: oleg (27.11.2007)
Просмотров: 1578 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024