CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
26.05.2017

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дистрибутивы :: LiveCD

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

Версия 1.1
Версия 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. И всё дальнейшее обсуждение касается именно него.

В настоящее время проект включает в себя три ветки:

  • 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, а рядом с кадрами фильма мне лично он представляется излишним. К перечисленным клавишам стоит добавить ещё одну - <f>: переход в полноэкранный режим и обратно.

Если кликнуть по "корпусу" проигрывателя правым бутоном мыши, то откроется колонка меню, большинство позиций которого очевидны, и самая интересная из них - упомянутая выше preferences. Наверняка, абсолютное большинство из нас не догадывается, что воспроизведение аудио и видео имеет такое множество настроек. Вскользь заметим, что настроек этих самых у mplayer на самом деле ещё больше: только не все они вошли в графический интерфейс. Может: и к лучшему. Познакомимся с наиболее полезными:

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

Детали...

Если вы ещё не заметили, то 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: сравнение

Различия между 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.

Каждый из пунктов в статье описан достаточно подробно: так что желающие вполне могут "дерзнуть", ознакомившись с полным текстом статьи Роберто Ди Лео.




Комментарии

Рокин Егор (г.Чита), Tue Nov 14 21:32:37 2006:
ОООгромное спасибо за статью! Недавно решил осваивать Linux и такие статьи - на вес золота. Жаль что людей которым нужна "глубина" командной строки так мало... :-)

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds