Настройка MPlayer на Линуксе
MPlayer - программа для проигрывания видео файлов. Он был написан для Linux, но в общем может работать на большинстве OC семейства UNIX, и даже на других архитектурах таких как OSX, QNX и (более или менее) на Windows (!).
Хотя эта программа предназначена для обычных пользователей, она не столь дружелюбна по отношению к ним, как того хотелось бы. Некоторое время назад, я даже предлагал новичкам (переходящим с Windows) использовать xine вместо элегантной командной строки MPlayer.
Но все в этом мире развивается, не стал исключением и Mplayer. Так, недавно вышедший Mplayer 0.90 RC наделен очень красивым, удобным, поддерживающим скины графическим интерфейсом с типичной для графического интерфейса функциональностью и некоторыми пока не задокументированными сюрпризами и пасхальными яйцами. В качестве примера можно привести новейшие возможности полосы прокрутки. А стоит вам переместить мышь в нижнюю среднюю часть экрана (в полноэкранном режиме), и вы увидите вращающуюся мини-панель, которая позволит вам управлять воспроизведением. (Примечание: к сожалению, в настоящее время это возможно только со скином, заданным по умолчанию).
Даже скептикам придется признать, что работать с MPlayer стало проще, но настройка “окружающей среды” (драйверов, ОС и т.д) для MPlayer иногда не является тривиальной задачей. В этой короткой статье я попробовал описать основные этапы установки и конфигурирования MPlayer в Linux для получения наилучшего соотношения качества/производительности. Попрошу обратить внимание, что всё, что здесь написано, имеется в гораздо более подробной форме в документации Mplayer.
Немного о драйверах звуковой карты.
Вам, наверное, интересно, почему я начал именно с этого. Дело в том, что именно драйвера звуковой карты являются основной причиной проблем с производительностью. Причем - причиной не очевидной. Главное - учесть, что проигрывание только звука (например, mp3), это не проигрывание видеофайла, так как в случае проигрывания видеофайла проигрывателю приходится синхронизировать звук с видеорядом. При этом возникают задержки в аудио потоке. Так как все звуковые карты/драйвера имеют буферизацию, задержка должна компенсироваться. Так, что при первом рассмотрении это не кажется большой проблемой. И ALSA и OSS имеют функцию проверки состояния буфера, и текущей звуковой задержки. К сожалению, многие звуковые драйвера (в основном это OSS, включенные в ядро) не делают этого (кажется, что авторы драйверов реализуют только то, что нужно для проигрывания mp3) или, что хуже - производят проверку, но при этом допускают ошибки, сообщая неправильные значения. Я даже где-то слышал, что некоторые драйвера рушат ядро при запросе задержки.