# Часто задаваемые вопросы по AviSynth - Открытие скриптов

## Содержание

1. Что такое фрейм-сервинг и для чего он хорош ?
2. Как мне использовать AviSynth как фрейм-сервер ?
3. Как мне загрузить мой AVS файл в кодировщик/приложение X ?
   - Прямая передача кадров (фреймсервинг) в совместимые приложения
   - Прямая передача кадров в приложение, используя дополнительные плагины
   - Прямая передача кадров в специальные или модифицированные версии кодировщиков
   - Передача кадров приложению через фальшивые AVI файлы и прокси-утилиты
   - Передача кадров через конвейер из дополнительной программы в приложения-кодировщики
4. Как мне решить проблемы с открытием (чтением) скриптов в кодировщиках и проигрывателях?
5. Как мне передавать кадры из Premiere/Ulead/Vegas в AviSynth ?

### Что такое фрейм-сервинг и для чего он хорош ?

О: Превосходное описание находится на зеркале домашней страницы Lukes:

"Фрейм-сервинг (frameserving, по-русски перевести сложно, но можно как снабжение кадрами, подача кадров, передача кадров, покадровая передача, открытие скриптов) есть процесс, при котором Вы прямо переносите видео данные от одной программы на Вашем компьютере к другой. Никаких промежуточных или временных файлов не создается. Программа, которая открывает файл(ы)-источник(и) и выводит видео данные, называется фрейм-сервер ( frameserver, податчик кадров). Программа, которая принимает данные, может быть видео приложением любого типа.

Существуют две главные причины, по которым Вы хотели бы использовать фрейм-сервинг (покадровую передачу) видео:

1. Экономия дискового пространства:
В зависимости от подающего кадры приложения, Вы обычно можете редактировать/обрабатывать Ваше видео, когда оно покадрово передается. Так как покадровая подача не производит промежуточных файлов, Вы можете использовать программу фрейм-сервер, чтобы изменить Ваше видео, не требуя никакого дополнительного дискового пространства. Например, если Вы хотите объединить два видео файла, масштабировать их, и послать другому видео приложению, покадровая подача могла бы позволить Вам делать это без создания огромных промежуточных файлов.
2. Расширенная совместимость:
Со стороны видео приложения, которое принимает покадрово подаваемое видео, входные данные выглядят подобно относительно маленькому, несжатому видео файлу. Однако, файл-источник, который передает фрейм-сервер, может в действительности быть, например, высоко сжатым MPEG-1 видео. Если Ваше видео приложение не поддерживает файлы MPEG-1, это не проблема так как приложение просто принимает стандартное несжатое видео от фрейм-сервера. Эта особенность покадровой подачи позволяет Вам открывать определенные типы файлов в приложении, которое нормально не поддерживало бы их.

Более того, так как видео приложение получает видео источник покадрово во времени, оно не знает ничего о размерах файла видео источника. Следовательно, если Ваше приложение имеет ограничение 2 GB или 4 GB на размер входного файла, это не будет иметь никакого эффекта на Ваше передаваемое по кадром видео. Вы могли бы загрузить 100 GB видео через фрейм-сервер в приложение, ограниченное до 2 GB и это не вызвало бы проблем."

### Как мне использовать AviSynth как фрейм-сервер для передачи кадров?

Напишите скрипт, используя текстовый редактор. Загрузите Ваш клип (смотри Загрузка клипов) в AviSynth, сделайте необходимую фильтрацию и загрузите файл AVS в кодировщик/приложение X (это должен быть кодировщик или приложение, которое может читать файлы AVI, смотри здесь).

### Как мне загрузить мой AVS файл в кодировщик (приложение) X ?

Существует простой способ для многих приложений, и сложные способы (трюки) для многих других.

#### Прямая передача кадров (фреймсервинг) в совместимые приложения

Просто откройте AVS файл в кодировщике (приложении) через меню, командную строку или перетащите и бросьте AVS файл на него (работающие способы зависят от приложения). Некоторые программы имеют "AviSynth *.avs" в меню "Open", для других попробуйте выбрать "All files *.*" или наберите имя файла AVS вместо "AVI".

Проигрыватели: Media Player Classic, Windows Media Player 6.4, 9 и другие.

Кодировщики: QuEnc, Mencoder, HC Encoder, CCE SP 2.50 и 2.66, Canopus Procoder 1.5 и выше, MainConcept MPEG Encoder, TMPGEnc, TMPGEncXpress 3/4, Elecard Converter Studio, xvid_encraw, FFMpeg (новые версии), Nero 6, Nero 7 (только перетащи_и_брось) и другие.

Редакторы: VirtualDub, AviDemux (через его avs прокси опцию))

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

#### Прямая передача кадров в приложение, используя дополнительные плагины

- Для передачи кадров в Premiere существует плагин импорта "IM-Avisynth.prm".

Оригинальная версия размещалась на сайте Бена, смотри зеркало. Значительно усовершенствованная версия может быть загружена со страницы Video Editors Kit на sourceforge. Он работает для Premiere 5.x, 6.x и Pro в настоящее время. Версия 1.5 также работает для Premier CS3. Для установки плагина импорта, поместите файл IM-Avisynth.prm file в каталог Premiere "Plug-ins".

#### Прямая передача кадров в специальные или модифицированные версии кодировщиков

Некоторые программы изначально не могут открывать скрипты AviSynth, но обновленные или альтернативные программы могут делать это:

- Mencoder
- FFMpeg: версии ранее чем SVN-r6129 используют "AVSredirect.dll" для связи с Avisynth. Начиная с SVN-r6129, код AVS redirect интегрирован в исполняемый файл FFmpeg (как опция при компиляции). Используйте сборки на http://ffdshow.faireal.net/mirror/ffmpeg/
- Windows Media 9 Encoder: загрузите Windows Media 9 Encoder от Nic и удостоверьтесь, что вы также установили Windows Media 9 кодек. Оба могут быть найдены там.

#### Передача кадров приложению через фальшивые AVI файлы и прокси-утилиты

Многие "новые" программы НЕ используют функции Windows для чтения файлов AVI. Если они используют собственные функции чтения, то файлы скриптов AviSynth не будут работать. Существуют утилиты, которые могут создать маленькие фальшивые файлы AVI file со специальным типом (FOURCC), и обеспечивают соответствующие системные кодеки для "декодирования" этих якобы сжатых файлов.

Выберите ваш AVS файл в меню утилиты, установите опции и создайте фальшивый AVI файл с некоторым именем. Затем вы можете открыть этот фальшивый AVI в вашем приложении (кодировщике), которое будет получать кадры от кодека, который будет получать файлы от AviSynth.

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

- VFAPI reader codec с DGVfapi (в качестве клиента) из DGDMPGDec.

Особенности - вывод только RGB24, распакованое аудио, поддержка нескольких файлов, хорошая совместимость, но несколько медленный.

- MakeAVIS - включен в ffvfw и FFDShow.

Особенности - вывод в любой цветовой формат. Распакованное несжатое аудио работает правильно только в старом ffvfw и недавнем (с 13 ноября 2007) ffdshow (только 8 и 16 бит, используйте ConvertAudioTo16bit при необходимости).

- Proxy-codec AVS2AVI. (Заметьте, что одноименная утилита Moitah и других является кодировщиком, а не AVI-враппером.)

Особенности - видео выход тот же, что и входной формат, без аудио.

Известные программы, которые не открывают скрипты AVS без этих утилит:
CCE SP v2.62-2.64, Windows Media Encoder vx.x. (старее чем v9), Ulead VideoStudio 5-11, MediaStudio 6-8, Pinnacle Studio, Sony Vegas, Nero 8, ImageMixer и другие.

#### Передача кадров через конвейер из дополнительной программы в приложения-кодировщики

Avs2YUV является программы командной строки, предназначенная для использования под Wine, для интерфейса между AviSynth и основанных на Linux видеосредствах.

Программы: Mpeg2enc, Mencoder, FFMpeg.

avs2yuv out.avs -o - | mpeg2enc - options...

Этот способ устаревший, так как эти программы теперь имеют встроенную поддержку AviSynth.

### Как мне решить проблемы с открытием (чтением) скриптов в кодировщиках и проигрывателях?

1. TMPGEnc не читает мой AVS файл в (это случается в старых версиях TMPGEnc), что делать ?

- Установите плагин VFAPI для TMPGEnc
- Отмените фильтры directshow в TMPGEnc и выключите прокси VirtualDub перед передачей кадров.
- Добавьте "ConvertToRGB24()" в конец Вашего AVS файла.
- Установите Huffyuv /DivX5 кодек, так чтобы он мог делать декомпрессию при загрузке AVI в TMPGEnc.
- Установите плагин ReadAVS для TMPGEnc. Просто скопируйте ReadAVS.dll в каталог VFAPI reader, откройте reg-файл ReadAVS.reg в Блокноте и измените соответствующий путь. Сохраните его, и дважды щелкните на нем чтобы добавить это к вашему системному реестру.

2. CCE SP аварийно завершается при чтении AVS файла, что делать ?

- Если Вы используете Win2k, тогда запускайте CCE в режиме совместимости с WinNT4-SP5.
- Если Вы не имеете аудио в AVS файле, то добавьве пустой звук. Вы можете сделать скрипт (названный "addaudio.avsi"), как описано здесь, поместить его в Вашу папку плагинов, и добавить AddAudio(44100) к вашему скрипту.
- Некоторые версии (такие как CCE SP v2.62/v2.64) не читают AVS файлы. Используйте CCE SP v2.66 или более позднюю версию.

3. Мой кодировщик или проигрыватель не открывает AVS файлы, что мне делать ?
В этом случае вы можете попробовать другой способ, например AVI враппер (подстановщик), vfapi или makeAVIS.
4. При открытии моего клипа в кодировщике или проигрывателе, цвета испорчены, что делать?
   - Если вы имеете такие проблемы, то некоторый внешний (или внутренний кодек) портит используемое преобразование цветового пространства. Добавьте "ConvertToRGB24" в качестве последней строки вашего скрипта (для Procoder и CCE используйте ConvertToYUY2(interlaced=true) или =false) и ознакомьтесь с веткой форума (и предложенными решениями) по ошибкам преобразования цветовых пространств.
5. Windows Media Encoder 9 Series не открывает AVS файлы, что делать?
   - Используйте обновленный WMCmd.vbs скриптt [обсуждение исправления].
   - Чтобы использовать AviSynth как источник с WME9, вам необходимо установить источник кодировщика в "Both device and file" в меню Session Properties, смотри обсуждение и WMV faq. Или используйте Nic WMV encoder.
6. WMP11 в Vista не проигрывает AVS, что делать?
   - Вы можете отредактировать реестр чтобы добавить .avs как известное расширение. Скопируйте ключ реестра (и его подключи) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.avi в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.avs
   Не изменяйте ничего в реестре, если у вас нет опыта!

### Как мне передавать кадры из Premiere/Ulead/Vegas в AviSynth ?

Установите совместимый с AviSynth фрейм-сервер (импорта) [Debugmode frameserver (by Satish Kumar), старое название PluginPac]: для передачи кадров от SonicFoundry Vegas (и более ранних версий Vegas Video/VideoFactory), Adobe Premiere или Ulead MediaStudio Pro или Wax в AviSynth. [обсуждение].

| Содержание FAQ | Общая информация | Загрузка клипов | Открытие скриптов | Общие сообщения об ошибках | Обработка различного контента | Работа с YV12 | Обработка с плагинами от Virtualdub |

`$English Date: 2008/06/29 18:02:58 $
Русский перевод 19.05.2005-28.06.2008 Fizick http://avisynth.org.ru`