Установка
В файле README вы сможете найти короткое руководство
по установке. Пожалуйста, сначала прочтите его, а затем вернитесь к оставшимся
неясными деталям.
В этой главе я постараюсь провести Вас через процесс компиляции и конфигурации
MPlayer'а. Это не просто, но это не обязательно будет сложно. Если Вы заметите
какие-то отклонения, от того, что я объясняю, пожалуйста, поищите в этой
документации и Вы найдёте ответ. Если Вы увидите ссылку, пожалуйста, проследуйте
по ней и внимательно прочитайте её содержимое. Это займёт некоторое время,
но это ДЕЙСТВИТЕЛЬНО того стоит
Вам нужна современная система. Под Linux'ом рекомендуются ядра 2.4.x.
Требуемые программы:binutils - рекомендуемая версия - это
2.11.x . Эта программа ответственна за
генерацию MMX/3DNow!/и т. п. инструкций, и поэтому очень важна.
gcc - рекомендуемые версии:
2.95 и 3.3+. Известно, что 2.96 и 3.0.x генерируют испорченный код.
С 3.1 и 3.2 тоже были проблемы.
XFree86 - рекомендуемая версия - это всегда новейшая (4.3).
Обычно, все этого хотят, поскольку начиная с 4.0.2, XFree86 содержат
XVideo расширение (иногда упоминаемое, как
Xv) которое требуется для включения аппаратной YUV акселерации (быстрый
вывод изображений на видеокартах, которые это поддерживают.
Будьте уверены, что пакет разработки также установлен, иначе это
не будет работать.
Для некоторых видео карт, вам не нужен XFree86. Их список см. ниже.
make - рекомендуемая версия - это всегда новейшая (минимум
3.79.x). Обычно это не очень важно.
FreeType - требуется версия 2.0.9 или новее, чтобы иметь
шрифт для OSD и субтитров.
SDL - это не обязательно, но может помочь в некоторых случаях
(плохие аудио, видео карты, которые странно лагуют с xv драйвером).
Всегда используйте новейшую версию (начиная с 1.2.x).
libjpeg - необязательный декодер JPEG,
используемый -mf и некоторыми QT MOV файлами. Полезен для
MPlayer'а и MEncoder'а,
если Вы планируете работать с jpeg файлами.
libpng - рекомендуемый и используемый
по умолчанию (M)PNG декодер. Необходим для GUI.Полезен как для
MPlayer'а, так и для MEncoder'а.
lame - рекомендуется, необходимо для кодирования MP3 аудио c MEncoder,
рекомендуемая версия - это всегда новейшая (как минимум 3.90).
zlib - рекомендуется, необходима для сжатых
MOV заголовков и поддержки PNG.
libogg - необязательно, необходимо для проигрывания файлов формата OGG.
libvorbis - необязательно, необходимо для проигрывания OGG Vorbis аудио.
LIVE555 Streaming Media
- необязательно, необходимо для проигрывания RTSP/RTP потоков.
directfb - необязательно, на
http://www.directfb.org.
Требуется минимум 0.9.13.
cdparanoia - необязательно, для поддержки CDDA
libxmms - необязательно, для поддержки входных плагинов XMMS.
Требуется минимум 1.2.7.
libsmb - необязательно, для поддержки Samba.
ALSA - необязательно, для поддержки вывода звука через ALSA
Требуется минимум 0.9.0rc4.
bio2jack - необязательно, для поддержки
вывода звука через JACK, требуется только при компиляции. Вы можете получить
это с http://bio2jack.sf.net.
Поскольку там нет возможности установить библиотеку, Вы должны вручную
скопировать файл libbio2jack.a куда-нибудь в Ваш
библиотечный путь (e.g. /usr/local/lib) или используйте
опцию , чтобы указать
./configure где искать этот файл.
Видео карты
В целом, существуют два типа видео карт. Первый тип (новейшие карты) поддерживают
аппаратное масштабирование и YUV акселерацию, другие карты - нет.
YUV карты
Они могут показывать и масштабировать изображение до любого размера, помещающегося
в их память, с малой загрузкой CPU (даже при масштабировании), поэтому
полноэкранный просмотр приятный и очень быстрый.
Matrox G200/G400/G450/G550 карты: хотя
Vidix драйвер и существует, вместо него рекомендуется
использовать модуль ядра mga_vid, поскольку он лучше работает. Пожалуйста,
прочтите секцию mga_vid о его установке и
использовании. Важно проделать эти операции до компиляции MPlayer'а,
иначе поддержка mga_vid не будет собрана. Также обратите внимание на секцию
Matrox TV-вывод.
Если Вы не используете Linux, Ваша единственная возможность -
использовать VIDIX драйвер: см. секцию VIDIX.
3Dfx Voodoo3/Banshee карты: читайте секцию
tdfxfb, чтобы получить значительное ускорение.
Важно проделать эти операции до компиляции MPlayer'а, иначе поддержка
mga_vid не будет собрана. Если Вы используете X,
используйте минимум 4.2.0, поскольку 3dfx Xv драйвер был сломан в 4.1.0
и более ранних версиях.
ATI карты: существует VIDIX драйвер
для следующих карт: Radeon, Rage128, Mach64
(Rage XL/Mobility, Xpert98).Также см. секцию
ATI карт в документации TV-вывода, чтобы узнать, поддерживается ли TV-out
Вашей карты под Linux/MPlayer.
S3 карты: у Savage и Virge/DX чипов есть аппаратная акселерация.
Используйте наиболее свежую версию XFree86, старые драйвера содержат ошибки.
У Savage чипов проблемы с выводом YV12, см. S3 Xv
секцию для подробностей. У более старых Trio карт нет аппаратной поддержки,
или она медленная.
nVidia карты: может быть, а может и не быть хорошим выбором для просмотра
фильмов. Если у Вас не GeForce2 (или более новая) карта, то маловероятно, что
она будет работать без ошибок.
Встроенные nVidia драйвера в XFree86 не поддерживают YUV акселерацию на всех
nVidia картах. Вам необходимо скачать драйверы с закрытым исходным кодом
с nVidia.com. См. секцию nVidia Xv драйвера
для подробностей. Также посмотрите секцию
nVidia TV-выход, если Вы хотите использовать TV.
3DLabs GLINT R3 и Permedia3: существует VIDIX драйвер (pm3_vid).
Для подробностей, см. секцию VIDIX.
Другие карты: Не упомянута выше?
Проверьте, поддерживает ли XFree86 драйвер (и Ваша карта) аппаратную
акселерацию. Подробности см. в секции Xv.
Если нет, то возможности Вашей видеокарты не поддерживаются под Вашей
операционной системой :(
Если аппаратная акселерация работает под Windows, это не значит, что
она будет работать под Linux или иной операционной системой: это зависит
от драйвера. Большинство производителей не делают Linux'овых драйверов
и не распространяют спецификации для их чипов, поэтому Вам не повезло,
что Вы используете их карты. См. .
Не-YUV карты
Полноэкранное воспроизведение может быть достигнуто либо включением программного
масштабирования (используйте или
опции, но я предупреждаю Вас: это медленно), или переключением в видео режим
с меньшим разрешением, например 352x288. Если у Вас нет аппаратной YUV акселерации,
этот метод предпочтителен. Изменение видео режима может быть включено использованием
опции и работает со следующими драйверами:
используя XFree86: подробности см. в секциях
DGA драйвер и
X11 драйвер. Рекомендуется DGA !
Также попробуйте использовать DGA через SDL, иногда это лучше.
не используя XFree86: попробуйте драйвера в следующем порядке:
vesa,
fbdev,
svgalib,
aalib.
Cirrus Logic карты
GD 7548: установлено на материнской плате и тестировалась в ноутбуках серии
Compaq Armada 41xx.
XFree86 3: работает в 8/16bpp режимах. Хотя, драйвер очень медленный и
генерирует ошибки в режиме 800x600@16bpp.
Рекомендуется: 640x480@16bpp
XFree86 4: Xserver замораживается вскоре после старта, если акселерация
не отключена, но тогда все становится медленнее, чем под XFree86 3.
Нет XVideo.
FBdev: фреймбуфер[framebuffer - кадровый буфер] может быть включён
драйвером в ядре, хотя для меня это работало только при 8bpp, и поэтому
непригодно. В исходный код до компиляции должен быть добавлен 7584 ID
VESA: карта совместима только с VBE 1.2, поэтому VESA вывод не может
использоваться. Не может быть обойдено с UniVBE.
SVGAlib: определяется как более старый Cirrus чип. Работает, но медленно с
.
Звуковые карты:Soundblaster Live!: с этой картой Вы можете использовать 4 или 6 (5.1)
канальное AC3 декодирование, вместо 2. Читайте секцию
Программное AC3 декодирование.
Для аппаратного пропуска AC3[hardware AC3 passthrough] Вы
должны использовать ALSA 0.9 с эмуляцией OSS!
C-Media с S/PDIF выходом: аппаратная AC3 передача[passthrough] возможна
с этими картами, см. секцию Аппаратное AC3
декодирование.
Возможности других карт не поддерживаются MPlayer'ом.
Очень рекомендуется прочитать секцию звуковые карты!
Возможности:
Решите, нужен ли Вам GUI. Если да, прочитайте до компиляции
секцию GUI.
Если Вы хотите установить MEncoder (наш великолепный многоцелевой кодировщик),
читайте секцию MEncoder.
Если у Вас есть V4L совместимый TV тюнер, и Вы хотите смотреть/захватывать
и кодировать MPlayer'ом фильмы, читайте секцию TV вход.
Если у вас есть V4L совместимый Radio тюнер,
и вы хотите слушать/записывать MPlayer'ом радиопередачи, читайте секцию
Радио.
Существует изящное OSD Меню готовое для использования. Проверьте секцию
OSD Меню.
Теперь соберите MPlayer:
./configure
make
make install
В этот момент, MPlayer готов к использованию. Каталог
$PREFIX/share/mplayer содержит файл codecs.conf,
который используется, чтобы сообщить программе обо всех кодеки и их возможности.
Этот файл требуется только в том случае, если Вы хотите поменять их настройки,
поскольку основной запускаемый файл содержит внутреннюю копию этого файла.
Проверьте, не содержится ли файл codecs.conf в Вашем домашнем каталоге
(~/.mplayer/codecs.conf) оставленный от предыдущих версий MPlayer'а,
и удалите его.
Обратите внимание на то, что если у Вас в ~/.mplayer/ есть
файл codecs.conf, то встроенный и системный файлы
codecs.conf будут полностью игнорированы. Не делайте
этого, если только Вы не собираетесь развлекаться со внутренностями MPlayer'а,
поскольку это может вызвать множество проблем. Если Вы хотите поменять порядок
подбора кодеков, используйте опции , ,
, и либо в командной строке, либо
в Вашем конфигурационном файле (см. страницу руководства).
Пользователи Debian могут сами создать .deb пакеты, это очень
просто. Просто запустите fakeroot debian/rules binary в корневом
каталоге MPlayer'а. Более подробные инструкции см.
в разделе Создание Debian пакетов.
Всегда просматривайте вывод./configure, и файл
configure.log, они содержат информацию о том, что будет собрано,
а что нет. Возможно Вы захотите просмотреть файлы config.h и
config.mak.
Если у Вас стоят какие-то библиотеки, которые не определяются
./configure, проверьте, что у Вас установлены соответствующие
заголовки[header files] (обычно это -dev пакеты) и их версии совпадают. Файл
configure.log Обычно сообщит Вам, чего не хватает для сборки.
Хотя это не обязательно, но чтобы получить функционирующие OSD и субтитры,
должны быть установлены шрифты. Рекомендуемый метод - установка TTF шрифта и
указание MPlyer'у использовать его. Подробности, см. в секции
Субтитры и OSD.
Как насчёт GUI?
Для GUI требуется GTK 1.2.x или GTK 2.0 (он не целиком GTK'шный, но панельки - да). Шкуры хранятся
в PNG формате, поэтому GTK, libpng (и их части для разработчиков, обычно они
называются gtk-dev и libpng-dev) должны быть установлены.
Вы можете собрать GUI, указав в .
Затем, чтобы использовать GUI, Вы должны запускать gmplayer.
В настоящий момент, Вы не можете использовать опцию в командной
строке, по техническим причинам.
Поскольку MPlayer не содержит ни одной шкуры, Вы должны скачать их, если Вы
хотите использовать GUI. См.
download page[страницу
закачек]. Они должны быть извлечены в системный каталог
($PREFIX/share/mplayer/skins), или в
$HOME/.mplayer/skins. По умолчанию, MPlayer ищет каталог default
в этих каталогах, но вы можете использовать опцию ,
или директиву конфигурационного файла , чтобы использовать
шкуру из каталога */skins/newskin.
Шрифты и OSD
Чтобы насладиться OSD и субтитрами, надо указать MPlayer какой
шрифт использовать. Подойдет любой TrueType или специальный растровый шрифт. Тем не менее,
рекомендуется использовать TrueType шрифты, поскольку они лучше выглядят, корректно
масштабируются до размера фильма, у лучше справляются с различными кодировками.
TrueType шрифты
Есть два способа заставить работать TrueType шрифты. Первый - указать опцию ,
чтобы указать путь к TrueType шрифту из команднов строки. Эта опция будет хорошим кандидатом на
помещение в файл конфигурации (для подробностей смотрите страницу man руководства).
Второй - создание символической ссылки с именем subfont.ttf на выбранный
файл шрифта. Либо
ln -s /path/to/sample_font.ttf ~/.mplayer/subfont.ttf
индивидуально для каждого пользователя, либо одну общесистемную
ln -s /path/to/sample_font.ttf $PREFIX/share/mplayer/subfont.ttf
Если MPlayer был скомпилирован с поддержкой
fontconfig, эти методы не будут работать,
вместо этого, опция ожидает
fontconfig'овское название
шрифта, и по умолчанию это фонт без засечек (sans-serif). Чтобы получить список
шрифтов известных fontconfig'у,
используйте fc-list. Пример:
mplayer -font 'Bitstream Vera Sans'anime.mkvРастровые шрифты
Если по каким-то причинам вам необходимо использовать растровый шрифт, скачайте набор таковых с
нашего сайта. Вы можете выбирать между различными
ISO шрифтами и
набором шрифтов
созданных пользователями
в различных кодировках.
Распакуйте скачанный файл в ~/.mplayer или
$PREFIX/share/mplayer.
После этого переименуйте каталог или создайте символическую ссылку на него с именем
font, например:
ln -s ~/.mplayer/arial-24 ~/.mplayer/fontln -s $PREFIX/mplayer/arial-24 $PREFIX/mplayer/font
Шрифты должны имет соответствующий им font.desc файл, отображающий
позиции юникод шрифта в кодовую страницу текста субтитров. Другое решение - иметь субтитры,
кодированные в UTF-8 и использовать опцию или просто назвать файл
с субтитрами <имя_видео>.utf, положив его в один каталог с фильмом.
OSD меню
У MPlayer'а существует целиком определяемый пользователем интерфейс OSD меню.
меню Preferences[Настройки] в настоящий момент НЕ НАПИСАНО!
Установка
скомпилируйте MPlayer, указав
./configure параметр
убедитесь, что у Вас установлен OSD шрифт
скопируйте etc/menu.conf в Ваш каталог .mplayer
скопируйте etc/input.conf в Ваш каталог .mplayer, или в системный конфигурационный
каталог MPlayer'а (по умолчанию:
/usr/local/etc/mplayer)
проверьте и отредактируйте input.conf, чтобы включить
кнопки перемещения по меню (это здесь описано).
запустите MPlayer как в следующем примере:
$ mplayer -menu file.avi
нажмите любую меню-кнопку, которую Вы определили
RTC
У MPlayer'а есть три метода синхронизации.
Чтобы использовать старый метод синхронизации,
Вам ничего не надо делать. Он использует usleep(),
чтобы подстроить A/V синхронизацию, с точностью +/- 10ms. Однако, иногда
требуется даже большая точность синхронизации.
Новый таймер использует RTC (Real Time
Clock[часы истинного времени]) для этой задачи потому, что это таймер
точностью 1ms. Он включается опцией , но требует
правильно настроенного ядра.
Если Вы работаете с ядром 2.4.19pre8 или более поздним, Вы можете настроить
максимальную частоту RTC для обычных пользователей через файловую систему
/proc.
Используйте одну из этих двух команд, чтобы сделать RTC доступным для обычных
пользователей:
echo 1024 > /proc/sys/dev/rtc/max-user-freqsysctl dev/rtc/max-user-freq=1024
Можно сделать эти изменения постоянными, добавив последнюю в
/etc/sysctl.conf.
Вы увидите эффективность нового кода таймера по строке состояния.
Функции управления потребляемой мощностью[power management] у некоторых
ноутбуковских BIOS'ов со speedstep-CPU плохо взаимодействуют с RTC. Аудио и
видео могут десинхронизироваться. Вероятно, если Вы вставите штекер внешнего
питания до включения ноутбука, то это поможет. В некоторых аппаратных
комбинациях (подтверждено при использовании не-DMA DVD драйва с материнской
платой ALi1541) использование RTC таймера приводит к "прыгающему"[skippy]
проигрыванию. В этом случае рекомендуется использовать третий метод.
Третий код таймера включается опцией
. У него эффективность RTC, но он не использует
RTC. С другой стороны, он сильнее использует CPU.