# kldload snd_driverГлава 9. Мультимедиа
Этот перевод может быть устаревшим. Для того, чтобы помочь с переводом, пожалуйста, обратитесь к Сервер переводов FreeBSD.
Содержание
9.1. Обзор
Глава о мультимедиа предоставляет обзор поддержки мультимедиа в FreeBSD. Мультимедийные приложения и технологии стали неотъемлемой частью современных вычислений, и FreeBSD обеспечивает надёжную и стабильную поддержку широкого спектра мультимедийного оборудования и программного обеспечения. В этой главе рассматриваются различные мультимедийные компоненты, такие как аудио, видео и обработка изображений. Также обсуждаются различные медиаформаты и кодеки, а также инструменты и приложения для создания и воспроизведения мультимедиа. Дополнительно глава охватывает настройку мультимедийной системы, устранение неполадок и оптимизацию. FreeBSD предлагает надёжную платформу для мультимедийной работы и энтузиастам мультимедиа, и профессиональным создателям контента. Эта глава призвана помочь максимально использовать мультимедийные возможности FreeBSD, предоставляя полезную информацию и практические примеры для начала работы.
9.2. Настройка звуковой карты
По умолчанию FreeBSD автоматически определяет звуковую карту, используемую в системе. FreeBSD поддерживает широкий спектр звуковых карт. Список поддерживаемых звуковых карт можно найти в sound(4).
Для загрузки модуля звуковой карты необходимо только в том случае, если FreeBSD не определила его корректно. |
Где неизвестно, какая звуковая карта установлена в системе или какой модуль использовать, можно загрузить метадрайвер snd_driver, выполнив следующую команду:
В качестве альтернативы, для загрузки драйвера как модуля во время загрузки, добавьте следующую строку в /boot/loader.conf:
snd_driver_load="YES"
9.2.1. Тестирование звука
Чтобы подтвердить, что звуковая карта обнаружена, можно выполнить следующую команду:
% dmesg | grep pcmВывод должен быть похож на следующий:
pcm0: <Conexant CX20561 (Hermosa) (Analog 2.0+HP/2.0)> at nid 26,22 and 24 on hdaa0 pcm1: <Conexant CX20561 (Hermosa) (Internal Analog Mic)> at nid 29 on hdaa0
Состояние звуковой карты также можно проверить с помощью этой команды:
# cat /dev/sndstatВывод должен быть похож на следующий:
Installed devices: pcm0: <Conexant CX20561 (Hermosa) (Analog 2.0+HP/2.0)> (play/rec) default pcm1: <Conexant CX20561 (Hermosa) (Internal Analog Mic)> (rec)
Если в списке нет устройств pcm, проверьте, что загружен правильный драйвер устройства. Если всё в порядке, звуковая карта должна теперь работать в FreeBSD.
beep(1) может использоваться для создания звука, подтверждающего, что звуковая карта работает:
% beep9.2.2. Микшер
В FreeBSD существуют различные утилиты для установки и отображения значений микшера звуковой карты, работающие на основе FreeBSD Sound System:
| Имя | Лицензия | Пакет | Toolkit |
|---|---|---|---|
BSD-2 | Включено в базовую систему | CLI | |
dsbmixer | BSD-2 | Qt | |
Виджет аудио KDE Plasma | GPL 2.0 | Qt | |
mixertui | BSD-2 | TUI |
9.2.3. Звук графической карты
Графические карты часто оснащены собственными встроенными звуковыми устройствами, и может быть неясно, какое из них используется по умолчанию. Чтобы это проверить, выполните команду dmesg и найдите записи pcm, чтобы определить, как система перечисляет выходы. Выполните следующую команду:
% dmesg | grep pcmВывод выглядит примерно так:
pcm0: <HDA NVIDIA (Unknown) PCM #0 DisplayPort> at cad 0 nid 1 on hdac0 pcm1: <HDA NVIDIA (Unknown) PCM #0 DisplayPort> at cad 1 nid 1 on hdac0 pcm2: <HDA NVIDIA (Unknown) PCM #0 DisplayPort> at cad 2 nid 1 on hdac0 pcm3: <HDA NVIDIA (Unknown) PCM #0 DisplayPort> at cad 3 nid 1 on hdac0 hdac1: HDA Codec #2: Realtek ALC889 pcm4: <HDA Realtek ALC889 PCM #0 Analog> at cad 2 nid 1 on hdac1 pcm5: <HDA Realtek ALC889 PCM #1 Analog> at cad 2 nid 1 on hdac1 pcm6: <HDA Realtek ALC889 PCM #2 Digital> at cad 2 nid 1 on hdac1 pcm7: <HDA Realtek ALC889 PCM #3 Digital> at cad 2 nid 1 on hdac1
Графическая карта (NVIDIA®) была перечислена до звуковой карты (Realtek®), при этом звуковая карта отображается как pcm4. Систему можно настроить на использование звуковой карты в качестве устройства по умолчанию, выполнив следующую команду:
# sysctl hw.snd.default_unit=4Чтобы сделать это изменение постоянным, добавьте следующую строку в /etc/sysctl.conf:
hw.snd.default_unit=4
9.2.4. Автоматическое переключение на наушники
Некоторые системы могут испытывать трудности при переключении между аудиовыходами, но, к счастью, FreeBSD позволяет настроить автоматическое переключение в device.hints.
Определите, как система перечисляет аудиовыходы, выполнив следующую команду:
% dmesg | grep pcmВывод выглядит примерно так:
pcm0: <Realtek ALC892 Analog> at nid 23 and 26 on hdaa0 pcm1: <Realtek ALC892 Right Analog Headphones> at nid 22 on hdaa0
Добавьте следующие строки в файл /boot/device.hints:
hint.hdac.0.cad0.nid22.config="as=1 seq=15 device=Headphones" hint.hdac.0.cad0.nid26.config="as=2 seq=0 device=speakers"
Имейте в виду, что эти значения приведены для указанного выше примера. Они могут отличаться в зависимости от системы. |
9.2.5. Устранение неполадок со звуком
Некоторые распространённые сообщения об ошибках и их решения:
| Ошибка | Решение |
|---|---|
| Наберите |
Программы, использующие audio/pulseaudio, могут потребовать перезапуска демона audio/pulseaudio для применения изменений в hw.snd.default_unit. В качестве альтернативы, настройки audio/pulseaudio можно изменить на лету. pacmd(1) открывает командное соединение с демоном audio/pulseaudio:
# pacmd
Welcome to PulseAudio 14.2! Use "help" for usage information.
>>>Следующая команда изменяет устройство вывода по умолчанию на карту номер 4, как в предыдущем примере:
set-default-sink 4
Не используйте команду |
9.3. Аудиоплееры
В этом разделе представлено некоторое программное обеспечение из Коллекции портов FreeBSD, которое можно использовать для воспроизведения аудио.
| Имя | Лицензия | Пакет | Toolkit |
|---|---|---|---|
Elisa | LGPL 3.0 | Qt | |
GNOME Music | GPL 2.0 | GTK+ | |
Audacious | BSD-2 | Qt | |
MOC (music on console) | GPL 2.0 | TUI |
9.3.1. Elisa
Elisa — это музыкальный проигрыватель, разработанный сообществом KDE, который стремится быть простым и приятным в использовании.
Для установки Elisa выполните:
# pkg install elisa9.3.2. GNOME Music
GNOME Music - это новое приложение для воспроизведения музыки в среде GNOME. Оно сочетает в себе элегантный и захватывающий интерфейс для просмотра музыки с простым и интуитивно понятным управлением.
Для установки GNOME Music выполните:
# pkg install gnome-music9.3.3. Audacious
Audacious — это аудиоплеер с открытым исходным кодом. Потомок XMMS, он воспроизводит музыку так эффективно используя ресурсы компьютера.
Для установки Audacious выполните:
# pkg install audacious-qt6 audacious-plugins-qt6Audacious изначально поддерживает OSS, но его необходимо настроить в параметрах на вкладке Audio. |
9.3.4. MOC (music on console)
MOC (music on console) — это консольный аудиоплеер, созданный для удобства и эффективности использования.
MOC воспроизводит музыку плавно, независимо от нагрузки на систему или ввод-вывод, поскольку обрабатывает выходной буфер в отдельном потоке. Он не создаёт промежутков между файлами, потому что следующий файл для воспроизведения предварительно кэшируется во время проигрывания текущего файла.
Для установки MOC (music on console) выполните:
# pkg install moc9.4. Видеоплееры
В этом разделе представлено некоторое программное обеспечение из Коллекции портов FreeBSD, которое можно использовать для воспроизведения видео.
| Имя | Лицензия | Пакет | Toolkit |
|---|---|---|---|
MPlayer | GPL 2.0 | CLI | |
SMPlayer | GPL 2.0 | Qt | |
VLC media player | GPL 2.0 | Qt | |
Kodi (XBMC) | GPL 2.0 | X11 |
9.4.1. MPlayer
MPlayer — это мультимедийный проигрыватель и набор инструментов для кодирования, который работает на многих платформах и поддерживает командную строку. Он воспроизводит огромное количество различных форматов файлов и кодеков, включая популярные потоки DivX, XviD, H.264, а также DVD и SVCD, вместе со многими распространёнными аудиокодеками.
Для установки MPlayer выполните:
# pkg install mplayerПримеры работы MPlayer можно найти в mplayer(1).
9.4.2. SMPlayer
SMPlayer предназначен быть полноценным фронтендом для MPlayer, начиная с базовых функций, таких как воспроизведение видео, DVD и VCD, до более продвинутых возможностей, включая поддержку фильтров MPlayer и многое другое.
Для установки SMPlayer выполните:
# pkg install smplayer9.4.3. VLC media player
VLC media player — это высокопортативный мультимедийный проигрыватель, поддерживающий различные аудио- и видеоформаты (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg и другие), а также DVD, VCD и различные протоколы потокового вещания. Он также может использоваться в качестве сервера для трансляции в режиме unicast или multicast по IPv4 или IPv6 в высокоскоростных сетях. VLC также умеет транскодировать медиафайлы на лету для потоковой передачи или сохранения на диск.
Для установки VLC выполните:
# pkg install vlc9.4.4. Kodi (XBMC)
Kodi (ранее известный как XBMC) — это бесплатный и открытый кроссплатформенный медиаплеер и развлекательный центр. Он позволяет пользователям воспроизводить и просматривать большинство видео, музыки, подкастов и других цифровых медиафайлов с локальных и сетевых носителей, а также из интернета.
Для установки Kodi выполните:
# pkg install kodi9.5. Конференции и встречи
Рабочая среда FreeBSD может быть использована для участия в видеоконференциях. В этом разделе будет объяснено, как настроить веб-камеру и какие приложения для видеоконференций поддерживаются в FreeBSD.
9.5.1. Настройка веб-камеры
Для предоставления FreeBSD доступа к веб-камере и её настройки необходимо установить определённые утилиты:
multimedia/webcamd — это демон, который обеспечивает работу сотен различных USB-вебкамер и DVB USB-устройств.
multimedia/pwcview — это приложение, которое можно использовать для просмотра видеопотока с веб-камеры.
Для установки необходимых утилит выполните:
# pkg install webcamd pwcviewВключите службу webcamd(8) в /etc/rc.conf, чтобы она запускалась при загрузке системы:
# sysrc webcamd_enable=YESПользователь должен состоять в группе webcamd. Чтобы добавить пользователя в группу webcamd, выполните следующую команду:
# pw groupmod webcamd -m usernameПоскольку multimedia/webcamd требует модуль cuse(3), этот модуль должен быть загружен выполнением следующей команды:
# kldload cuseЧтобы загрузить cuse(3) при запуске системы, выполните команду:
# sysrc kld_list+=cuseПосле установки утилит список доступных веб-камер можно просмотреть с помощью webcamd(8):
# webcamd -lВывод должен быть похож на следующий:
webcamd [-d ugen0.2] -N SunplusIT-Inc-HP-TrueVision-HD-Camera -S unknown -M 0 (1) webcamd [-d ugen1.3] -N Realtek-802-11n-WLAN-Adapter -S 00e04c000001 -M 0
| 1 | Доступные веб-камеры |
Настройте доступную веб-камеру, выполнив следующую команду:
# sysrc webcamd_0_flags="-d ugen0.2" (1)Обратите внимание, что если это веб-камера с поддержкой plug-and-play USB, то изменение USB-порта, к которому она подключена, приведёт к изменению вывода команды |
Сервис webcamd(8) должен быть запущен выполнением следующей команды:
# service webcamd startВывод должен быть похож на следующий:
Starting webcamd. webcamd 1616 - - Attached to ugen0.2[0]
multimedia/pwcview можно использовать для проверки правильной работы веб-камеры. Следующая команда может быть использована для запуска multimedia/pwcview:
% pwcview -f 30 -s vgaТогда multimedia/pwcview отобразит изображение с веб-камеры:

9.5.2. Статус программного обеспечения для встреч
FreeBSD в настоящее время поддерживает следующие инструменты для проведения видеоконференций.
| Имя | Статус Firefox | Статус Chromium | Website |
|---|---|---|---|
Microsoft Teams | Не работает | Работает | |
Google Meet | Работает | Работает | |
Zoom | Работает | Работает | |
Jitsi | Не работает | Работает | |
BigBlueButton | Не работает | Работает |
9.6. Сканеры изображений
В FreeBSD доступ к сканерам изображений обеспечивается через SANE (Scanner Access Now Easy), который доступен в Коллекции портов FreeBSD.
9.6.1. Проверка сканера
Прежде чем пытаться выполнить любую настройку, важно убедиться, что сканер поддерживается SANE.
При подключённом сканере выполните следующую команду, чтобы получить список всех подключённых USB-устройств:
# usbconfig listВывод должен быть похож на следующий:
ugen4.2: <LITE-ON Technology USB NetVista Full Width Keyboard.> at usbus4, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (70mA) ugen4.3: <Logitech USB Optical Mouse> at usbus4, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA) ugen3.2: <HP Deskjet 1050 J410 series> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
Выполните следующую команду для получения idVendor и idProduct:
# usbconfig -d 3.2 dump_device_descОбратите внимание, что сканер является устройством plug-and-play, и изменение USB-порта, к которому он подключен, приведёт к изменению вывода команды |
Вывод должен быть похож на следующий:
ugen3.2: <HP Deskjet 1050 J410 series> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 <Probed by interface class> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x03f0 idProduct = 0x8911 bcdDevice = 0x0100 iManufacturer = 0x0001 <HP> iProduct = 0x0002 <Deskjet 1050 J410 series> bNumConfigurations = 0x0001
После получения idVendor и idProduct необходимо проверить в списке поддерживаемых устройств SANE, поддерживается ли сканер, выполнив фильтрацию по idProduct.
9.6.2. Настройка SANE
SANE предоставляет доступ к сканеру через бэкенды. Для возможности сканирования в FreeBSD необходимо установить пакет graphics/sane-backends, выполнив следующую команду:
# pkg install sane-backendsНекоторые USB-сканеры требуют загрузки микропрограммы. Как, например, сканер HP, использованный в примере выше, для которого необходимо установить пакет print/hplip. |
После установки необходимых пакетов необходимо настроить devd(8), чтобы FreeBSD получил доступ к сканеру.
Добавьте файл saned.conf в /usr/local/etc/devd/saned.conf со следующим содержимым:
notify 100 {
match "system" "USB";
match "subsystem" "INTERFACE";
match "type" "ATTACH";
match "cdev" "ugen[0-9].[0-9]";
match "vendor" "0x03f0"; (1)
match "product" "0x8911"; (2)
action "chown -L cups:saned /dev/\$cdev && chmod -L 660 /dev/\$cdev";
};| 1 | vendor: Это idVendor, полученный ранее при выполнении команды usbconfig -d 3.2 dump_device_desc. |
| 2 | product: Это idProduct, полученный ранее при выполнении команды usbconfig -d 3.2 dump_device_desc. |
После этого необходимо перезапустить devd(8), выполнив следующую команду:
# service devd restartБэкенды SANE включают scanimage(1), который можно использовать для вывода списка устройств и выполнения захвата изображения.
Выполните команду scanimage(1) с аргументом -L для вывода списка сканирующих устройств:
# scanimage -LВывод должен быть похож на следующий:
device `hpaio:/usb/Deskjet_1050_J410_series?serial=XXXXXXXXXXXXXX' is a Hewlett-Packard Deskjet_1050_J410_series all-in-one
Если scanimage(1) не может идентифицировать сканер, появится следующее сообщение:
No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages).
Как только scanimage(1) обнаружит сканер, настройка будет завершена, и сканер готов к использованию.
Чтобы активировать службу и запускать её при загрузке, выполните следующую команду:
# sysrc saned_enable=YESВ то время как scanimage(1) можно использовать для захвата изображения из командной строки, часто предпочтительнее применять графический интерфейс для сканирования изображений.
| Имя | Лицензия | Пакет |
|---|---|---|
skanlite | GPL 2.0 | graphics/skanlite |
GNOME Simple Scan | GPL 3.0 | graphics/simple-scan |
XSANE | GPL 2.0 | graphics/xsane |
Изменено: 24 ноября 2025 г. by Vladlen Popolitov