Уточню пару моментов.
Цитата: Во всех этих плагинах встречается перед началом строчка с изменением цветности. Поясни когда это может быть надо.
Цветовых семейств, вообще, не менее 5 (наиболее используемые: CIE, RGB, YUV, HSL/HSV, CMYK), но AviSynth 2.5.x может работать только с двумя: RGB и YUV. Некоторые плагины работают только в определенном цветовом пространстве, и для их использования иногда приходится конвертировать RGB <-> YUV. Например, альфа-канал (прозрачность, маски) поддерживает только RGB32.
Нужно стараться работать только в цветовых пространствах внутри того же семейства, что и в исходном материале, потому что конверсия между RGB и YUV приводит к неисправимым искажениям цветов. Это едва заметно, но при нескольких таких конверсиях цвета "уплывают" сильнее.
Кроме того, RGB32 обрабатывается быстрее RGB24 из-за меньших "накладных расходов".
Работа в YUV требует четных высоты и ширины кадра, т.к. яркость Y у каждого пиксела своя, а цветность UV общая у квадрата 2х2 пиксел.
http://avisynth.org/mediawiki/FAQ_YV12 Скорость обработки: (быстрее) YV12 > YUY2 > RGB32 > RGB24 (медленнее)
Некоторые кодировщики требуют определенного цветового пространства; например, TMPGEnc поддерживает только RGB24.
Цитата: чем лучше вводить фильм для разных форматов (например Xvid, MPEG2, DV, несжатый)?
AviSource() для Xvid/DivX в *.avi;
MPEG2Source()
отсюда для *.mpg/*.m2v/*.d2v/*.vob и прочего MPEG1 и MPEG2 "как есть" либо после индексирования;
FFmpegSource() для всего остального;
DSS2() (avss.dll из Haali Media Splitter) для обработки VFR-источников (с переменной частотой кадров) - он выводит кадры с постоянной частотой кадров (делает CFR из VFR), т.е. так, как их показывает видеоплеер;
DirectShowSource() в самом крайнем случае т.к. он без покадровой точности.
Цитата: Если применять плагин для куска видео, то нужно сначала вырезать этот кусок видео, а потом дальше по коду склеивать?
Если фильтров мало, то так, как
unreal666 сказал. Если много, проще порезать видео на куски, обработать каждый отдельно и склеить в конце:
src = FFmpegSource("test.mkv")
N = 100 # можно и явно указать в нарезке ниже
M = 200
part1 = src.Trim(0, N)
# Цепочка фильтров 1
part2 = src.Trim(N+1, M)
# Цепочка фильтров 2
part3 = src.Trim(M+1, 0)
# Цепочка фильтров 3
return part1+part2+part3
# Строки скрипта, идущие после первого return, не обрабатываются
Цитата: а как тогда все таки узнать какой цеветовой формат RGB24 или RGB32?
Добавить Info() в конце скрипта или открыть видео в AvsP и посмотреть на строку состояния в низу окна.