15.8.2 Видео

15.8.2 Видео

Программа aKtion

Если среди программ для прослушивания аудио под Linux имеется явный лидер (я имею в виду xmms), то среди программ для воспроизведения видео такого лидера пока нет. А. Федорчук для просмотра видео рекомендует программу aKtion°. Устанавливается она, правда, не из всех дистрибутивов. На моем домашнем компьютере, где стоит ALT Linux Junior 1.0, эта программа нашлась, а вот в составе дистрибутива Red Hat 7.1 Cyrillic Edition ее не обнаружилось. Зато там есть программа Noatun, которая тоже может воспроизводить видео. Однако aKtion показалась мне более совершенной. Давайте вначале ее и рассмотрим. Ведь любую программу можно установить, даже если она не входит в дистрибутив. Программу aKtion, а также все необходимые для нее библиотеки можно найти либо на сайте KDE (http://www.kde.org) или на сайте программы xanim (http://xanim.va.pubnix.com/home.html), так как aKtion представляет собой графическую оболочку для Xanim°. Она поддерживает многие видео-форматы, включая mpeg1, QuickTime и анимированный gif.

После запуска программы вы увидите окно, изображенное на рис. 15.32.

Рис. 15.32. Окно программы aKtion после запуска

Управление программой осуществляется очень просто. Вдоль нижней границы окна располагается семь кнопок. Над кнопками расположен ползунок регулятора громкости. Первая из экранных кнопок открывает стандартный диалог KDE "Открыть файл", с возможностью задания фильтров отображения файлов тех форматов, которые поддерживаются программой aKtion. Назначение следующих четырех очевидно из тех изображений, которые на них нанесены: воспроизведение, остановка, перемотка к началу, переход в конец (правда, у меня две последних кнопки действуют как-то не так, как ожидается). Следующая кнопка, с изображением гаечного ключа, служит для вызова окна меню настроек (рис. 15.33), а последняя кнопка вызывает подсказку по программе.

Окно настроек программы можно также вызвать, если во время демонстрации видео удерживать нажатой правую кнопку мыши в любой точке выводимого изображения. Появится выпадающее меню, содержащее несколько команд для управления изображением и среди них команду Настройка программы.

Окно настроек содержит 5 вкладок. Начнем с вкладки Разное (рис. 15.33). Первая группа параметров определяет способ загрузки видеофайла. При первом варианте (Загружать в память) файл просто полностью загружается в память до начала воспроизведения. Во втором варианте (Загружать в память и декодировать) файл не только загружается в память, но еще и производится его декомпрессия, и только после этого начинается его воспроизведение. В третьем варианте (Загружать только необходимые участки) предварительная загрузка не производится, части файла загружаются в память по мере необходимости. Последний вариант используется по умолчанию.

Следующие три параметра касаются использования разных типов памяти, я тут использую значения, установленные по умолчанию.

Рис. 15.33. Окно настроек программы aKtion

Далее идет строка ввода, в которой можно указать, с какого каталога будет начинаться поиск нужного видео-файла (если строка пуста, то начальной точкой поиска будет ваш домашний каталог). Вы можете ввести полное имя нужного каталога или выбрать его, нажав кнопку справа с тремя точками.

Ниже строки, задающей начальный каталог, идут два параметра, назначение которых очевидно из названий: Воспроизводить в цикле и Автоматически начинать воспроизведение видео после открытия файла, а затем две строки ввода для задания местоположения файла программы xanim и ее параметров.

На вкладке Аудио особых пояснений требует только одна опция: Пропускать кадры для синхронизации видео и звука. Эта опция необходима при работе на медленных машинах, на которых видео и аудио могут воспроизводиться с разной скоростью (изображение отстает от звука). В таком случае надо включить данную опцию. Это приведет к снижению качества воспроизведения изображения, поскольку часть кадров видео будет пропускаться, но результат может быть вполне приемлемым (все зависит от скорости процессора и объема памяти в компьютере).

Выключение параметра Показывать уровень громкости приводит к исчезновению ползунка регулятора громкости в основном окне программы, а переключатель Начальная громкость задает уровень громкости, устанавливаемый при запуске программы.

Вкладка Цветность содержит некоторые параметры, менять которые может оказаться необходимым в тех случаях, когда Ваш дисплей не позволяет воспроизводить True Color (16-битные цвета). По умолчанию здесь задано отсутствие преобразований цвета ("Нет"). Установка значений, больших 1.0, в последней строке вкладки ("Гамма дисплея") приводит к тому, что изображение становится ярче.

Вкладка Масштабирование позволяет выбрать режим вывода изображения: от половинного до полноэкранного.

Программа aKtion предоставляет возможность сделать снимок экрана в процессе вывода видео, для чего надо в нужный момент нажать клавишу ‹C›. Вкладка Захват изображения позволяет задать формат файла с захваченным изображением и указать каталог, в котором этот файл будет сохранен. Возможны следующие форматы выходных файлов: bmp, jpeg, pbm, pgm, png (используется по умолчанию), ppm, xbm, xpm.

Поскольку aKtion является просто оболочкой к программе xanim, то список поддерживаемых форматов видео-файлов вы можете просмотреть по команде man xanim. К сожалению, с помощью aKtion удается просмотреть далеко не любой видео-файл. По крайней мере мне не удалось с ее помощью просмотреть два недавно приобретенных CD-диска с фильмами в формате MPEG4. А вот программа xine из дистрибутива ASP Linux 7.2 с ними справилась.

Программа Xine

Аудио/видео проигрыватель xine (произносится «кси:н» с долгим «и») предназначен как для воспроизведения отдельных аудио или видео-потоков (т.е. файлов.mp3 или.mpv), так и avi-файлов (используя win32-кодеки), а также фильмов в формате видео-CD (VCD), SVCD и DVD (незащищенных от копирования, для воспроизведения защищенных DVD-форматов требуется установить дополнительный плагин). Домашняя страница программы находится по адресу http://xine.sourceforge.net, а rpm-пакет можно найти на http://rufus.w3.org. Программа рассчитана на воспроизведение следующих мультимедиа-форматов.

аудио-форматы:

 ? MPEG audio уровней 1, 2 и 3 (известный также как MP3).

 ? a/52 (известный также как AC3 и Dolby Digital).

 ? DTS (через встроенный декодер).

 ? Ogg Vorbis (открытая альтернатива MP3).

 ? используя Video For Windows Dynamic-Link-Libraries (DLL) можно воспроизводить файлы форматов DivX audio (WMA), ADPCM, GSM и многих других.

видео-форматы:

 ? MPEG-1 и MPEG-2.

 ? MPEG-4, известный также как OpenDivX.

 ? Microsoft MPEG-4, известный также как DivX.

 ? Motion JPEG.

 ? используя Video For Windows Dynamic-Link-Libraries (DLL) можно воспроизводить файлы форматов Indeo, Cinepak, Windows Media 7/8 и многих других.

комбинированные форматы (видео+аудио в одном файле):

 ? незащищенные варианты DVD.

 ? Video CD (исключая гибридные форматы Video-on-CD).

 ? программные потоки MPEG (т.е. .mpg и .mpeg - файлы).

 ? MPEG transport streams (.ts).

 ? Ogg Vorbis container streams (.ogg).

 ? Microsoft Audio Video Interleave (.avi).

 ? Microsoft Advanced Streaming Format (.asf).

 ? Quicktime - Замечание: Xine не поддерживает кодек Соренсена, используемый во многих файлах формата Quicktime.

 ? Аудио и видео-потоки исходного (raw) формата MPEG (.mpv and .mp3).

Для достижения нормального качества воспроизведения файлов формата MPEG2 xine требует системы на процессоре Пентиум II с частотой не ниже 400 MHz.

Запускать xine можно из меню KDE или из командной строки. Когда xine запускается в первый раз, на экране монитора появляется главное окно программы (окно просмотра) - черный прямоугольник с логотипом программы (рис.15.34).

Рис. 15.34. Главное окно программы xine (окно просмотра)

Одновременно обычно выводится и второе окно с панелью управления (рис.15.35). Если оно не появилось, вы можете вызвать его щелчком правой кнопки мыши в окне просмотра или нажатием клавиши ‹G› на клавиатуре. Таким же образом можно отключить вывод панели управления («спрятать панель»). На панели управления имеется набор кнопок, аналогичный набору управляющих кнопок на панели обычного видеомагнитофона: кнопки запуска воспроизведения, временной остановки (pause), перемотки в начало и конец и т.д.

Рис. 15.35. Панель управления программы xine.

Если вы, например, хотите воспроизвести VCD или DVD, то после появления на экране панели управления щелкните кнопкой мыши по кнопке с надписью VCD (или DVD). Это заставляет Xine искать диск в соответствующем устройстве. Если диск найден, вы можете запустить воспроизведение щелчком по кнопке с изображением треугольника в верхней части круглой «ручки» на правой стороне панели.

Рис. 15.36. Выбор файла для воспроизведения.

Если же вы хотите воспроизвести фильм, который находится в файле на жестком диске или CD, надо сначала добраться до нужного файла. Для этого нужно открыть окно MRL-браузера (рис. 15.36), что достигается щелчком по кнопке на панели управления, над которой изображен значок “://”. Аббревиатура MRL означает Media Resource Locator, то есть указатель медиа-ресурса(ов). В качестве такого указателя могут выступать:

• полный путь к файлу на диске, перед которым стоит указание на тип MRL в виде «file://», например, file://some/file.vob.

• указатель на программный канал: fifo://[[mpeg1:mpeg2]:/]some/fifo. В этом случае Xine получает видео из специального программного канала /some/fifo. По умолчанию Xine предполагает, что входной поток имеет формат mpeg-2, если же нужно воспроизвести формат mpeg1 или mpeg2, нужно явно указать это в MRL.

• указатель на стандартный ввод stdin: stdin://[mpeg1:mpeg2]. Как и в случае с программным каналом (fifo:// MRL), Xine предполагает, что вход идет в формате mpeg2, если ему явно не указано противное.

• указание на DVD-диск: dvd://VTS_xx_y.VOB. Отличие этого варианта от задания источника в виде file:// MRL состоит в том, что Xine читает данные непосредственно с DVD, не используя файловую систему.

• vcd://track - Воспроизводится указанный трек с VCD.

• html://server.somewhere.tld/foo/bar.mpg. Xine обращается к указанному URL и пытается воспроизвести файл.

В окно MRL-браузера вы вначале должны выбрать тип источника, щелкнув левой кнопкой мыши по одной из кнопок в поле окна, обозначенном словом «Source». Не могу вам сказать, что произойдет после выбора VCD, DVD или CDA - не было у меня дисков в этих форматах. Если же вы выберите вариант file, то в основном поле окна отобразится содержимое текущего каталога. Дальше можно перейти в любой каталог вашей файловой структуры (в том числе в каталог, куда смонтирован CD-ROM) и выбрать файл для воспроизведения. Проще всего переходы по структуре каталогов осуществлять, щелкая мышью по нужному каталогу (чтобы переместить на него подсветку), а затем щелкая по кнопке Select. Когда вы уже добрались до нужного файла и переместили на него подсветку, нужно вместо Select щелкнуть по кнопке с изображением треугольника. Начнется показ выбранного фильма в окне просмотра. Если же после выбора файла щелкнуть по кнопке Select, то для начала воспроизведения придется воспользоваться упоминавшейся выше кнопкой панели управления с изображением треугольника.

Окно MRL-браузера можно закрыть щелчком по кнопке Dismiss. Можно также одним щелчком правой кнопки мыши по свободному полю в окне просмотра разом закрыть все вспомогательные окна (включая окно панели управления). Тот же эффект достигается нажатием клавиши ‹G› (обратно на экран они вызываются тем же способом).

Все фильмы (или файлы), которые вы просматривали в текущем сеансе работы с программой, запоминаются в списке просмотренных фильмов (или плей-листе - playlist). Этот список можно просмотреть в отдельном окне (рис.15.37), которое называется Playlist Editor. Вызвать его на экран можно щелчком по четвертой слева кнопке на панели управления xine. В список можно добавлять фильмы (кнопка Add справа) или удалять из него как отдельные позиции, так и весь список разом с помощью кнопок в нижней части окна (всмотритесь в изображения над кнопками и вы поймете из назначение). Можно также сохранить список фильмов (кнопка Save) или загрузить ранее сохраненный список (кнопка Load в правой стороне окна).

Рис. 15.37. Список фильмов / файлов (playlist)

Программа имеет еще одно вспомогательное окно, о котором стоит упомянуть (рис.15.38). Оно появляется после нажатия на пятую слева кнопку на панели управления. Назначение этого окна состоит в изменении некоторых параметров вывода изображения на экран и изменения “шкурок” (skins), то есть изменения внешнего вида окон. Впрочем, имеющиеся в этом окне ползунки изменения яркости, контраста и других параметров изображения в текущей версии (0.9.8) не работают. А вот «шкурки» можно менять и даже добавлять новые, скачивая их из Интернета (так же как в программах XMMS или Winamp). Для смены «шкурки» достаточно выбрать ее имя щелчком кнопки мыши по ее имени в правой части диалогового окна изменения параметров (рис. 15.38).

Рис. 15.38. Окно изменения параметров

А теперь вернемся к описанию панели управления программы xine, изображенной на рис. 15.35. После того, как вы выбрали файл для воспроизведения, имя этого файла высвечивается на панели. Если воспроизведение не началось автоматически, можно запустить его, щелкнув по треугольнику, расположенному в верхней части круга (или круглой «ручки») на правой стороне панели. Остальные значки на этом круге выполняют следующие функции (перечисление идет по часовой стрелке):

• остановить воспроизведение;

• начать воспроизведение следующего фильма из списка (плей-листа);

• извлечь носитель из дисковода (естественно, не работает, если загружен файл с жесткого диска);

• начать воспроизведение предыдущего фильма из списка (плей-листа);

• пауза / продолжить воспроизведение.

Слева из-под круга «выступают» две кнопки, которые позволяют ускорить или замедлить воспроизведение (две аналогичных кнопки справа от круга в текущей версии не работают). Левее круга расположен регулятор громкости звука в виде изображения динамика (или громкоговорителя). Щелчком мыши по этому изображению можно включить или полностью выключить звук (тот же эффект достигается щелчком по уменьшенному изображению динамика, расположенному ниже основного). Плавное изменение громкости производится с помощью щелчков мышкой по горизонтальным полоскам, находящимся левее основного выключателя звука. Ниже этого выключателя находится изображение фотоаппарата, с помощью которого можно получить моментальный снимок экрана, наподобие того, что изображен на рис. 15.39.

В правом верхнем углу панели управления находятся два значка в виде крестиков. Правый из них служит для выхода из программы, а левый (крестик со стрелками) - для переключения между полноэкранным и оконным режимами работы программы. Замечу, что при переключении в полноэкранный режим панель управления и вспомогательные окна остаются на экране. Если они мешают, их можно убрать с экрана (и вернуть на экран при необходимости) с помощью клавиши ‹G›.

В левом нижнем углу панели вы тоже видите два значка. Один из них - выключатель проигрывателя, а второй (сильно уменьшенное изображение гаечного ключа) вызывает окно настроек. У программы масса возможностей по настройке и конфигурации, однако рассматривать их мы не будем. Если вас этот вопрос заинтересует, прочитайте комментарии в файле ~/.xine/config.

И, наконец, ползунок-индикатор в верхней части панели управления позволяет быстро перейти к любой стадии воспроизведения (просто щелкните по горизонтальной черте в нужном месте).

Рис. 15.39. Начинаем просмотр фильма

Мы рассматривали только графическую оболочку программы xine. Между тем, можно запустить xine просто из командной строки, причем в командной строке можно указать дополнительные аргументы. Например, по команде

$ xine --help

вы получите краткую сводку возможных значений аргументов командной строки и список управляющих клавиш. Можно также непосредственно запустить воспроизведение из командной строки, указав источник видео:

$ xine ‹mrl›

где ‹mrl› - указатель медиа-ресурса, т.е. Media Resource Locator. Например, для воспроизведения файла /some/where/foo.vob команда должна иметь вид:

$ xine file://some/where/foo.vob

или просто

$ xine /some/where/foo.vob

Для воспроизведения третьего трека с видео-CD (VCD) надо дать команду:

$ xine vcd://3

а для прямого доступа к DVD - команду типа:

$ xine dvd://VTS_01_1.VOB

И, в заключение, приведу список комбинаций клавиш, с помощью которых можно управлять программой в процессе воспроизведения (вне зависимости от того, каким образом она была запущена), не вызывая на экран панель управления (но при условии, что окно программы является активным):

• ‹Enter› - начать воспроизведение,

• ‹пробел› - пауза,

• ‹стрелка вверх› - ускорить воспроизведение,

• ‹стрелка вниз› - замедлить воспроизведение,

• ‹0› - перейти в начало текущего потока (фильма или мелодии);

• ‹1›-‹9› - перейти в точку, отстоящую на 10-90% от начала текущего потока;

• ‹стрелка влево› - сместиться на 15 секунд назад;

• ‹стрелка вправо› - сместиться на 15 секунд вперед;

• ‹Ctrl›+‹стрелка влево› - сместиться на 60 секунд назад;

• ‹Ctrl›+‹стрелка вправо› - сместиться на 60 секунд вперед;

• ‹PgUp› - перейти к предыдущему пункту в списке фильмов (playlist);

• ‹PgDown› - перейти к следующему пункту в списке фильмов (playlist);

• ‹F› - переключение в полноэкранный режим (и обратно);

• ‹A› - переключение отношения размеров сторон окна просмотра (AUTO/16:9/4:3/DVB);

• ‹I› - переключение в режим черезстрочного вывода (interlaced mode);

• "‹", "›" - увеличить / уменьшить размер окна просмотра;

• ‹+› или ‹-› - переход на следующий / предыдущий аудио-канал, при этом на панели управления изменяется значение указателя “AUD:” (эта опция используется в том случае, когда в источнике записано несколько аудио-потоков, как это иногда бывает на DVD);

• ‹,› ‹.› - сменить канал субтитров (change subtitle channel), при этом на панели управления изменяется значение указателя “SUB:”;

Примечание: Нужно, наверное, сказать, что субтитры бывают записаны в файле видеофильма в виде отдельного потока (подобно аудио). Поток 0 соответствует субтитрам на языке, используемом по умолчанию. Если имеются субтитры на других языках, эта опция позволяет выбрать нужный поток.

• ‹n›, ‹m› - синхронизировать аудио и видео потоки;

• ‹Home› - переустановить синхронизацию аудио и видео потоков;

• ‹G› - скрыть управляющие окна (панель, плей-лист и т.п.);

• ‹H› - скрыть окно просмотра (эта клавиша работает только в том случае, если панель управления отображается на экране); такая возможность бывает полезна при воспроизведении аудио-потоков, например, формата mp3 (а также при неожиданном появлении начальника);

• ‹Q› - выход из программы.

В заключении нужно сказать, что программа Xine (по крайней мере, в том виде, как она поставляется разработчиком), не может воспроизводить зашифрованные DVD-диски. Дело в том, что некоторые производители DVD-дисков с целью увеличения собственной прибыли защищают свои диски с помощью собственных алгоритмов шифрования, так что воспроизводить эти диски можно только на оборудовании (или с использованием программного обеспечения) этих же производителей. Как сообщается в документации к программе Xine, включить в программу код, обеспечивающий возможность воспроизведения таких записей не было бы проблемой. Но это, возможно, стало бы нарушением законодательства некоторых стран (в первую очередь - американского). Поэтому разработчики не обеспечивают такой возможности, хотя и считают использование алгоритмов шифрования нарушением прав потребителей.

Программа MPlayer

В заключение раздела, посвященного воспроизведению видео, я хочу упомянуть еще об одной программе, о которой я пока знаю только понаслышке. Просто в списке рассылки mandrake-russian я как-то увидел письмо, автор которого выражал недовольство программой Xine и спрашивал, нет ли чего лучше. Ему ответили, что существует гораздо более удобная программа, которая называется MPlayer, и сообщали, где ее можно найти (http://mplayerhq.hu). Я, естественно, заглянул по указанному адресу. Как сообщается на сайте разработчиков, MPlayer может воспроизводить видео следующих форматов:

• VCD (Video CD), непосредственно с CD-ROM или из соответствующего файла бинарного образа диска;

• DVD, непосредственно с DVD-диска, используя для дешифрования библиотеку libdvdread;

• MPEG 1/2 System Stream (PS/PES/VOB) и Elementary Stream (ES);

• RIFF AVI;

• ASF/WMV 1.0;

• QT/MOV со сжатыми и несжатыми заголовками;

• VIVO (.viv - файлы) FLI;

• RealMedia (.rm - файлы);

• NuppelVideo (.nuv - файлы);

• yuv4mpeg.

Программа поддерживает чтение из входного потока (stdin), или из сети по протоколу HTTP.

MPlayer в основном подпадает под условия лицензии GPL, но содержит и код, который распространяется на других условиях, в частности, библиотеку OpenDivX, которая имеет специальную лицензию.

Разработчики поставляют эту программу только в исходных кодах, заявляя, что ее распространение в бинарных кодах пока невозможно как по техническим, так и по юридическим причинам.

Более подробное описание программы MPlayer я не могу привести, поскольку узнал о ней на самом последнем этапе работы над данной книгой и не успел ее установить и освоить. Однако я посчитал необходимым привести упоминание о ней, учитывая положительные отзывы в листах рассылки.

В заключение раздела остается только сказать, что, как показывают приведенные описания, уже сейчас (несмотря на то, что разработка упомянутых в этом разделе программ еще не завершена) имеются вполне работоспособные программные средства для воспроизведения видео под Linux.