CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
24.03.2017

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Приложения

Рецепты. Кое-что о программе mplayer

1. Частота дискретизации

Как известно, не все звуковые чипы могут должным образом воспроизводить мультимедийное содержимое с частотой дискретизации в 48000 Гц. В то же время, можно встретить немало видео- и звуковых записей, содержимое которых закодировано в расчёте на воспроизведение именно с такой частотой дискретизации. При воспроизведении звука устройствами, которые не могут обеспечить этого требования, будут слышны искажения в виде высокочастотного шума и свиста.

Предположим, что наша звуковая карта не может полноценно воспроизводить записи с частотой дискретизации 48000 Гц. Решить это достаточно просто: нужно запустить mplayer с опцией -af.

$ mplayer -af resample=44100:0:0
        

Чтобы не делать это всякий раз руками, можно добавить соответствующую настройку в файл конфигурации (~/.mplayer/config):

# Resampling all audio to 44100 Hz
af=resample=44100:0:0
        

Теперь все без исключения звуковые мультмедийные форматы (в том числе и звуковые дорожки фильмов) будут воспроизводиться с частотой 44100 Гц (это стандарт для Audio CD).

Хотя в документации к программе указано, что частота дискретизации выбирается при воспроизведении автоматически, однако может быть так, что выбор будет неверным — это зависит, насколько я понимаю, больше от оборудования, чем от воспроизводимого материала. В этом случае будет полезно определить раз и навсегда её верхний порог в 44100 Гц путём внесения описанных изменений в файл настроек программы.

2. RTC (Real Time Clock)

Пересказывать содержимое справочной страницы man rtc не буду.

Заставить mplayer использовать в работе устройство /dev/rtc — это так называемые часы истинного времени — можно путём указания в файле настроек следующего:

# Enable RTC (Real Time Clock) access
rtc=1
        

Это полезно прежде всего для качественного воспроизведения звука.

Нужно учитывать, что пользователь должен иметь права доступа к устройству /dev/rtc. В операционной системе Debian GNU/Linux для этого следует добавить пользователя в группу audio, члены которой имеют доступ к этому устройству на чтение и запись.

Убедимся в сказанном о владельце устройства:

$ ls -l /dev/rtc 
crw-rw---- 1 root audio 10, 135 2008-01-17 01:20 /dev/rtc
        

Добавим пользователя в группу audio:

$ sudo adduser <имя_пользователя> audio
        

Последнее (или похожие действия — в зависимости от конкретной системы), впрочем, следует сделать обязательно в том случае, если нам нужен звук как таковой, потому что, скажем, для серверной машины возможность воспроизведения звука явно излишня и не во всех системах она задействована по умолчанию.

Чтобы всё это работало, нужно заранее обеспечить не только доступ обычных пользователей [членов группы audio] к упомянутому устройству, но и выставить максимальную частоту RTC:

# echo 1024 > /proc/sys/dev/rtc/max-user-freq
        

Чтобы эта настройка была постоянной, нужно дописать следующую строку в файл /etc/sysctl.conf:

# echo 'dev.rtc.max-user-freq = 1024' >> /etc/sysctl.conf
        

Подробнее о настройке RTC смотрите в HTML-документации к программе (глава 2, раздел 5).

3. mplayer в качестве мультимедийного проигрывателя общего назначения

Принято считать, что этот проигрывать в основном пригоден для воспроизведения видеозаписей. Ничто, однако, не мешает воспроизводить при его помощи любое мультимедийное содержимое.

В этом качестве mplayer хорош благодаря высокому качеству воспроизведения и низким требованиям к системным ресурсам.

Что до форматов, то затрудняюсь сказать, какие из них mplayer не сможет воспроизвести. Для примера, проигрывание файлов в форматах WAV, FLAC, OGG, MP3 не вызывает никаких затруднений.

Если пользователь указал в настроечном файле проигрывателя опции, описанные в пп. 1 и 2, то воспроизведение звуковых записей, скорее всего, не вызовет никаких вопросов, и не будет необходимости определять какие-либо дополнительные опции его работы.

3.1. Списки воспроизведения

Может возникнуть вполне закономерный вопрос: как быть со списками воспроизведения?

Для этого, думается, нужно сначала сформировать фонотеку. Это будет, скорее всего, отдельный каталог в иерархии файловой системы, содержащий в себе подкаталоги отдельных исполнителей, в которых будут тем или иным образом систематизированы наличные записи.

mplayer умеет воспроизводить заранее созданные плейлисты. Для этого нужно запускать его с опцией -playlist:

$ mplayer -playlist <файл плейлиста>
        

Путь к файлу плейлиста может быть как абсолютным, так и относительным.

Можно также использовать стандартные средства системы (например, обычное перенаправление вывода команд) для динамического создания списка воспроизведения без создания отдельного файла плейлиста:

$ mplayer -playlist `find <путь_поиска_файлов> -type f -name "*.mp3" -print`
        

Это, конечно же, не единственный способ. Можно сделать, например, так:

$ find <путь_поиска_файлов> -type f -name "*.mp3" -print | sort > ~/playlist && mplayer -playlist ~/playlist
        

В этом случае команда find выполнит свою задачу и завершится, а mplayer будет считывать список воспроизведения из обычного файла.

Кроме того, можно создать алиас или, ещё лучше, небольшой скрипт, который будет выполнять указанные действия, принимая в качестве аргумента путь к каталогу, содержимое которого мы собираемся прослушать.

О формате такого файла-плейлиста сказать особенно нечего. Так, в вышеописанных случаях этот файл будет содержать самый обычный перечень отсортированных абсолютных путей к файлам в иерархии файловой системы. Без малейших затруднений проигрыватель будет воспроизводить и плейлисты в формате *.m3u или *.pls, созданные другими программами — например, проигрывателем xmms.

Чем хорош такой способ работы с фонотекой?

Прежде всего тем, что можно не создавать никаких библиотек мультимедийного содержимого, предоставив быть такой библиотекой самой файловой системе, а в качестве средств для работы с нею применять встроенные команды операционной системы. То есть использовать то, что уже есть под рукой и доступно всегда. (Это, впрочем, моё частное видение использования системы.)

В повседневной практике, на мой взгляд, редко на самом деле возникает потребность видеть перечень проигрываемых файлов как таковой, да и воспроизводящей программе незачем маячить перед глазами. По определению звуковой проигрыватель является программой, которая работает преимущественно «в фоновом режиме». Хотя поиск файлов средствами оконного окружения — KDE, GNOME, XFCE — для многих пользователей покажется удобным, но я, ввиду своей нелюбви к перечисленным KDE, GNOME и XFCE и за неимением их, предпочитаю классическую командную строку. В пользу этого также и то, что пользователь обычно знает, что есть у него в фонотеке, и потому при динамическом создании списка воспроизведения может всегда указать, где именно и что именно искать. Не забудем и о возможности отбора файлов по некоторым критериям при помощи команды grep. Таким образом, те несколько секунд, которые тратятся на составление команды создания плейлиста (при наличии автодополнения, разумеется) едва ли будут отвлекать нас от основного занятия.

3.2. Потребление системных ресурсов

Бережливое использование системных ресурсов — одна из отличительных черт mplayer’а. Для запуска проигрывателя понадобится выделить отдельное окно эмулятора терминала (xterm, rxvt etc) или отдельный виртуальный терминал, если вы работаете вне графической системы. Это нужно сделать по той причине, что mplayer, по моим наблюдениям, в качестве фонового процесса адекватно работать не может (во всяком случае, я пока не выяснил, как заставить его это сделать). В этом окне или терминале будет работать командный интерпретатор (bash, tcsh etc) и собственно mplayer. Согласно выводу программы htop в моей системе этот набор — rxvt, bash и mplayer — совместно занимает в ОЗУ немногим больше 8 Мб; потребление же процессорного времени стремится к нулю (в прямом смысле слов) и не идёт ни в какое сравнение, например, с проигрывателями audacious или xmms, не говоря о более ресурсоёмких программах.

4. О чём я здесь не упоминаю

Обратившись к документации, которая поставляется вместе с программой в нескольких форматах (среди которых и HTML), вы получите несравнимо больше сведений о том, как работать с этим проигрывателем. Документация обширна и качественна, к тому же переведена на многие языки — в том числе и на русский.

5. Ссылки

  1. Домашняя страница разработчика проигрывателя mplayer: www.mplayerhq.hu.



Комментарии

Spacehopper, Thu Jul 3 12:59:15 2008:
Берите самый лучший KMPlayer!!!

Найдете лучше напишите
Grafin, Sat May 31 16:49:36 2008:
Очень интересно было бы узнать, как переключать звуковые дорожки. Заранее спасибо. :)
Доброжелатель, Tue Apr 22 09:04:13 2008:
_
Небольшое дополнение по поводу часов (или таймера, если кому-то так больше нравится) «реального времени». В некоторых системах вместо rtc (и изменения настройки в /proc/sys/dev/rtc/max-user-freq) вы обнаружите hpet (соответственно — /proc/sys/dev/hpet/max-user-freq): вместо устройства /dev/rtc будет устройство /dev/hpet. Это, в общем, [почти] то же самое, только по-другому называется.
_
iskander, Wed Feb 13 10:08:54 2008:
Прочитал, помогло... ))
Теперича жду статейки по Mencoder - у
deep, Wed Feb 6 23:38:37 2008:
!!! Полезно-полезно! Я уже кое что в .config переписала - красота!!!
deep, Wed Feb 6 23:36:35 2008:
Знает-знает!!! Но воспроизводит только первый файл и отрубается!! А тот же xine воспроизводит весь диск полностью.От начала до конца без проблем. Xine штука хорошая, но при использовании карты nvidia у него не регулируются ни яркость, ни контраст. В mplayer все регулируется, но полностью диск не желает показывать, а искать жуткие vob"ы на предмет просмотра фильмов, это для блондинки, хоть и крашенной, очень утомительно!!! Установка из сырцов тоже не помогает... А каждый раз переползать с Vector'а на Wind'у не солидно по религиозным причинам. И кто ж поможет?!
Доброжелатель, Wed Feb 6 23:29:46 2008:
 
2 deep, среда, 6 февраля 2008 г. 22:40:58:

Есть ещё некоторые особенности:

- если вы запускаете просмотр фильма с dvd-диска таким способом, то его монтировать не нужно;

- дорожку указывать нужно тоже не всегда, особенно если это «пиратские» диски — на них зачастую просто нет нескольких дорожек, только одна.

В файле настроек полезно указать некоторые предпочтительные параметры воспроизведения — например, на каком языке воспроизводить фильм в первую очередь.


Если эта тема вызовет интерес у читателей, то я подготовлю ещё несколько заметок про mplayer. Данная же заметка слишком коротка [по объёму и содержанию], чтобы быть действительно полезной.
 
Доброжелатель, Wed Feb 6 23:20:50 2008:
 
Рад, спасибо.

Если запускаете из консоли (то есть именно mplayer), то команда должна быть примерно такого вида: $ mplayer [опции] dvd://<номер_дорожки>

Перед тем нужно выяснить, «знает» ли система о том, что в ней вообще есть dvd. Обычно это символическая ссылка с именем /dev/dvd, которая указывает на реальное устройство — например, на /dev/hdc.
 
deep, Wed Feb 6 22:40:58 2008:
Прочитала - спасибо! Только у меня Mplayer не желает воспроизводить фильмы с dvd-диска. По отдельности все вобы читает, а полностью, как xine, не хочет. И что делать, прям не знаю....

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds