С выходом первой стабильной версии мультимедийного фреймворка GStreamer расскажем об этом проекте подробнее, так как мы о нём в "Компьютерных вестях" практически никогда не писали. Большая же часть обзора будет посвящена эпическим размышлениям на тему простоты компьютерных приложений на примерах только что вышедших GNOME 3.6 и Slackware 14.
GStreamer 1.0
На прошлой неделе сразу несколько открытых проектов вышли со знаменательным номером версии 1.0 - мобильная операционная система Open WebOS, а также мультимедийные библиотеки FFmpeg и GStreamer.
Про Open WebOS мы недавно говорили, и добавить к этому пока нечего. Набору мультимедийных библиотек FFmpeg мы тоже не раз уделяли внимание. А вот про мультимедийный фреймворк Gstreamer практически ничего не рассказывалось.
А ведь Gstreamer - это важная мультимедийная подсистема современных систем GNU/Linux. Например, рабочая среда GNOME является основным пользователем этой технологии. Также совсем недавно в кодовую базу Firefox добавлена экспериментальная поддержка GStreamer в качестве бэкенда для проигрывания аудио/видео элементов HTML5.
Основное предназначение библиотек GStreamer - это предоставление приложениям возможности по управлению многообразными типами мультимедийных данных. Мы уже давно живём во время повсеместного использования мультимедиа-информации, которая представлена множеством мультимедийных форматов видео и аудио. GStreamer - это библиотека для обработки всего этого мультимедийного разнообразия, которая предлагает приложениям абстрактный программный слой для работы с этими данными. В результате приложениям, основанных на GStreamer, не нужно самим заботиться о поддержке конкретных типов мультимедиа.
Конкретные задачи обработки видео и аудио в GStreamer решаются при помощи плагинов. Основные плагины распространяются в базовых пакетах gst-plugins-base. Также есть наборы дополнительных плагинов gst-plugins-good, gst-plugins-bad и gst-plugins-ugly, где они подобраны в зависимости от уровня поддержки, лицензий и принципа распространения. Есть и плагины, распространяемые отдельными сторонними производителями. Установка дополнительных gst-plugins - это обычно первое дело, которые выполняют пользователи Ubuntu.
GStreamer имеет аналог shell под названием gst-launch для работы с мультимедийными данными посредством скриптов. Вот, как, например, выглядит скрипт, представляющий собой простейший аудиоплеер, который играет файл "simple.mp3":
$ gst-launch-0.10 filesrc location="simple.mp3" ! decodebin ! alsasink
Вышедшая на прошлой неделе версия 1.0 содержит много кардинальных изменений на уровне API по сравнению с предыдущими версиями фреймворка. То есть новая версия будет несовместима с текущими приложениями, использующих GStreamer. Также требуется переписывать по-новому и плагины.
Однако версию 1.0 можно устанавливать параллельно с предыдущими версиями, и они не будут никак конфликтовать. Также особенностью первой версии является полная стабилизация программных и бинарных интерфейсов API и ABI.
Основные функциональные изменения первой версии:
- переход на новую архитектуру организации буферизации и управления памятью;
- переделан код захвата видео и звука, в который добавлены новые механизмы захвата;
- обеспечена начальная поддержка интерфейсов аппаратного декодирования видео VAAPI и VDPAU, а также используемого на встраиваемых платформах OpenMax IL API;
- проброс сжатого звука на устройства воспроизведения, что позволяет, например, использовать гарнитуры и звуковые карты с интерфейсом USB, имеющие средства аппаратного декодирования MP3 и AAC.
GNOME 3.6
Прошло уже полтора года с момента первого выхода рабочей среды GNOME 3. Появившаяся на прошлой неделе осенняя версия GNOME 3.6 позволяет, на мой взгляд, сделать уже объективные выводы о развитии этого графического окружения.
Эти полтора года были для разработчиков GNOME совсем не сладкими. Критика в адрес проекта звучала весьма нелицеприятная - особенно со стороны Линуса Торвальдса, чей авторитет непререкаем.
Но, конечно же, разработчики GNOME были к этому готовы. Хотя бы и потому, что ещё не забыт пример графического интерфейса KDE 4, который тоже поначалу сильно критиковали. А сейчас многие к нему возвратились (в том числе, и автор этого обзора).
Но суть проблем у KDE 4 и GNOME 3 всё же разная. Если среда KDE 4 вначале критиковалась за сырость и нестабильность работы, то в случае GNOME 3 критике подвергается сама концепция рабочей среды.
Основная идея GNOME 3 - это как можно больше упростить работу пользователя в этом рабочем окружении, спрятать от него сложности настройки и конфигурации системы. Но это стремление к упрощенчеству вызвало и раздражение у многих бывших пользователей GNOME 2, которые теперь для себя считают более приемлемым в плане функциональности XFCE. .
Более глубокой причиной проблем, связанных с неприятием нового "Гнома", я бы назвал желание разработчиков GNOME, что называется, посидеть на двух стульях сразу - то есть видеть GNOME не только на классических ПК, но и на мобильных устройствах. Об этом как раз и свидетельствует стремление как можно больше упростить работу пользователя с GNOME 3.
Но, как показывает жизнь, практика сидения на двух стульях редко бывает успешной. Если говорить об универсальных интерфейсах, которые были бы одинаковы и для мобильных устройств, и для рабочей станции, то тут даже у Apple пока ещё ничего нет. Хотя именно поэтому проект GNOME и следует похвалить за работу в направлении унификации мобильного и десктопного интерфейсов.
Интересным следствием упрощенческих идей GNOME 3 стало то, то что этот проект начал рассматриваться как технологическая база для создания новых графических сред . Уже написаны Ubuntu Unity, Cinnamon (о котором мы как раз писали прошлый раз), китайская оболочка Deepin, Pantheon Shell.
Так что говорить о провале третьего "Гнома" не приходится. Пользователи могут выбрать то, что отвечает их потребностям, и в итоге лучшие десктоп-окружения выживут.
Думаю, что именно к выходу этой осенней версии 3.6 все пользователи уже свой субъективный выбор окончательный сделали в отношении оставаться или уходить с "Гнома". Тем более что изменения GNOME 3.6 вряд ли заставят "отщепенцев" вернуться обратно.
Например, спорной может выглядеть новая организация быстрого перехода к приложениям. Теперь вместо вкладки в верхнем левом углу для доступа к приложениям в панель Dash интегрирована отдельная кнопка.
В мобильном стиле сделан экран блокировки. Во время блокировки экрана без ввода пароля доступны такие функции, как изменение громкости и управление воспроизведением мультимедиа контента. Кроме того, пользователю предоставляется сводный отчёт о системных уведомлениях, поступивших во время блокировки экрана.
Всплывающие уведомления теперь появляются снизу в форме баннеров, выстроенных в очередь. Для быстрого закрытия уведомлений добавлена отдельная кнопка.
GNOME 3 - это не только рабочий графический интерфейс, но и набор программ для базовых задач. В этот набор входят файловый менеджер, браузер, почтовый клиент и другие приложения.
В GNOME 3.6 существенные изменения претерпел штатный файловый менеджер Nautilus, в котором был совершен очередной шаг в сторону упрощения. Добавлена новая реализация панели инструментов и боковой панели.
Из набора прикладных программ GNOME внимания заслуживает программа Boxes. Утилита Boxes предназначена для создания/удаления виртуальных машин, как на локальном ПК, так и для подключения к удаленным машинам. В Boxes, по мнению его создателей, можно с минимальными усилиями подготовить рабочую виртуальную машину, не задумываясь о настройке и используемом гипервизоре. Для организации эффективного доступа к графическим приложениям на внешней виртуальной машине поддерживается протокол SPICE. Для запуска локальных виртуальных окружений используется KVM и Qemu.
Slackware GNU/Linux 14.0
Не только в проекте GNOME стремятся к простоте. В мире GNU/Linux существует ещё один пример простой жизни с компьютерными технологиями. Как это ни парадоксально, таким примером простоты является дистрибутив Slackware, имеющий репутацию системы для суровых русских физиков.
Однако в отличие от GNOME, где под простотой понимается простота работы пользователя, Slacware стремится к простоте построения системы. Основатель компании Slackware Linux, Inc.и бессменный лидер проекта Патрик Фолкердинг при создании системы руководствовался принципом KISS (Keep it simple, stupid - "не усложняй, тупица"). Ядро, системные и прикладные программы собираются как есть без всякой дополнительной доработки, патчей и костылей. Система имеет незамысловатый установщик и такой же нехитрый менеджер пакетов, который даже зависимости не проверяет. А некоторых приложений, как, например, всё той же среды GNOME, в дистрибутиве нет вообще, так как Фолкердингу лень её собирать.
Как известно, простая жизнь способствует долгожительству. Это всем своим существованием и подтверждает дистрибутив Slackware. Система Фолкердинга является одной из самых долгоживущих. Ещё GNOME не было, а дистрибутив Slackware уже был. Его первая версия появилась 19 лет назад. А на прошлой неделе вышла новая версия Slackware Linux под номером 14.0.
Надо сказать, что нумерация версий дистрибутива трудно назвать логичной и понятной. Например, пятой и шестой версии в истории дистрибутива не было вообще. А предыдущая версия имела номер 13.37.
Естественно в силу принципа KISS и лени Фолкердинга ожидать каких-то кардинальных новшеств и в этой новой версии не приходится. Изменения связаны просто с новыми версиями системного и прикладного ПО, входящего в состав дистрибутива - Linux 3.2.29, GCC 4.7.1, Xorg 1.12.3, KDE 4.8.5 .
Но не следует смотреть на Slackware, как на забавный исторический раритет. Во-первых, дистрибутив неплохо смотрится в рейтинге на Distrowatch.
Во вторых, на его основе создано огромное количество производных систем. Это, например, Slax, Zenwalk, Vector Linux и другие.
В третьих, в рамках проекта ARMedslack развивается порт Slackware для архитектуры ARM, разработчики которого выпустили релиз Slackware ARM 14.0. В новой версии Slackware ARM добавлена поддержка миникомпьютеров Raspberry Pi.
Михаил АСТАПЧИК
Горячие темы