Владимир Попов
По моему скромному мнению, самые интересные в настоящее время реализации Linux это Source Based (системы собираемые из исходных текстов) - с одной стороны и Live-CD (системы, не нуждающиеся для своего запуска не только в инсталляции, но и в наличии жесткого диска вообще) - с другой. Первые - потому, что могут максимально соответствовать аппаратуре и пожеланиям пользователя (что принципиально невозможно для универсальных реализаций: будь то Linux или Windows XP), вторые - потому, что не имеют себе конкурентов среди продуктов, предлагаемых MicroSoft. И о первых, и о вторых уже говорилось. Сегодня мы представляем ещё один Live-CD - MoviX.
Может показаться парадоксальным, но "скромненький", в сравнении с Knoppix (всего-то 36-ть Мб против 700-т), MoviX представляет собой попытку синтеза обеих сильных сторон Linux: это целевая система, реализованная в форме Live-CD. Причём, цель, собственно, достаточно непритязательна: воспроизведение аудио и видео файлов всех известных автору форматов. А вот в качестве оценки можно процитировать DistroWatch: "...один из тех фантастических проектов, которые демонстрируют, что сочетание яркой идеи, свободного ПО и доступных исходных кодов могут давать поразительные результаты". Что ж, попробуем оценить эти поразительные результаты и мы...
MoviX создан Роберто Ди Лео (Roberto De Leo) первоначально для просмотра DVD. Любителям видео знакомы, конечно, множественные трудности, связанные с особенностями лицензирования этого типа продукции. Не секрет также, какую операционную систему предпочитали норвежцы, благодаря которым мы можем смотреть DVD, записанные для USA, например. Так что появление DVD-проигрывателя под Linux - скорее закономерность, чем случайность. Ну, а
поскольку модульность - неотъемлемая черта UNIX (следовательно - и Linux), то расширение одного и того же проигрывателя всевозможными кодеками и plugin-ами, обеспечивающими возможность воспроизведения всего, что только можно воспроизводить было только вопросом времени. Проигрывателей, кстати, "в царстве свободного ПО" - множество, но Роберто с самого начала предпочёл
MPlayer. И всё дальнейшее обсуждение касается именно него.
В настоящее время проект включает в себя три ветки:
0.8.0rc1;
0.8.0pre4;
0.3.0pre2.
Все версии можно загрузить с
http://sourceforge.net/projects/movix/. MoviX и MoviX2
представлены, как в виде компрессированных iso-образов (из которых диск можно получить с помощью любой записывающей программы), так и в виде "исходных
кодов". Кавычки, в данном случае, указывают на то, речь идёт не об исходниках ядра, X Window или, хотя бы, mplayer, входящих в состав MoviX (или MoviX2), а лишь о конфигурационных файлах тех же ядра и mplayer, да
десятке с небольшим скриптов, написанных Роберто. Сильной стороной варианта "исходников" является то, что iso-образ будущего диска можно создать с его
помощью не только под Linux, но и под MS Windows (с помощью mkmvxiso.bat, вызывающего, в свою очередь, mkisofs.exe и cygwin1.dll). Разумеется, раз доступны тексты исполняемых скриптов, то возможна и их модификация. Только это уже - "парафия" Linux и выходит за рамки данного описания. Отметим только, что для линуксоида в MoviX имеется два уровня "вмешательства": нижний, допускающий перекомпиляцию ядра, X-ов, mplayer и вообще всего, что, в конце концов, превращается в виртуальный диск initrd.gz, разворачиваемый в ОЗУ при загрузке системы (эту идеологию Роберто позаимствовал (в хорошем смысле) у Slackware Патрика
Волькердинга (Patrick Volkerding)), и верхний, допускающий модификацию и настройку средств проигрывания аудио и видео файлов (детище собственно
Роберто Ди Лео).
Создание диска, проблем, скорее всего, не вызовет, вне зависимости от того воспользуетесь вы готовым iso-образом или создадите его сами, расширив,
например, текст подсказки или, увековечив своё имя посредством размещения его в movix2.msg (содержимое этого файла выводится сразу после загрузки
CD). Загрузка диска также не потребует усилий: только бы BIOS Setup обеспечил загрузку с CD ROM... а вот и заставка MoviX2! Для начала можно
проигнорировать предложения по поводу нажатия F1...F5: дадим
товарищу шанс - нажимаем Enter. Если и видео и звуковая карты компьютера определились правильно, то буквально через минуту мы увидим X
Window. Не нужно ожидать аналогии с MS Windows: загрузка X Window - всего лишь переход в графический режим. Ни одного окошка, поскольку за них отвечает
некий window manager, а о его загрузке Роберто не позаботился. И - правильно. Поскольку всё, что нужно, можно вывести в xterm (попросту: терминал,
но в графической среде), и из него же вызвать тот самый mplayer, который нас только и интересует. На самом деле, вызывается скрипт
movix.pl, который, в свою очередь, запускает gmplayer (графическую оболочку mplayer), только всё это знать не обязательно: скрипты Роберто сделают всё сами.
А вот mplayer, в отличие от отказавшейся "приукраситься" X Window, выглядит вполне презентабельно: назначение органов управления
очевидно для любого, видевшего DVD или, на худой конец, VHS-проигрыватель. Найти нужный файл в окошке файл-менеджера также не составит труда: нужно
только помнить, что, в отличие от DOS и MS Windows, Linux не использует буквенное обозначение устройств, дисков и разделов. То есть, содержимое CD
ROM нужно искать в каталоге /cdrom, а дисков - в поддиректориях каталога /discs. Разделы будет выглядеть, как /discs/DiskLabel, где DiskLabel - метка раздела диска (это в том случае, если раздел метку имеет), или как /discs/disc0.partN, где N - номер раздела в соответствии с нумерацией Linux (1..4 - первичные разделы, 5 и выше - логические разделы расширенного). Доступны все файловые системы Linux и
MicroSoft. Включая NTFS. Плюс сетевые: UNIX-овская NFS и IBM/MicroSoft-овская SMB. Таким образом, в нашем распоряжении за какие-то пару минут оказался
аудио-видео проигрыватель, способный читать медиа-файлы практически с любых файловых систем и по сети, "понимающий" раза в полтора (если не более)
форматов больше, чем, скажем, msplayer. И не нужно "кликать" по два
раза: одного - вполне достаточно. Всё это, однако, "если видео и звуковая карты определились правильно". А если - нет? Вот тут-то и придётся вспомнить
о возможности нажатия F2 и F5 при старте системы. И вызовут эти
нажатия вывод информации об опциях загрузки.
Сократим путь читателя к получению работоспособного MoviX2: упомянем только те опции, которые следует попробовать, если отсутствуют изображение или звук:
boot: можно попробовать варианты:
NVidia - если, конечно, у вас видео карта от NVidia;
vesa - почти "беспроигрышный" вариант. Любые карты рассматриваются, как vesa-совместимые: забудем об их 3D-особенностях (тем более что при воспроизведении видео они, признаться, и не нужны) - зато работают без всяких драйверов;
FB - режим framebuffer: средства - графические, вывод - "гибридный" (то есть: одновременно графический и алфавитно-цифровой). Тоже "универсальный" вариант, жаль только, что в случае MoviX драйвер используется специфичный для обнаруженной видео карты, а они не все хороши;
TV - вывод на TV-out. Разумеется, если это предусмотрено возможностями видео карты.
boot: можно ввести, например:
vesa OSS=yВместо
vesa могут быть упомянутые выше NVidia, FB, TV или MoviX2 (последний - в том случае, когда видео подбирать не пришлось и запуск "по умолчанию" оказался самым удачным). OSS=y означает принудительное использование модулей звуковых карт OSS вместо применяемых по умолчанию модулей ALSA. Последние современнее и я с трудом могу представить, что аргумент OSS поможет хоть кому-то, но: "чем чёрт не шутит?"
С сожалением должен признать, что если все перечисленные комбинации не принесли желаемого результата, то ваше тестирование MoviX2 на этом и закончится: заставить работать в Linux устройство, которое не заработало "само" для пользователя, не знакомого с Linux поближе, - нереально. Тут уж, как писал когда-то Михаил Зощенко: "что пардон - то пардон"...
Если же удача вам сопутствовала, то знакомство можно продолжить. Для начала, несколько аргументов загрузки уже не "решающих", но полезных:
CD=NN, где NN=16, 24 или 32. Color Depth, как нетрудно догадаться. В битах, разумеется. Умолчание - 16. Почему бы не попробовать больше, если видео файл такую глубину цветопередачи обеспечивает? Не нужно огорчаться, если при CD=32 X Window не заработает: 24 бита, известные в быту как "true color" - вполне достаточно.
HF= и VF= - частота строчной и кадровой развёрток. Как правило, X Window не ошибается в определении этих параметров, но если вам лучше известны параметры собственного монитора..
MOUSE=xxx, где xxx=serial, ps2 или usb. Задание типа мыши, если она не определяется автоматически;
MONITOR=std - указание использовать стандартные частоты развёрток, вместо автоматически определённых. На случай отказа X Window стартовать.
Есть ещё один очень интересный аргумент - DRIVER, определяющий используемый mplayer видео драйвер (не нужно путать с видео драйвером X Window). Вариантов чуть ли не десяток, но мне кажется, более рациональным
экспериментировать с ними уже в X Window - такая возможность имеется. Другое дело, если в ходе этих экспериментов определится явно лучший для вашей
системы драйвер, и он окажется не совпадающим с используемым по умолчанию: тогда, действительно, стоит указывать его при загрузке, поскольку ввод пары
букв в командной строке явно проще, чем поиск соответствующей "кнопочки" в preferences mplayer.
Есть ещё аргументы, запрещающие монтирование разделов (зачем бы это?), определяющие сетевые настройки (DHCP или "вручную"), активирующие USB и загружающие альтернативную раскладку клавиатуры. Подробности - по F5 при загрузке (или в файле /src/isolinux/trblst2.txt, если вы предпочли вариант "исходных кодов").
По F3, кстати, или в /src/isolinux/mphelp.txt стоит
посмотреть клавиши управления mplayer: как ни хорош интерфейс
gmplayer, а рядом с кадрами фильма мне лично он представляется излишним. К перечисленным клавишам стоит добавить ещё одну - <f>. Переход в полноэкранный режим и обратно.
Если кликнуть по "корпусу" проигрывателя правым бутоном мыши, то откроется колонка меню, большинство позиций которого очевидны, и самая интересная из
них - упомянутая выше preferences. Наверняка, абсолютное большинство из нас не догадывается, что воспроизведение аудио и видео имеет такое множество настроек. Вскользь заметим, что настроек этих самых у mplayer на самом деле ещё больше: только не все они вошли в
графический интерфейс. Может: и к лучшему. Познакомимся с наиболее полезными:
Equalizer. Остаётся удивляться, почему он не включён по умолчанию. Этот самый Equalizer, кстати, позволяет изменять параметры воспроизведения не только аудио, но и видео;
direct rendering (аппаратный рендеринг), double buffering (двойная буферизация) и разрешение frame dropping (пропуск кадров, если вычислительная система оказывается не в состоянии обработать поток). Не удивляйтесь, если эффект переключений не всегда очевиден: современные IBM PC обладают существенным запасом вычислительной мощности, если речь идёт о воспроизведении видео;
Если вы ещё не заметили, то MoviX2 хоть и маленький, но Linux. С такими неотъемлемыми атрибутами как многозадачность и, как следствие,
многотерминальность. <Alt>+<F1> переведёт вас в консоль, откуда, собственно, и были запущены X Window. <Alt>+<F2> покажет аудио микшер, а <Alt>+<F3> предложит нажать <Enter> для активации ещё одной консоли.
<Alt>+<F4> - вернёт в X Window, где путешествие по консолям можно и закончить: линуксоид разберётся сам, а для остальных набор
Linux-утилит в MoviX2 уж слишком скромен.
Кнопка включения/выключения проигрывателя не закрывает X Window, как можно было бы предположить, а просто перезапускает mplayer, возвращая его
настройки к значениям по умолчанию. То же происходит и при крахе mplayer: не такая уж редкость, хотя чаще - по вине воспроизводимого
файла. Выключить же MoviX2 можно, обесточив IBM PC или кнопкой Reset: столь неприемлемый для обычных систем способ не нанесёт ущерба CD ROM. Другое дело, если вы редактировали содержимое жесткого диска:
маловероятно, но - возможно. Тогда рекомендуется "нормальный" выход: например - "салют из трёх пальцев" (Ctrl+Alt+Del) в любой из текстовых
консолей.
Поддержка работы в Сети означает не только возможность воспользоваться медиа-файлами компьютеров локальной сети, но и прослушивание Интернет радиостанций. Не очень пока распространённый у нас сервис, но: поживём - увидим.
Встречались ли вам кодированные DVD? MoviX решает и эту проблему.
Точнее - решал. В апреле 2003-го Роберто изъял из дистрибутива libdvdcss (а именно эта библиотека обеспечивала дешифрование) из-за
потенциально возможных юридических трудностей. Но кто помешает вам установить её самостоятельно? Или воспользоваться предыдущей версией дистрибутива?
MoviX2 нельзя назвать "перенасыщенным" help-ами и подсказками и это, мне кажется, естественно: единственное приложение, с которым "общается" пользователь, это - mplayer. Последний же, в свою очередь, сложен в соответсвии со сложностью цифровых аудио и видео. Это не означает, что для тривиального воспроизведения приходится с этой сложностью сталкиваться. Нет, как правило. Но хороший инструмент должен учитывать "все варианты". А
mplayer явно претендует на это звание. Откуда и сложность. Поэтому-то Роберто Ди Лео при необходимости просто отправляет пользователя на
http://www.mplayerhq.hu/. Поступим также и мы.
Различия между MoviX и MoviX2 проистекают, как уже отмечено, из наличия во втором X Window. Кроме само собой разумеющегося различия в пользовательском интерфейсе (не такого уж разительного после перехода MoviX на меню ориентированный режим) есть и более принципиальные различия:
Ещё одно, "идеологическое" различие: MoviX предоставляет разделы винчестера доступными только для чтения, тогда как MoviX2 - для чтения и для записи, что несколько непривычно для систем UNIX-клона: пренебрежение правилами безопасности не приветствуется.
Для линуксоида MoviX интересен ещё и историей его создания. Последняя, правда, не часть дистрибутива, а изложена на виртуальных страницах Linux Journal автором MoviX - Роберто Ди Лео. Фактически - это набор рекомендаций по созданию проблемно-ориентированного мини CD-дистрибутива Linux. Вот, вкратце, основные этапы этого процесса:
loopback device, виртуального RAM диска (в том числе стартового, известного, как initrd - Initial RAM disk) и файловой ситемы /devfs;
initrd;
Каждый из пунктов в статье описан достаточно подробно: так что желающие вполне могут "дерзнуть", ознакомившись с полным текстом статьи Робертоа Ди Лео.