CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

Наш пингвинарий

(c)Петр 'Roxton' СЕМИЛЕТОВ

(Продолжение, начало см. в МК № 49, 51—52, 1 (168, 170—172))

Чаще всего новички в Линуксе задают мне два вопроса: как устанавливать программы и как смотреть видео. Поэтому вместо описания гномьих красот я решил рассказать о более насущном.

Видео в Линуксе

Эта статья убивает сразу двух зайцев, отвечая на оба вопроса. Правда, на первый лишь частично, потому как инсталляция приложений в Линуксе — тема довольно большая и тонкая. Как уже говорилось ранее и вскользь, есть два способа установки программы — ее компиляция из исходников и инсталляция RMP-пакетов, которые, как правило, содержат в себе уже откомпилированные под конкретное программное окружение программы. Сегодня я коснусь только первого метода, как наиболее универсального и близкого духу Линукса. Разумеется, понадобится идеальный пример, то есть продукт, который даже полный чайник сможет откомпилировать без проблем. И вместе с тем это продукт чрезвычайно полезный, хоть он и не входит, насколько я знаю, в поставку популярных дистрибутивов Линукса. Речь идет об видеоплейере с весьма прозаичным названием MPlayer. Знали бы вы, что за чудо инженерной мысли за ним скрывается! Впрочем, сейчас узнаете.

Вкратце о положении видео в Линуксе вообще. Туго, братцы, туго! Это на неискушенный взгляд. Те проги, что обычно идут с дистрибутивами (Gtv MPEG Player, XMovie и другие), не совсем удобны, развиваются не то чтобы медленно, но и не быстро, а вдобавок не поддерживают DivX/MPEG4 — а какой прок от плейера, который не держит самый популярный нынче формат? Да, вы можете скачать с http://www.mydivx.com кодек, попытаться подружить его с каким-то ветхозаветным плейером, но ничего путного из этого не выйдет. Да и зачем пудрить себе мозги, если можно установить ВЕЛИКОЛЕПНЫЙ (я не боюсь этого эпитета) плейер MPlayer (http://www.mplayerhq.hu), аналога которому нет даже в мире Windows (впрочем, BSPlayer уверенно развивается — качайте свежие релизы с http://www.bstnet.org/bsplay).

Чем так хорош MPLayer? Во-первых, он показывает все что угодно, используя кодеки для DivX/MPEG4, Video CD (MPEG 1), DVD (MPEG 2), старый QuickTime (формат нового QT, увы, засекречен), Windows Media Video 7 и 8, XAnim, VIVO, FLI, Indeo5 и другие. Оптимизирован, понятное дело, для работы с DivX. Еще один момент... Запомните, что сжатие определенным кодеком — это еще не формат файла. Сейчас популярен формат AVI. Файлы в нем содержат в себе видео, которое может быть сжато НЕКОТОРЫМИ кодеками — DivX, Indeo5, MPEG 1, и так далее. Поэтому нужно в большей мере обращать внимание не на то, какие «форматы файлов» понимает плейер, а с какими кодеками он работает! Куча старых или слаборазвитых плейеров отлично проиграют вам AVI, в котором видео компрессировано в MPEG 1, и сдадутся, попав на DivX.

Второй плюс MPlayer'а — дайте ему любую видеокарту, любой монитор, и он покажет вам видео! Древний текстовый терминал? Ха... Получите видео в текстовом режиме, через библиотеку AALIB. А вот еще пущий изврат — нет монитора. Ну, тогда MPlayer можно заставить выдавать кадры в отдельные PNG(или других форматов)-файлы. Касательно видях — плейер тесно взаимодействует на «нижнем» уровне с уже ставшей легендарной серией Voodoo, современными Matrox'ами, Rage128 (Pro) и Radeon, дружит и с остальными картами —ATI Mach64, TNT, GeForce 2/3, Savage3D/Savage 4 (об S3 Virge ничего не скажу). Ежели на карте есть порт Video OUT, то плейер может выдавать сигнал и туда (подробнее читайте в документации).

MPlayer на этапе компиляции тесно привязывается к типу процессора и имеющимся у вас библиотекам. К процессору — для оптимизации. MPlayer сделан таким образом, что под Athlon он компилируется с инструкциями 3DNow! всех уровней; под новый Пень —SSE2, и там, где возможно, работает с MMX. В итоге производительность держится где-то на уровне BSPlayer (который раза в четыре шустрее стандартного Windows Media Player). Вот почему MPlayer распространяется только в исходниках — чтобы при компиляции его можно было «заточить» конкретно под вашу машину. Давайте посмотрим, что нам понадобится для успешной компиляции плейера, что придется скачать и откуда именно.

Первое — окружение, то есть утилиты и библиотеки. По идее, все это имеется в вашем дистрибутиве Линукса (только он не должен быть очень старым :-)). Если нет, или дистрибутив древний — придется качать свежие версии. Итак, надо:

• Набор утилит binutils (начиная с версии эдак 2.10), сервер XFree86 (желательно с 4.0.2 и выше), утилиту сборки make (3.79 и выше), еще хорошо бы иметь библиотеку SDL (Simple Media Layer, нечто вроде мультимедийной подсистемы для унификации доступа к графике и музыке — см. http://www.libsdl.org). Плюс, самое главное, — компилятор gcc (http://gcc.gnu.org). Желательно версию, отличную от 2.96, которая вызвала настоящий флейм между разработчиками MPlayer и его пользователями — доходило даже до нецензурных слов со стороны последних! Дело в том, что некогда включенный в состав Linux RedHat компилятор GCC версии 2.96 игнорирует весь код, оптимизированный под 3DNow!, SSE и их модификации. Но! В зависимости от некоторых условий — номера билда, системного окружения (до сих пор непонятно, что ему нужно). У меня именно этот «баговый» компилятор, и тем не менее все в порядке. У других — проблемы, которые НЕ решаются. Впрочем, сам GCC давно уже перешагнул третью версию, так что можно скачать свежак — правда, он здоровенный, и устанавливать его желательно, вооружась знанием английского (чтобы читать документацию по установке) и некоторым опытом. Одним словом, тема выходит за пределы этой статьи. А если хотите узнать про перепалки между разработчиками MPlayer и пользователями подробнее, читайте в директории с документацией два файла: users_against_developers.html и gcc-2.96-3.0.html — это песня... Но мы споем о другом!

Для GUI (графического интерфейса) нужны такие библиотеки: GTK, libpng (изображения в скинах находятся в формате PNG) и ее версия для разработчиков (поищите в своем дистрибутиве Линукса пакеты, названные libpng2 и libpng-devel, а если их нет, то идите на www.libpng.org и берите оттуда)

Второе —КОДЕКИ, а именно — набор виндовых кодеков, немного переделанных dll'ок, которые надлежит скачать в одном большом архивном файле с http://www2.mplayerhq.hu/MPlayer/releases/w32codec-0.60.tar.bz2 и распаковать в /usr/lib/win32.

Кодек DivX4 качается с http://download.divx.com/videocodecs/linux/divx4linux-20011010_4.02.tgz, затем распаковывается, устанавливается командой ./install.sh из директории, куда вы распаковали кодек. Еще нужно добавить путь /usr/local/lib в файл /etc/ld.so.conf, если там нет этой строки, — хотя по идее установочный скрипт делает это автоматически. Но... Все может быть  :-).

Третье — дистрибутив плейера. На сайте выложены две версии: официальный релиз и CVS-версия. Я рекомендую скачать последнюю. CVS — это такая система, позволяющая контролировать версии. Она используется для совместной разработки программы несколькими разработчиками, в частности по сети, позволяя избежать путаницы с версиями. Программисты добавляют новый код, модифицируют существующий, и все это «синхронизируется» и отслеживается по CVS. CVS-версия всегда опережает официальный релиз и, как правило, уходит далеко вперед. Беда многих продуктов в том, что CVS-релизы бывают очень глюкавыми, но в случае с Mplayer в этом отношении все нормально. Итак, качайте версию CVS, она более свежая —http://www2.mplayerhq.hu/MPlayer/cvs/MPlayer-current.tar.bz2.

В Konqueror'е просто заходим в архив, как в обычную папку, и тащим содержимое архива куда-нибудь в другую директорию — архив начнет распаковываться. Сжатие там просто сумасшедшее — почти девятиметровые исходники уместились в двух мегабайтах архива! Поэтому готовьтесь к длительному процессу распаковки — он долог даже на вроде бы нехилом Athlon 900.

Компиляция хорошо «оформленного» исходника программы состоит из двух этапов —конфигурирования и собственно компиляции. Конфигурируем-то что именно? Параметры компиляции. Именно на этапе конфигурирования мы придадим плейеру тот вид, те свойства, которые хотим видеть. Из директории, куда вы распаковали дистрибутив, выполняем команду:

Это покамест для тестирования, чтоб знать, будет ли вообще все работать. Параметр disable-gcc-checking НУЖЕН, если у вас вышеупомянутый компилятор. А с этим параметром можно попробовать и откомпилировать... В этом случае скрипт все равно обругает компилятор, но вы тихенько нажмите Enter, и процесс пойдет. На консоль должна вывестись информация о проверке, что есть в вашей системе, а чего нет. Примерно вот так:

И так далее... Все это отнюдь не пустая информация — если вы не знаете, какие библиотеки установлены, то просмотр этих сообщений — хороший способ узнать, что вам нужно. Обратите внимание на строки с «резюме» (после «Config files successfully generated by ./configure!). Примерно вот такие (с моими комментариями):

В первой строке сообщается, куда после компиляции будет помещен исполняемый файл плейера (mplayer) и кодировщик mencoder (это утилита на случай, если вам понадобится конвертировать видео из одного формата в другой), а в двух других строках — где находятся директории с необходимыми ему файлами:

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

Далее, если вы хотите получить список параметров конфигурационного скрипта, запустите его с --help. Большинство параметров задавать не нужно, они устанавливаются автоматически. Но обратим внимание на две вещи. Во-первых, на выбор языка:

--language=xx (здесь хх может принимать одно из следующих значений: cz, de, dk, en, es, fr, hu, it, ko, nl, no, pl, ro, ru) — то есть, если вам нужен русский, то используйте --language=ru, а английский —--language=en.

Правда, тем многочисленным отечественным пользователям, терпящим от проблем с «кривой» русификацией, пожалуй, стоит рекомендовать компилировать с английским языком. У меня хоть подобная «кривизна» и не наблюдается, но в Линуксе я держусь хорошей привычки работать с «интернациональным» английским, а потому меня не беспокоит тот факт, что на русский переведена лишь малая часть документации по MPlayer, и то каким-нибудь электронным переводчиком (некоторые фразы читать решительно невозможно).

Другая опция, заслуживающая более пристального внимания:

Эта опция включает графический интерфейс. Вы сможете использовать и консольный, и GUI-режимы, но чтобы GUI работал, его поддержку надо включить прямо сейчас, до компиляции. Интерфейс поддерживает скины, причем любопытна одна деталь — в Гноме скины с непрямоугольными границами отображаются нормально, а под KDE они ограничиваются прямоугольником, вдобавок, области скина, которые должны быть прозрачными, глухи как стены... Так, а теперь проведем окончательное конфигурирование, уже с помощью команды

Если ничего не вышло, то устанавливайте то, чего вам не хватает для успешной компиляции — скрипт подробно об этом рассказывает. Если же все ОК (а скорее всего, так оно и будет), то вводим следующую команду:

Процесс компиляции начался, консоль заполняется мудреными сообщениями. А вы ждите, не прерывайте. Make смотрит, какие файлы надо компилировать, и переправляет их компилятору. Когда этот этап завершится, набирайте

Если все хорошо, то исполняемый файл mplayer и кодировщик mencode лягут по умолчанию в /usr/local. Чтобы запускать их без каких-либо ограничений, нужно либо тупо перенести эти файлы в директорию /bin, либо занести /usr/local в системную переменную PATH. Но проще и быстрее первый способ :-).

Если вы думаете, что это все, то ошибаетесь. Во второй части этой статьи будет рассказано, как ПРАВИЛЬНО запускать MPlayer, как настраивать его, использовать скины (скин-браузер еще не готов, их приходится подключать через специальный файл). Для тех, кто горит желанием запустить плейер прямо сейчас, причем ипользуя GUI, то лучше всего сделать это с помощью такой командной строки:

Иначе сочетание SDL + GUI при переключении из fullscreen в оконный и наоборот (клавиша F) вызывает проблемы, а в графику выводить лучше все-таки через более универсальный, чем другие, движок SDL.

P.S. Поскольку во многих читательских письмах мне часто задаются одни и те же вопросы, с целью экономии вашего и своего времени я решил вести FAQ нашего Пингвинария — вы его можете отыскать на http://www.roxton.kiev.ua/pngfaq.htm.

(Продолжение следует)

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov