главная пошаговое создание livecd что такое linux ISO образы
Операционная система с графическим интерфейсом
На главнуюКонтактыКарта сайта
Полезное


 

ДОБРО ПОЖАЛОВАТЬ


MoviX: "рабочее место" медиамана

По моему скромному мнению, самые интересные в настоящее время реализации 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. И всё дальнейшее обсуждение касается именно него.

В настоящее время проект включает в себя три ветки:
eMoviX - ПО, размещаемое на CD ROM в качестве "встроенного" проигрывателя. Поместив eMoviX на CD с фильмом, например, получаем загружаемый диск со средствами воспроизведения этого самого фильма. В обмен на 7 Мб объёма, правда. Представляет интерес, очевидно, для составителей видеодисков. Текущая версия - 0.9.0rc1;
MoviX - Linux без графической оболочки, загружаемый с CD и размещаемый в памяти (то есть: после загрузки системы привод CD освобождается и его можно использовать на своё усмотрение). Эта ветка у Роберто любимая, по его собственному признанию. Она же - и самая совершенная, поскольку MPlayer, изначально, - консольное приложение. Но для того, что бы оценить это совершенство, требуется хотя бы минимальное знакомство с консольным режимом: других "не искать". Не так уж страшно, кстати. Меню-ориентированный режим прекрасно реализуется и в консоли, а за отказ от "кнопочек" вы получаете возможность полного управления MPlayer. Текущая версия - 0.8.3;
MoviX2 - аналог MoviX, включающий в себя графическую оболочку - X Window, со всеми вытекающими отсюда последствиями. Последствия эти достаточно существенны и мы вернёмся к ним ниже, но сам по себе стиль работы графической версии MPlayer (окошки-кнопочки) автоматически делает эту ветку наиболее привлекательной для пользователей, не знакомых с Linux. А поскольку таких - большинство (возможно: пока), то именно MoviX2 и будет в центре нашего внимания. Текущая версия - 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, а рядом с кадрами фильма мне лично он представляется излишним. К перечисленным клавишам стоит добавить ещё одну - : переход в полноэкранный режим и обратно.

Если кликнуть по "корпусу" проигрывателя правым бутоном мыши, то откроется колонка меню, большинство позиций которого очевидны, и самая интересная из них - упомянутая выше preferences. Наверняка, абсолютное большинство из нас не догадывается, что воспроизведение аудио и видео имеет такое множество настроек. Вскользь заметим, что настроек этих самых у mplayer на самом деле ещё больше: только не все они вошли в графический интерфейс. Может: и к лучшему. Познакомимся с наиболее полезными: в закладке Audio безусловно, стоит включить Equalizer. Остаётся удивляться, почему он не включён по умолчанию. Этот самый Equalizer, кстати, позволяет изменять параметры воспроизведения не только аудио, но и видео; в закладке Video прежде всего, стоит поэкспериментировать с выбором драйвера и устройства видео-вывода. Предлагаемых вариантов - пять. С конкретной видеокартой будут работать не все, но выбор всё-таки есть. Дополнительные возможности: включение direct rendering (аппаратный рендеринг), double buffering (двойная буферизация) и разрешение frame dropping (пропуск кадров, если вычислительная система оказывается не в состоянии обработать поток). Не удивляйтесь, если эффект переключений не всегда очевиден: современные IBM PC обладают существенным запасом вычислительной мощности, если речь идёт о воспроизведении видео; закладка Subtitles & OSD определяет режим показа субтитров и другой дополнительной информации на экране. Почему-то у нас субтитры распространены не очень, в отличие от Финляндии или Польши, скажем: кто-то сомневается в нашей "сплошной грамотности", что ли? закладки Codecs & demuxer и Misc одновременно интересны и непонятны неискушённому пользователю. На мой взгляд, замена кнопочкой опции, одно описание которой едва ли не страница текста (пост процессные фильтры, например) - не лучшая идея. Впрочем, желающие вполне могут следовать девизу "твори, выдумывай, пробуй": возможностей для этого - предостаточно.

Детали...

Если вы ещё не заметили, то MoviX2 хоть и маленький, но Linux. С такими неотъемлемыми атрибутами как многозадачность и, как следствие, многотерминальность. + переведёт вас в консоль, откуда, собственно, и были запущены X Window. + покажет аудио микшер, а + предложит нажать для активации ещё одной консоли. + - вернёт в 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: сравнение

Различия между 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 позволяет сохранять на дискете (и - загружать с неё, разумеется) конфигурационные файлы MoviX и mplayer, полученные в ходе экспериментов, подчас довольно длительных. Предполагаю, этой возможности нет в MoviX2 лишь пока, но - нет; в-четвёртых, вывод консольного mplayer можно направить не на экран, а в файл, сохранив, таким образом, результат столь тщательно подобранных опций декодирования и фильтрования. При желании - в другом разрешении или формате. Тоже, безусловно, не всем нужно, но - впечатляет.

Ещё одно, "идеологическое" различие: MoviX предоставляет разделы винчестера доступными только для чтения, тогда как MoviX2 - для чтения и для записи, что несколько непривычно для систем UNIX-клона: пренебрежение правилами безопасности не приветствуется.

История

Для линуксоида MoviX интересен ещё и историей его создания. Последняя, правда, не часть дистрибутива, а изложена на виртуальных страницах Linux Journal автором MoviX - Роберто Ди Лео. Фактически - это набор рекомендаций по созданию проблемно-ориентированного мини CD-дистрибутива Linux. Вот, вкратце, основные этапы этого процесса: компиляция ядра с обязательной поддержкой экспериментальных опций, loopback device, виртуального RAM диска (в том числе стартового, известного, как initrd - Initial RAM disk) и файловой системы /devfs; создание в памяти корневой файловой системы, наполнение её (знакомимся с busybox) и получение, в конечном счёте, файла initrd; тестирование полученного образа системы; создание образа загружаемого CD с использованием syslinux; авто определение оборудования (в отличие от Клауса Кноппера (knoppix) Роберто удовлетворяется результатом работы демона devfsd, являющегося, в данном случае, частью ядра; определение необходимых модулей звуковых карт (собственная разработка Роберто Ди Лео); включение в дистрибутив "ключевого" приложения (в данном случае - mplayer); "усечение" до необходимого состава X Window.