Решение проблем

Содержание

1 Проблемы установки
2 Другие проблемы
2.1 Пишите просто
2.2 Всегда проверяйте параметры
2.3 Тестируйте скрипты используя Virtualdub
2.4 Двигайтесь по скрипту шаг за шагом
2.5 Проверьте файлы Вашей папки автозагрузки плагинов
2.6 Используйте консервативные размеры кадра
2.7 Наконец прочтите AviSynth FAQ
2.8 Доклад об ошибках / Запрашивание помощи

Проблемы установки

Если Вам проблематично заставить AviSynth работать вообще, попробуйте создать файл Version.avs со следующим текстом внутри:

Version()

и открыть его в Windows Media Player 6.4 (это файл "mplayer2.exe" расположенный обычно в "C:\Program Files\Windows Media Player", другие версии WMP могут не работать). Если вы увидите сообщение о версии AviSynth и Copyright, то он установлен правильно.

Если это не работает, Вы можете попробовать следующее:

Другие проблемы

Создание скриптов с AviSynth не всегда легкое занятие, и иногда AviSynth дает очень странные результаты. Вот небольшое руководство, которое может помочь Вам выявить наиболее типичные ошибки.

Пишите просто

Если AviSynth производит странные результаты, попытайтесь упростить Ваш скрипт. Попытайтесь расщепить скрипт на возможно большее число строк текста. Это поможет Вам идентифицировать проблему. Например:

video = AviSource("file23.avi").ConvertToYUY2().Trim(539,8534)
return AudioDub(Blur(video,1.5).Reduceby2().Bilinearrresize(512,384),Wavsource("file23.wav").AmplifyDB(4.5)

не так читабельно в отличие от

AviSource("file23.avi")
ConvertToYUY2()
Trim(539, 8534)
Blur(video, 1.5)
Reduceby2()
Bilinearrresize(512, 384)
AudioDub(Wavsource("file23.wav"))
AmplifyDB(4.5)

Кроме того, преимуществом такой записи является возможность:

Всегда проверяйте параметры

Если некий фильтр дает Вам неожиданный результат, попробуйте использовать его с простейшими параметрами. Всегда сверьтесь с описанием встроенных фильтров либо на домашней странице AviSynth, или в документации, которая пришла вместе с Вашей копией AviSynth.

Удостоверьтесь, что Вы используете тот же тип параметров, как описанный в документации. Наиболее общая ошибка в этом случае относится к первому параметру всех (почти) фильтов, типа "clip". Удостоверьтесь, что Вы понимаете, как работает "неявный последний" ("implicit last"). Если вдруг не окажется "последнего клипа" ("last clip"), то большинство фильтров аварийно завершат работу с сообщением об ошибке "Invalid parameter" ("неподходящий параметр").

"Filter does not return a clip" ("Фильтр не возвращает клип") сообщается, если выход Вашего последнего фильтра присваивается некоторой переменной, и не существует никакого "последнего клипа" ("last clip"). Например:

video = AviSource("file.avi")
audio = WavSource("file.wav")
combined = AudioDub(video, audio)

завершится аварийно. Это можно исправить следующим образом:

video = AviSource("file.avi")
audio = WavSource("file.wav")
AudioDub(video, audio)

где 'last' теперь содержит клип, или:

video = AviSource("file.avi")
audio = WavSource("file.wav")
combined = AudioDub(video, audio)
return combined

где возвращается переменная, или даже:

video = AviSource("file.avi")
audio = WavSource("file.wav")
return AudioDub(video, audio)

Тестируйте скрипты используя Virtualdub

Всегда используйте Virtualdub или даже лучше VirtualDubMod для тестирования Ваших скриптов. Это то, на чем тестируется вся функциональность AviSynth (его разработчиками). AviSynth конечно работает с другими программами, но если Вы получаете ошибки в других приложениях, то это наиболее вероятно проблема не AviSynth, а некоторое ограничение используемой программы.

Эти ограничения главным образом связаны с:

Двигайтесь по скрипту шаг за шагом

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

Вы может закомментировать (деактивировать) любой фильтр (фильтры), поместив символ '#' в начале строки (или перед фильтром). Таким образом он (и весь остаток строки) будет игнорироваться AviSynth.

Вы можете поместить "return last" или "return НекотораяПеременная" в любом месте скрипта для контроля.

В любом месте скрипта Вы можете добавить фильтр Info(), чтобы получить информацию об изображении и звуке на данной стадии фильтрации.

Проверьте содержимое Вашей папки автозагрузки плагинов

Автозагрузка плагинов обычно работает нормально. Но Вы НЕ должны помещать туда:

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

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

Вообще, любой AVSI (ранее AVS) файл, команды которого не приводятся к функциям, будут проблемными.

Все другие форматы файлов кроме AVSI и DLL игнорируются, так что Вы можете безопасно оставлять Вашу документацию (TXT, HTM) здесь.

Как очистить каталог плагинов? Просто создайте некоторый подкаталог (например "hide") и переместите туда все (или некоторые) файлы. Помните, что некоторые файлы (плагины DirectShowSource.dll, TCPDeliver.dll и Colors_RGB.avsi) являются частью AviSynth (с версии 2.5.6).

Используйте консервативные размеры изображения

Если Вы имеете проблемы с искаженными изображениями, попытайтесь использовать консервативные размеры кадров. Это означает, лучше используйте размеры, где высота и ширина кратны 16. Использование размеров изображений не кратных 2 во многих случаях проблематично, и это надо избегать.

Если однако Вы обнаружите некоторую проблему с определенным размером изображения, пожалуйста сделайте доклад об ошибке (bug-report). Смотрите ниже как сделать это.

Наконец посмотрите AviSynth FAQ

Если Вы еще имеете проблемы (загрузка скриптов в определенные кодировщики, или ошибки цветовых пространств), загляните в вопросы и ответы по AviSynth (Q&A), особенно Q2.4: Problems when Encoder X reads AVS-files ? Также просмотрите раздел Q1.4: What are the main bugs in these versions ? FAQ.

Доклад об ошибках / Запрашивание помощи

Чтобы помочь Вам, нам необходимо много информации. Если Вы не снабдите нас этим, есть большая вероятность, что мы не сможем помочь Вам или исправить ошибку.

Непременно всегда укажите:

Сообщения об ошибках могут быть доложены на SourceForge Project page. Проверьте, не было ли уже сообщено об ошибке подобной Вашей - это уже могло быть. Об ошибках во внешних плагинах надо сообщать не там, а автору данного фильтра.

Очень хорошим местом для получения помощи являются форумы Doom9. Сначала просмотрите форум (используя поиск), прежде чем задать вопрос. Многие темы уже затрагивались там! - Затем вступайте в обсуждение.

$English Date: 2007/12/15 09:52:51 $
Русский перевод 15.12.2007 Fizick http://avisynth.org.ru