# Справочное руководство по &aktion;

## Введение

&aktion; - это видеоплеер, служащий оболочкой для Xanim. Он поддерживает многочисленные распространенные в Интернет, видеокодеки, включая mpeg1, QuickTime и анимированный gif. Сообщайте о всех ошибках или пожеланиях в списки рассылки &kde;.

## Использование &aktion;

Вот снимок работы &aktion; Снимок

Использовать &aktion; очень просто. Нажмите правую кнопку мыши в пределах окна, или кнопку "открыть" в панели инструментов, выберите видеофайл, который вы хотите посмотреть, и нажмите OK.

### Контекстное меню

Контекстное меню выпадает при нажатии правой кнопкой мыши в окне воспроизведения. Через него вы можете быстро изменить размер воспроизведения, открыть видеофайл или диалог сведений о видеофайле.

Контекстное меню описано далее в разделе video-context-menu.

### Полноэкранный режим &aktion;

Переход к воспроизведению на полном экране возможен при нажатии правой кнопки мыши в любом месте окна &aktion;. Выберите пункт Полноэкранный режим; вернуться обратно можно, нажав левую или правую кнопку в окне. Вам следует настроить эту возможность, если она еще не включена.

Вам стоит воспользоваться расширениями XFree86 VidMode и DGA, если они доступны. Благодаря этим расширениям, приложение может подстраивать разрешение экрана для лучшего соответствия размеру видео. Обычное видео, скажем, разрешением 320x200 должно было бы быть отмасштабировано на дисплей 800x600. На такое масштабирование затрачиваются дополнительные ресурсы, а результат вовсе не впечатляет. В диалоге настройке есть два флажка:

Использовать расширение XFree86-VidMode, если оно доступно

- включает полноэкранный режим

Захватить мышь

- &aktion; захватывает мышь в полноэкранном режиме

## Справочник по командам

### Контекстное меню видео

Контекстное меню видео выпадает при нажатии правой кнопкой мыши в окне воспроизведения, если уже открыт видеофайл.

Параметры видео

- Выпадает окошко со сведениями об открытом файле, включая число кадров, тип кодирования и исходное разрешение.

Открыть файл

- Открывается стандартный диалог &kde; открыть файл со включенными фильтрами для выбора типа файлов, поддерживаемых &aktion;.

Настройки

- Открывается диалог Настройки для задания параметров для работы &aktion;.

Исходный размер

- Восстанавливает окно воспроизведения &aktion; до размеров исходного файла. Очевидно, что это действие не оказывает никакого эффекта, если вы не изменяли размер окна.

Половинный размер

- Уменьшает окно воспроизведения &aktion; вдвое по сравнению с размерами исходного файла.

Удвоенный размер

- Увеличивает окно воспроизведения &aktion; вдвое по сравнению с размерами исходного файла.

Развернуть окно

- Окно воспроизведения &aktion; будет распахнуто на весь экран. Масштаб воспроизведения (отношение ширины и высоты) искажаться не будет, поэтому широкоэкранный ролик так и останется широкоэкранным, занимая всю доступную часть экрана, не отведенную под особые приложения, такие как панель &kicker;.

Полноэкранный режим

- Весь экран будет занят окном &aktion;.

  Дополнительные сведения можно будет почерпнуть в aktion-fullscreen

### Панель инструментов

Панель инструментов &aktion; Панели инструментов

Панель инструментов располагается внизу окна &aktion;. В ней имеются следующие иконки:

Открыть

- Открывается стандартный диалог &kde; открыть файл со включенными фильтрами для выбора типа файлов, поддерживаемых &aktion;.

Воспроизвести

- Начать воспроизведение файла

Стоп

- Остановить воспроизведение

Назад

- Перемотать назад

Вперед

- Промотать вперед

Настройки

- Открыть диалог Настройки.

Помощь

- Открыть справочное руководство по &aktion; (этот документ)

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

### Настройки &aktion;

Диалог настроек содержит пять основных вкладок.

- Аудио

- Цветность

- Масштабирование

- Захват изображения

- Разное

В нем есть также стандартные кнопки OK Отмена. Нажав OK, вы сохраните все сделанные изменения, нажав Отмена - закроете диалог, не сохранив изменений.

#### Настройки аудио

На этой вкладке настраивается звук.

Включить звук

- Если снять этот флажок, воспроизведение будет идти без звука.

Пропускать кадры для синхронизации видео и звука

- При включении этого флажка &aktion; будет пропускать отдельные кадры видео, если отображение видео не успевает за звуком. Это помогает на медленных машинах: оказывается, аудио и видео воспроизводятся с разной скоростью, и звук может закончиться, пока видео еще на полдороге. Включение этого флажка ухудшает качество видео, но вы можете этого и не заметить. На медленных машинах степень ухудшения качества будет зависеть в основном от ее тормознутости и объема памяти.

Показывать уровень громкости

- Включает или отключает показ регулятора громкости справа от панели инструментов. По умолчанию он включен.

Начальная громкость (0-100):

- Начальная громкость воспроизведения. Изменения громкости регулятором будут осуществляться относительно этого уровня. Введите число или используйте стрелочки.

#### Настройки цветности

На этой вкладке настраивается отображение цветов при воспроизведении.

Преобразование цветов (для не полноцветных дисплеев)

- Эта вкладка применима только для дисплеев с цветностью менее чем TrueColor. Если у вас проблемы с цветом, возможно, стоит попробовать настроить эти опции.

  Преобразовать TrueColor в HiColor (статические цвета)

- При включении этого флажка &aktion; будет преобразовывать цвета и отображать их в виде Static322.

Использовать таблицу цветов

- При включении этого флажка &aktion; будет формировать палитру и использовать ее в виде динамической таблицы цветности. Можно задать, сколько впереди идущих кадров будет просматриваться для создания этой таблицы, но большие значения требуют больше памяти. Значение по умолчанию - 5.

Преобразовать TrueColor в градации серого

- При включении этого флажка &aktion; будет формировать черно-белое изображение (градации серого).

Нет

- Нет - значение по умолчанию.&aktion; не будет никак преобразовывать цвета. Вам не стоит менять эту настройку, если нет проблем с отображением цветов.

Гамма дисплея:

- Значение гаммы дисплея. Обычно значения, большие, чем 1.0, увеличивают яркость.

#### Настройки масштабирования

На этой вкладке настраивается размер воспроизведения.

Масштабирование изображения

- Размер картинки по отношению к исходному размеру ролика

  Можно выбирать из следующих величин

  - Исходный размер
  - Половинный размер
  - Удвоенный размер
  - Распахнуть
  - Полноэкранный режим

Полноэкранный режим

- Параметры работы &aktion; в полноэкранном режиме.

  Использовать расширение XFree86-VidMode, если оно доступно

- Разрешает использование полноэкранного режима. Подробнее об этом см. в разделе Использование &aktion; в полноэкранном режиме

Захватить мышь

- Полностью захватывает мышь в полноэкранном режиме.

#### Настройки захвата изображения

&aktion; позволяет захватывать кадры из ролика. Для этого нажмите клавишу C при воспроизводении. На данной вкладке настраиваются соответствующие параметры.

Формат выходного файла:

- Задайте формат, в котором будет сохраняться захваченный кадр. Выберите один из доступных графических форматов:

  - bmp
  - jpeg
  - pbm
  - pgm
  - png
  - ppm
  - xbm
  - xpm

  Формат по умолчанию это - png.

Каталог выходного файла:

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

#### Разное

На этой вкладке настраиваются прочие параметры.

Загрузка видеофайла

- Параметры загрузки видеофайла. Можно выбрать:

  Загружать в память

- Весь ролик будет считываться в память перед началом воспроизведения.

Загружать в память и декодировать

- Весь ролик будет считываться в память и декодироваться перед началом воспроизведения.

Загружать только необходимые участки

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

По умолчанию - Загружать только необходимые участки

Использовать разделяемую память в X11

- Эта опция недоступна, если выбран режим Загружать в память и декодировать. По умолчанию она отключена.

Использовать множественную буферизацию X11

- Эта опция дает возможность &aktion; использовать двойную буферизацию X11 (если она доступна) для сглаживания воспроизведения. По умолчанию она включена.

Использовать Pixmap вместо Image в X11

- При включении этой опции &aktion; будет использовать Pixmap вместо Image в разделяемой памяти X11. Этот флажок ни на что не влияет, если воспроизведение буферизуется.

Исходный каталог для загружаемых файлов

- Задает исходный каталог для открытия видеофайлов. Введите путь или используйте кнопку ..., чтобы выбрать другой каталог. Если здесь ничего не указать, &aktion; будет открывать ваш домашний каталог.

Воспроизводить в цикле

- При включении этого флажка ролик, доиграв до конца, будет вновь показываться с самого начала, пока вы не нажмете кнопку Стоп.

Автоматически начинать воспроизводение видео при открытии файла

- При включении этого флажка &aktion; начнет воспроизведение сразу, как только вы выберете файл. В противном случае воспроизведение будет начинаться при нажатии кнопки Воспроизвести.

Дополнительные параметры xanim

- Укажите здесь все параметры, которые должны будут передаваться в XAnim.

## Справочник по разработке для &aktion;

&aktion; построен на классе `KXAnim`, с помощью которого вы можете включать воспроизведение видео в ваши собственные программы.

KXAnim

KXAnim Class Reference

KXAnimChildren

A xanim wrapper to allow video playing in your apps.

18/08/2000

    Public Members

          KXAnim (QWidget *parent, const char *name=0)
          ~KXAnim ()
          void setFile (QString file)
          void setAutoResize (bool val)
          bool getAutoResize ()
          void updateSize ()
          void setLoop (bool val)
          bool getLoop ()
          QString getVideoFileName ()
          int getVideoHeight ()
          int getVideoWidth ()
          float getVideoSpeed ()
          int getVideoFrames ()
          QString getVideoCodec ()
          QString getErrorCode ()
          QString getErrorString ()
          bool isPlaying ()
          bool isActive ()
          void resetXAnimDefaults ()
          void setAudio (bool val)
          void setAudioSync (bool val)
          void setInitialVolume (int val)
          enum colorMap { static332, lookupTable, grayScale, none }
          void setColorMapping (colorMap val)
          void setColorAhead (int val)
          void setGammaDisplay (float val)
          void setResizing (bool val)
          void setScaleFactor (float val)
          void setScaleHFactor (float val)
          void setScaleVFactor (float val)
          void setScaleWidth (int val)
          void setScaleHeight (int val)
          void setScaleDisplayToBuffer (bool val)
          void setScaleFactorB (float val)
          void setScaleHFactorB (float val)
          void setScaleVFactorB (float val)
          void setScaleWidthB (int val)
          void setScaleHeightB (int val)
          void setScaleBufferToDisplay (bool val)
          void setLoading (int val)
          void setX11Shared (bool val)
          void setMultiBuffer (bool val)
          void setUsePixmap (bool val)
          void setX11VisualClass ( const char *val)
          void setPauseAt (int val)
          void setExtraParameters (const char *val)
          void setExecutable (const char *val)

    Public Slots

          void play ()
          void pause ()
          void stop ()
          void stepForward ()
          void stepBack ()
          void stepForwardWA ()
          void stepBackWA ()
          void toggleSound ()
          void volumeIncrement ()
          void volumeDecrement ()
          void setVolume (int v)
          void faster ()
          void slower ()
          void resetSpeed ()

    Protected Members

          void changeProperty ( const char * c)
          virtual void closeEvent ( QCloseEvent *)
          virtual void mousePressEvent ( QMouseEvent *)

    Signals

          void stopped ()
          void mouseClick ( QMouseEvent *)

#### Подробное описание `KXAnim`

#include <kxanim.h>

Наследует: `QWidget`

Класс графического элемента (widget) для воспроизведения видео

Этот графический элемент служит для использования функций xanim и включения воспроизведения видео в ваши программы.

      KXAnim QWidget *parent const char *name=0

[public]

- Конструктор. Аргумент parent ДОЛЖЕН БЫТЬ указан.

      void setFile QString file

[public]

- Метод задает имя файла для воспроизведения. Файл не будет воспроизводиться, пока не будет вызван слот `play()`. Необходимо также вызвать функцию `stop()`, прежде чем задавать новое имя файла.

  Вызвав этот метод, вы должны дождаться сигнала stopped. После этого становятся доступными сведения о файле.

  См. также KXAnim::getErrorNumber и `getErrorString` для проверки на ошибки.

      void setAutoResize bool val

[public]

- Если `val`==true, виджет сам подберет свой размер для отображения видео после вызова функции `setFile()`. Если `val`==false, видео будет выводиться в размеры виджета.

  Размер виджета автоматически обновляется при вызове `setFile` и play. Но если вы хотите знать его размер до вызова функции `play`, следует вызвать функцию `updateSize`.

  По умолчанию - true.

      bool getAutoResize

[public]

- Возвращает значение auto-resize (см. `setAutoResize` ).

      void updateSize

[public]

- Обновляет размер виджета, чтобы он соответствовалразмеру видео (с учетом фактора масштабирования) См. `setAutoResize`.

      void setLoop bool val

[public]

- Если `val`==true, воспроизведение будет осуществляться в цикле.

  По умолчанию - true.

      bool getLoop

[public]

- Возвращает значение цикличности воспроизведения ( см. `setLoop` ).

      QString getVideoFileName

[public]

- Возвращает имя файла (или пустую строку, если он не открыт).

      int getVideoHeight

[public]

- Возвращает вертикальный размер видео (в пикселах).

      int getVideoWidth

[public]

- Возвращает вертикальный размер видео (в пикселах).

      float getVideoSpeed

[public]

- Возвращает скорость воспроизведения видео (в кадрах/сек).

      int getVideoFrames

[public]

- Возвращает количество кадров в ролике.

      QString getVideoCodec

[public]

- Возвращает строку описания видеокодека.

      QString getErrorCode

[public]

- Возвращает код ошибки. Вы должны проверить его после вызова `setFile`. Код 0 означает отсутствие ошибок. Чтобы получить строку описания ошибки, см. `getErrorString`.

      QString getErrorString

[public]

- Возвращает строку описания ошибки после вызова `setFile`.

      bool isPlaying

[public]

- Возвращает true, если видео находится в режиме воспроизведения. В противном случае возвращает false.

      bool isActive

[public]

- Возвращает true, если виджет активен. В противном случае возвращает false. Виджет НЕ активен, только если видео остановлено. Поэтому используйте этот метод для проверки того, что видео действительно остановлено.

      void resetXAnimDefaults

[public]

- Выставляет значения по умолчанию для всех параметров.

      void setAudio bool val

[public]

- Если `val`==true, включает вывод звука.

  По умолчанию - true.

      void setAudioSync bool val

[public]

- Если `val`==true, разрешает xanim пропускать кадры для синхронизации с видео.

  По умолчанию - true.

      void setInitialVolume int val

[public]

- Устанавливает начальный уровень громкости.

  По умолчанию 40.

enum colorMap ( static332, lookupTable, grayScale, none ) [public]

- См. setColorMapping.

      void setColorMapping colorMap val

[public]

- Указывает `KXAnim` тип отображения цветов для не полноцветных дисплеев.

  Если `val`==KXAnim::static322, xanim будет преобразовывать truecolor в static322.

  Если `val`==KXAnim::lookupTable, xanim будет вычислять отображение truecolor цветов по будущим кадрам заранее и формировать таблицу цветности.

  Если `val`==KXAnim::grayScale, xanim будет преобразовывать TrueColor градации серого.

  Эти три параметра игнорируются для дисплеев TrueColor и DirectColor.

  Если `val`==KXAnim::none, xanim будет использовать отображение цветов по умолчанию.

  По умолчанию KXAnim::none.

      void setColorAhead int val

[public]

- Задает количество кадров для просмотра при формировании таблицы цветов, если в `setColorMapping` указано KXAnim::lookupTable .

  По умолчанию 5.

      void setGammaDisplay float val

[public]

- Значение гаммы дисплея. Обычно значения, большие, чем 1.0, увеличивают яркость.

  По умолчанию 1.0.

      void setResizing bool val

[public]

- Если `val`==true, размер видео может меняться "на лету".

  По умолчанию - true.

      void setScaleFactor float val

[public]

- Масштабировать размер видео согласно "`val`" перед воспроизведением.

  По умолчанию 1.0 (не масштабировать).

      void setScaleHFactor float val

[public]

- Масштабировать горизонтальный размер видео согласно "`val`" перед воспроизведением.

  По умолчанию 1.0 (не масштабировать).

      void setScaleVFactor float val

[public]

- Масштабировать вертикальный размер видео согласно "`val`" перед воспроизведением.

  По умолчанию 1.0 (не масштабировать).

      void setScaleWidth int val

[public]

- Задать горизонтальный размер видео "`val`" перед воспроизведением.

  По умолчанию 0 (размер не изменять).

      void setScaleHeight int val

[public]

- Задать вертикальный размер видео "`val`" перед воспроизведением.

  По умолчанию 0 (размер не изменять).

      void setScaleDisplayToBuffer bool val

[public]

- Скопировать факторы масштабирования дисплея в факторы масштабирования буфера.

  По умолчанию false.

      void setScaleFactorB float val

[public]

- Масштабировать размер видео согласно "`val`" перед буферизацией.

  По умолчанию 1.0 (не масштабировать).

      void setScaleHFactorB float val

[public]

- Масштабировать горизонтальный размер видео согласно "`val`" перед буферизацией.

  По умолчанию 1.0 (не масштабировать).

      void setScaleVFactorB float val

[public]

- Масштабировать вертикальный размер видео согласно "`val`" перед буферизацией.

  По умолчанию 1.0 (не масштабировать).

      void setScaleWidthB int val

[public]

- Задать горизонтальный размер видео "`val`" перед буферизацией.

  По умолчанию 0 (размер не изменять).

      void setScaleHeightB int val

[public]

- Задать вертикальный размер видео "`val`" перед буферизацией.

  По умолчанию 0 (размер не изменять).

      void setScaleBufferToDisplay bool val

[public]

- Скопировать факторы масштабирования буфера в факторы масштабирования дисплея.

  По умолчанию false.

      void setLoading int val

[public]

- 0: `KXAnim` загружает весь ролик в память.

  1: `KXAnim` загружает весь ролик в память и декодирует его перед началом воспроизведения.

  2: `KXAnim` подгружает с диска участки ролика в память по мере необходимости.

  По умолчанию 2.

      void setX11Shared bool val

[public]

- Если `val`==true, `KXAnim` будет использовать разделяемую память X11 (взаимоисключаемо с `setPreload` .

  По умолчанию false.

      void setMultiBuffer bool val

[public]

- Если `val`==true, `KXAnim` будет использовать двойную буферизацию X11 (если она доступна) для сглаживания воспроизведения.

  По умолчанию - true.

      void setUsePixmap bool val

[public]

- Если `val`==true, `KXAnim` будет использовать Pixmap вместо Image в разделяемой памяти X11. Опция не имеет значения при включении буферизации.

  По умолчанию false.

      void setX11VisualClass const char *val

[public]

- Выбирает лучшее из доступного X11 Visual of Class... при отображении. val может принимать любые значения из следующего списка:

  - default
  - staticgray
  - grayscale
  - staticcolor
  - pseudocolor
  - truecolor
  - directcolor

  По умолчанию - default.

      void setPauseAt int val

[public]

- Приостановить XAnim на кадре `val`. `val`=-1 отключает эту опцию.

  По умолчанию - -1 (нет паузы).

      void setExtraParameters const char *val

[public]

- Используйте этот метод, чтобы передать дополнительные параметры в xanim (separated by spaces).

      void setExecutable const char *val

[public]

- Используйте этот метод, чтобы задать имя исполняемого файла xanim. По умолчанию это "xanim", но вы можете это изменить, если xanim не входит в PATH.

      void play

[public slot]

- Начать воспроизведение видео.

      void pause

[public slot]

- Приостановить воспроизведение видео (но не выгружать xanim).

      void stop

[public slot]

- Приостановить воспроизведение видео и выгрузить xanim. Это происходит без участия пользователя.

  Вызов этого слота не означает немедленную остановку воспроизведения видео. Дождитесь сигнала stopped, чтобы удостовериться, что плеер перешел в неактивное состояние (см. `isActive` ).

      void stepForward

[public slot]

- Вперед на один кадр. Приостанавливает воспроизведение.

      void stepBack

[public slot]

- Назад на один кадр. Приостанавливает воспроизведение.

      void stepForwardWA

[public slot]

- Вперед на один кадр, оставаясь на текущем(?). Приостанавливает воспроизведение.

      void stepBackWA

[public slot]

- Назад на один кадр, оставаясь на текущем(?). Приостанавливает воспроизведение.

      void toggleSound

[public slot]

- Включить/отключить звук.

      void volumeIncrement

[public slot]

- Увеличить громкость на 1.

      void volumeDecrement

[public slot]

- Уменьшить громкость на 1.

      void setVolume int v

[public slot]

- Задать громкость. Параметр `v` меняется в пределах от 0 до 100.

      void faster

[public slot]

- Увеличить значение скорости воспроизведения.

      void slower

[public slot]

- Уменьшить значение скорости воспроизведения.

      void resetSpeed

[public slot]

- Восстановить исходное значение скорости воспроизведения.

      void changeProperty const char * c

[protected]

- Не используйте! Функция служит для связи с xanim.

      void stopped

[signal]

- Сигнал посылается после вызова слота `stop()`, чтобы сообщить о том, что плеер действительно прекратил воспроизведение (и xanim остановлен) (см. `stop`).

      void mouseClick QMouseEvent *

[signal]

- Сигнал посылается, когда пользователь нажимает мышью на widget.

## Вопросы и ответы

Что означает "неподдерживаемый видеокодек"?

Это означает, что данный видеоформат невозможно воспроизвести. Возможно, у вас неполная установка xanim, см. следующий вопрос.

Есть такие кодеки, поддержка которых не намечается в ближайшем будущем, в их числе Sorenson, используемый в QuickTime 4.

Как установить xanim со всеми его возможностями?

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

Как узнать, установлены ли расширения Х VidMode и DGA на моей системе?

Это можно проверить двумя способами, в зависимости от того, как вы устанавливали &aktion;.

&aktion; устанавливался из исходников

- Проверьте результат работы скрипта `./configure`, в нем должна быть строка `"checking for VidMode extensions..."`. Если скрипт пишет `"no"` после этой строки, то расширения не найдены.

&aktion; устанавливался из пакетов (rpm или deb)

- Если вы найдете файлы: `libXxf86vm.a` и `libXxf86dga.a`, то они-то вам и нужны.

В обоих случаях проверьте, установлен ли пакет XFree86-devel rpm. Расширения входят в этот пакет.

Как узнать, работает ли расширение VidMode на моей системе?

Попробуйте переключить режимы с помощью CTRL ALT numpad +, и если ничего не происходит, то настройте дополнительные режимы, см. об этом далее.

Как настроить дополнительные видеорежимы?

В вашем дистрибутиве должна быть утилита настройки видеорежимов. Как минимум, всегда можно поправить XF86Config.

Вы можете задать столько режимов, сколько вам нужно, но как минимум еще один, например, 640x400 в добавление к вашему обычному разрешению.

## Благодарности и лицензии

&aktion;

Программирование: copyright 2000 Guillermo P. Marotte g-marotte@usa.net

Благодарности

- Benjamin Sher sher07@bellsouth.net

Автор Xanim:

- Mark Podlipec

Документация: copyright 2000 Chris D. Corbettis chris@corbettis.fsnet.co.uk

Перевод на русский Григорий Мохинmok@kde.ru

&underFDL; &underGPL;

## Установка

### Откуда можно скачать &aktion;

&install.intro.documentation;

### Требования

Для работы &aktion;, требуется &kde; 2 и xanim 2.70.7.0 или более свежий. Полноэкранный режим требует расширений Х VidMode и DGA.

Все требуемые библиотеки и сам &aktion; можно скачать с домашних страниц &aktion; и Xanim

### Сборка и установка

&install.compile.documentation;

### Настройка

Не забудьте, что xanim должен быть установлен перед &aktion;.

&documentation.index;