Версия 1.1, 30 мая 2005 г.
Версия 1.0 - на Unix.ginras.ru
По моему скромному мнению, самые интересные в настоящее время реализации 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.9.0rc1;0.8.3;0.3.1rc2.Все версии можно загрузить с сайта проекта. 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 на самом деле ещё больше: только не все они вошли в графический интерфейс. Может: и к лучшему. Познакомимся с наиболее полезными:
Если вы ещё не заметили, то 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 на меню ориентированный режим), есть и более принципиальные различия:
mplayer. Для MoviX это, практически, только svga, vesa framebuffer и тот же framebuffer, но уже аппаратно ориентированный. Для MoviX2 это набор драйверов, лежащих "поверх" аппаратно-специфичных драйверов X Window. За первыми - универсальность и нетребовательность к ресурсам, за вторыми - высокое разрешение, 32-битный цвет, аппаратное ускорение, рендеринг, 3D и тому подобная атрибутика современных видеокарт. Казалось бы: предпочтение должно быть за вторыми, однако... Обращали ли вы внимание, с каким разрешением записываются MPEG-4? А какое обеспечивает DVD? А глубина цветопередачи? Ответы на этот вопросы неминуемо приводят нас к выводу, что режим 800х600 true color (24 bit per pixel) с лихвой покрывает требования современного видео. Хватало бы вычислительной мощности, но, на настоящем этапе, это проблемой не является: пишут, что mplayer обеспечивает хорошее воспроизведение даже на P200MMX;mplayer Иксовому, то этот - причину такого предпочтения многими, включая Роберто Ди Лео. Само по себе количество аудио- и видео-форматов приведёт в уныние кого угодно. Далее: одни и те же форматы могут обрабатываться разными кодеками. Плюс "конвейерная" обработка: декодировали, теперь - фильтруем, да ещё и не один раз. Одним словом: представление этого многообразия в виде "интуитивно-понятного" интерфейса - не очень рациональное времяпровождение. Описание "чего хочу" в виде опций запуска mplayer - намного проще. Правда, для этого эти опции нужно знать... Но речь ведь идёт уже не об однократном проигрывании, а, скорее, о способах обработки видео файлов. А это уже - труд, без которого, как известно, "не вытащишь рыбку...";Ещё одно, "идеологическое" различие: MoviX предоставляет разделы винчестера доступными только для чтения, тогда как MoviX2 - для чтения и для записи, что несколько непривычно для систем UNIX-клона: пренебрежение правилами безопасности не приветствуется.
Для линуксоида MoviX интересен ещё и историей его создания. Последняя, правда, не часть дистрибутива, а изложена на виртуальных страницах Linux Journal автором MoviX - Роберто Ди Лео. Фактически - это набор рекомендаций по созданию проблемно-ориентированного мини CD-дистрибутива Linux. Вот, вкратце, основные этапы этого процесса:
loopback device, виртуального RAM диска (в том числе стартового, известного, как initrd - Initial RAM disk) и файловой системы /devfs;busybox) и получение, в конечном счёте, файла initrd;syslinux;mplayer);Каждый из пунктов в статье описан достаточно подробно: так что желающие вполне могут "дерзнуть", ознакомившись с полным текстом статьи Роберто Ди Лео.