Разное

Avisynth что это за программа: Знакомство с AviSynth / Хабр

Знакомство с AviSynth / Хабр

В этой статье будет рассказано о том, что такое AviSynth и его применение в походных условиях, не без помощи VirtualDub, конечно.

AviSynth это нелинейный видео-редактор, контролируемый скриптовым языком или, перефразируя, скриптовый язык для обработки видео. AviSynth выступает в качестве промежуточного звена между приложением и физическим файлом, позволяя «на лету» выполнять различные преобразования. Текстовый файл (AVS скрипт), в котором содержатся различные команды, множество программ может открывать как обычный видео-файл (VirtualDub, Adobe Premiere, Windows Media Player, Media Player Classic, e t.c.). Технически, AviSynth выступает в роли VFW (Video For Windows) кодека для текстового файла. AviSynth поддерживает различные плагины, которых существует громандная куча. (кроме своих ещё и от VirtualDub). Качать здесь.

Что это нам может дать?

  1. Расширение функциональности программ для обработки и воспроизведения видео. Например, добавление поддержки ранее не поддерживаемых видео (и аудио, кстати) форматов. Применение различных эффектов и фильтров;
  2. Автоматизация процесса обработки видео. AviSynth скрипты, при помощи какого-нибудь другого скриптового языка, можно генерировать на лету;
  3. Упрощение и ускорение небольших операций по обработке видео. Вместо ползаний по графическим меню, зачастую, бывает удобнее и быстрее вбить пару-тройку небольших команд в текстовый файл. Помимо этого, в дальнейшем, этот текстовый файл можно использовать для других источников, просто заменив имя исходного файла. Можно создать коллекцию шаблонов на часто выполняемые операции.
Что такое VirtualDub?

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

Пример 1. Пережатие видео для слабых компьютеров.

Практически всё новое видео сейчас выходит в HD, но существует много пользователей, мощности компьютеров которых не позволяют насладиться просмотром. Программным решением данной ситуации будет сжать видео с меньшим разрешением. Для этого существует целый спектр программ, но в большинстве своём, они либо неудобны, перегружены ненужным функционалом, либо удобны, но не поддерживают желаемые форматы файлов, либо стоят денег. При помощи AviSynth и VirtualDub мы научимся обрабатывать любой тип файла, для которого установлен DirectShow кодек (проще говоря, который в состоянии воспроизвести ваш Windows Media Player).

В качестве объекта для экспериментов возьмём Ghost in the Shell, уменьшим его размер и сделаем хардсаб (внедрим субтитры в видеоряд).

Кадр из исходного видео:

Укажем AviSynth, что нам требуется открыть файл при помощи DirectShow фильтра. При помощи этих же фильтров их открывает WMP. Откройте блокнот и напишите:

DirectShowSource("путь_к_файлу")

У меня получилось:

DirectShowSource("e:\Ghost In The Shell Movie 1.mkv")

Сохраните файл с расширением avs и попробуйте открыть в VirtualDub. Хотя он в стандартной поставке не поддерживает mkv – файл откроется. VirtualDub определит содержимое как несжатое видео. Хорошо, закройте VirtualDub, откройте скрипт и допишите следующую строку:

Lanczos4Resize(новая_ширина, новая_высота)

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

В итоге у меня получился скрипт:

DirectShowSource("e:\Ghost In The Shell Movie 1.mkv")
Lanczos4Resize(800,430)

Сохраните его и откройте в VirtualDub. Вы увидите, что картинка поменяла размер, у меня она стала вот такой:

Осталось сделать хардсаб. Для этого воспользуемся командой:

TextSub(“путь_к_субтитрам”)

В результате у меня получился скрипт:

DirectShowSource("e:\Ghost In The Shell Movie 1.mkv")
Lanczos4Resize(800,430)
TextSub("e:\Ghost In The Shell Movie 1.SRT")

и вот такая вот картинка:

Всё, можно сжимать, например XviD с небольшим битрейтом и смотреть. Однако, полученный файл не стоит распространять, мы же делали его исключительно для личного просмотра. 🙂

Пример 2.

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

Итак, у нас есть следующие пациенты:

  1. Ghost in the Shell – h364, 1280×688, 23.98fps, MKV


  2. Teenage Mutant Ninja Turtles – XVID, 512×384, 23.98fps, AVI


  3. От Винта — DivX 5, 720×528, 25.
    00fps, AVI


В реальной жизни такой зоопарк соединять не приходится, но я хочу подчеркнуть возможности AviSynth.

Откроем блокнот и запишем следующее:

video1 = DirectShowSource("D:\Video\Games\От Винта\Ot Vinta. 001.avi")
video2 = DirectShowSource("E:\Ghost In The Shell Movie 1.mkv")
video3 = DirectShowSource("D:\Video\Teenage Mutant Ninja Turtles\1x01.avi")

return video1 + video2 + video3

Этими командами мы создали три переменных типа видео, соединили в один длинный кусок и вернули его для воспроизведения. Если попытаться запустить скрипт сейчас, то появится сообщение об ошибке, потому что параметры у файлов разные. Для начала приведём их к одинаковому разрешению (я буду приводить к 720×480), чтобы не поломать аспект добавим чёрных полосок (letterbox), приведём fps к 25 и приведём sample rate звука к одной величине (44100).

video1 = DirectShowSource("D:\Video\Games\От Винта\Ot Vinta. 001.avi")
video2 = DirectShowSource("E:\Ghost In The Shell Movie 1. mkv")
video3 = DirectShowSource("D:\Video\Teenage Mutant Ninja Turtles\1x01.avi")

video1 = video1.Trim(100,200)
video1 = video1.Lanczos4Resize(652,480)
video1 = video1.AddBorders(34, 0, 34, 0)
video1 = video1.ResampleAudio(44100)

video2 = video2.Trim(200,300)
video2 = video2.Lanczos4Resize(720, 388)
video2 = video2.AddBorders(0, 46, 0, 46)
video2 = video2.ConvertFPS(25)
video2 = video2.ResampleAudio(44100)

video3 = video3.Trim(400,500)
video3 = video3.Lanczos4Resize(640,480)
video3 = video3.AddBorders(40, 0, 40, 0)
video3 = video3.ConvertFPS(25)
video3 = video3.ResampleAudio(44100)

return video1 + video2 + video3

Командой Trim я оставил от каждого файла сотню кадров. Просто так. 🙂

Вот и всё. Скрипт делается копипастой буквально за несколько секунд, а времени экономит целую кучу. Его выполнение не требует ни временных файлов на диске, ни ужасающих объёмов ОЗУ.

Результаты его исполнения:

Отдельное спасибо пользователю drunk без инвайта которого эта публикация не произошла бы.

AviSynth | это… Что такое AviSynth?

AviSynth — свободно распространяемая программа с открытым кодом, предназначенная для обработки видеоматериалов, в частности линейного и нелинейного монтажа.

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

Содержание

  • 1 Использование с другими программами
  • 2 Программирование AviSynth
  • 3 Фильтры, внешние плагины, скриптовые функции и утилиты
  • 4 Примечания
  • 5 Ссылки

Использование с другими программами

Благодаря множеству различных плагинов, AviSynth позволяет значительно расширить возможности монтажных программ. Например, при помощи плагина Quicktime Import Filter для AviSynth можно импортировать нужный нам файл Apple Quick Time в любую программу, которая поддерживает импорт файлов AviSynth. При этом абсолютно не важно, поддерживает нужная нам программа формат Apple Quick Time или не поддерживает.

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

Также может использоваться с VirtualDub[1], входит в состав Gordian Knot[2].

Фреймсервер AviSynth является как бы посредником между физическими медиа-файлами на жёстком диске и монтажной программой. Это позволяет упростить конечный монтаж за счёт предварительно монтажа посредством AviSynth.

Программирование AviSynth

AviSynth программируется при помощи скриптовых файлов (*.avs), содержащих команды AviSynth, например, для объединения двух DV файлов «1.avi» и «2.avi» в один:

AVISource("1.avi")++AVISource("2.avi")

К фильму «1.avi» фреймсервер AVISynth добавит фильм «2.avi» и передаст полученные кадры в монтажную программу.

Другим примером использования AviSynth может служить перевод снятого на киноплёнку фильма (24 кадра в секунду) в видеоформат (25 кадров в секунду)[3].

Фильтры, внешние плагины, скриптовые функции и утилиты

Примечания

  1. VirtualDub → Стр.7 — Панель навигации.. 3DNews. Проверено 30 марта 2012.
  2. Алексей Шашков DVD-RIP. Gordian Knot → AviSynth. 3DNews (25 апреля 2002). Проверено 30 марта 2012.
  3. Евгений Сучев
    Процесс перевода киноплёнки в видео. 3DNews (4 декабря 2003). Проверено 30 марта 2012.

Ссылки

  • Официальный сайт проекта  (англ.)
  • проект на SourceForge
  • Русская страница проекта  (рус.)
  • Форум разработчиков  (англ.)
Обзоры
  • Основы использования утилиты AviSynth при обработке видео // IXBT.com
  • Алексей Шашков DVD-RIP. Gordian Knot → AviSynth. 3DNews (25 апреля 2002). Проверено 30 марта 2012.
  • AviSynth and AvsP — What they are, and why you need to use them too!

Что это такое и зачем оно нужно.


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

На мой взгляд проблем с AviSynth нет, но есть проблема в том, как это воспринимается. Многие люди на самом деле не знать, что это такое, что он делает или почему все это на самом деле полезно. Другие считают, что им это не нужно, потому что их метод работает для их, и они придерживаются этого … но я говорю, если вы дадите эту программу шанс, что вы скоро удивитесь, как раньше жили без него.

AviSynth — это не программа в том смысле, в каком вы обычно думаете о программах. Вы не запускаете .exe и не используете графический интерфейс для изменения настройки или что-то еще — это не то, как работает AviSynth. AviSynth — это машина для обработки видео, работающая в фоновом режиме. это обманщик это заставляет программное обеспечение для редактирования/воспроизведения видео думать что оно читает видеофайл, когда на самом деле создается отснятый материал кадр за кадром для вашего дизайна благодаря Avisynth.

Все, что вы делаете, это пишете простой файл с некоторыми командами и даете этот файл в программу редактирования видео для чтения. Когда видеопрограмма смотрит на файл, он не видит глупых команд, которые вы написали: он видит видео. Видео, которое программа видит, это то, что вы описали в своем простом файл.

Позвольте мне продемонстрировать процесс на примере изменения размера:

  1. Возьмите видео ‘X’ со слишком маленьким разрешением
  2. Создайте простой скрипт avisynth, который говорит: «Это больше версия Видео X»
  3. Передать скрипт avisynth программе редактирования
  4. Программа редактирования просматривает файл сценария и вместо этого видит кадры
  5. Каждый раз, когда программа просматривает кадр, avisynth берет Video X, увеличивает кадр и отдает его на монтаж программа.
Таким образом, вместо того, чтобы делать новое видео, которое больше, чем старый, AviSynth просто увеличивает размер каждого кадра при редактировании. программа хочет видеть этот кадр. Это все происходит за кулисами, так что эффект заключается в том, что у вас есть видео большего размера, но нет необходимости перекодировать или создать новый файл.

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

  1. Возьмите DVD-диск, который программа редактирования не может прочитать
  2. Расшифровать
  3. Ищите шаблон Telecine (чересстрочная развертка)
  4. Восстановить исходные кадры и убрать интерлейсинг
  5. Обрезать сцену
  6. Обрезать лишнее по краям
  7. Отфильтруйте отснятый материал, чтобы он выглядел чище
  8. Изменить частоту кадров
  9. Передать в программу редактирования
И все это можно сделать еще до того, как видеопрограмма увидит кадры — и все в одном месте. Вам не нужна одна программа для декодирования видео на DVD, затем еще один, чтобы удалить чересстрочную развертку, а затем еще один, чтобы сделать его лучше. AviSynth делает все это и НАМНОГО больше кроме всего прочего в простом файле сценария, который вы пишете.

AviSynth стал незаменимым инструментом редактирования цифрового видео Windows, потому что этой гибкости, а также из-за его огромной силы. Вид деинтерлейсинг и удаление телесина, которые вы можете сделать в avisynth, что-то, за что вы потенциально могли бы заплатить тысячи, как часть Ваша профессиональная программа для редактирования видео. Возможность декодирования mpeg2 есть то, что есть во многих программах для редактирования в наши дни, но немногие могут это сделать совсем так точно, как AviSynth. В сочетании с его способностью конвертировать типы отснятого материала и выполнять все другие цифровые манипуляции с ним. делает, то легко понять, почему это такой полезный инструмент.

И все это в нескольких строках текста. это реально красота — надо что-то менять, меняешь сценарий. Вы хотите чтобы добавить что-то еще, вы добавляете это в скрипт. это удобство в избыток… вам просто нужно понять, как его использовать.

Avisynth использует скрипты, которые вы должны написать, и именно эти скрипты которые говорят avisynth, что делать и какое видео производить, когда это сценарий передается программе редактирования видео. Теперь, хотя эти скрипты довольно простые вещи, они сильно отличаются от того, что делает большинство людей — это больше похоже на программирование, чем на монтаж видео — но вы справитесь довольно быстро. Кроме того, эти инструкции дают вам основной способ сделать эти вещи, но VirtualDubMod поможет вам сделать их в два раза быстрее, если не больше, но лучше сначала изучить простой длинный путь.

Первое, что вам нужно сделать, это перейти в папку. Щелкните правой кнопкой мыши и выберите New > Text Document

Появится файл с названием «New Text Document», и если дважды щелкнуть он откроется в текстовом редакторе, возможно, в Блокноте или Wordpad. Сейчас в для создания файлов Avisynth нам нужна возможность переименовывать файл расширение. Если созданный файл отображается как «Новый текстовый документ .txt » тогда это хорошо. Если все, что вы видите, это «Новый текстовый документ», затем вам нужно будет изменить параметры отображения папки

Перейдите в Инструменты в окне каталога и выберите папку параметры…  выберите вкладку «просмотр» и отмените выбор «Скрыть расширения файлов для известных типов файлов» . Это должно позволить вам увидеть файл как «Новый текстовый документ.txt»

[«Я рекомендую, чтобы люди выбрали «Отображать полностью путь в адресной строке», пока они находятся в параметрах папки, так как значительно упрощает копирование и вставку местоположений файлов при создании скрипты avisynth.» — Корран]

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

Colorbars(720,480)
Сохраните файл и вернитесь в свою папку. Теперь у нас есть текстовый файл с в нем есть команда (сейчас я объясню, что эта команда делает). Тем не менее, это не очень полезно для нас, как это — это должно быть Файл Ависинт. Для этого вам нужно переименовать файл, чтобы он имел «.avs». расширение не «.txt». Итак, переименуйте файл в «colorbars.avs». Поначалу этот процесс может показаться немного затянутым, но он становится вторая натура, и, как я уже сказал, есть программы, которые действительно делают это намного быстрее, что вы познакомитесь позже.

Когда у вас есть файл colorbars.avs, вы захотите воспроизвести его в Проигрыватель Windows Media. Возможно, что при установке Avisynth что вы зарегистрировали файлы .avs для воспроизведения в проигрывателе Windows Media — если это так, вы можете дважды щелкнуть файл, чтобы увидеть, что он делает. В противном случае вы придется загрузить ваш медиаплеер и закинуть в него этот файл вручную.

При воспроизведении этого файла вы должны увидеть изображение некоторых цветных полос и услышать неприятный звук beeeeeeeeeeeep. Поздравляем, у вас есть успешно сделал рабочий скрипт avisynth. Этот сценарий был очень простая однострочная команда, которая попросила Avisynth создать видео с несколько цветных полос в разрешении 720х480. Вот как ависинт работает, вы даете команду, и он производит видео. Давайте попробуем изменить видео у нас есть. Хотя это уже не файл .txt, вы все равно можете загрузить файл colorbars.avs в текстовый редактор, такой как Блокнот или Wordpad. Открыть загрузите файл в текстовый редактор, и мы посмотрим, сможем ли мы что-то изменить.

Во-первых, этот звук очень раздражает, поэтому мы должны сказать Avisynth, чтобы получать Избавься от этого. Добавьте в конец скрипта следующую команду:

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

720×480 немного великовато для того, чтобы просто поиграть с ним, так почему бы не изменить его размер. Добавить еще строка вашего скрипта:

BicubicResize(320,240)
Мы должны теперь есть скрипт, который говорит:
Colorbars(720,480)
KillAudio()
BicubicResize(320,240)
Сохраните сценарий и снова воспроизведите его в проигрывателе Windows Media. Это должно быть меньше и гораздо менее болезненным для ушей. Фильм немного длинновато — мы никогда не дойдем до конца на этом ставка. Так почему бы не сократить его?
colorbars(720,480)
KillAudio()
BicubicResize(320,240)
Trim(0,300)
Команда Trim берет только кадры с номера кадра 0 (начало) и 300. Вот — сейчас это длится всего около 10 секунд.

Теперь вы можете начать понимать, как создавать скрипты avisynth. Эти команды происходят по порядку, одна за другой, и иногда это очень важно что-то происходит раньше или что-то еще. В этом сценарии установка KillAudio() до того, как линия цветных полос была бы бесполезна, потому что не было аудио до тех пор, пока не будет выполнена команда colorbars, чтобы она не сделал что-нибудь.

Итак, мы сделали самые основы, теперь пришло время поиграть с настоящим кадры и посмотреть, что вы действительно можете сделать с этой программой. Давайте принимать, например, файл MPEG1 Кевина «Believe» Колдуэлла — если у вас нет этого видео, то стоит ваш во время просмотра. К сожалению, он в разрешении 352×240 и не помечен как воспроизводится в формате 4:3, поэтому, когда я смотрю его, бедняжка Акари-тян выглядит такой толстой. Ну что с этим можно сделать? Ну, я мог бы просто запустить его через АВИСинт!

Создайте новый текстовый файл, как и раньше, а затем переименуйте этот пустой файл в blahblah.avs, затем откройте его в блокноте. я назову свою «Верю.avs».

Теперь в этом текстовом файле поместите следующие строки, убедившись, что изменить расположение файла на свое:

DirectShowSource(«D:\believe.mpg»)
BicubicResize(320,240)

Затем я могу открыть файл в проигрывателе Windows Media, и вуаля! Теперь видео воспроизводится в разрешении 320×240, и все вернулись. в норму. Аккуратно, да? Итак, как я это сделал?

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

Чтобы загрузить AVI, вы должны использовать AVISource вместо DirectShowSource .

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

Существует множество команд, которые делают разные вещи. Файл Исходные команды — это такие вещи, как AVISource, DirectShowSource, MPEG2Source, WAVSource и т. д. Они загружают файлы, а затем видео/аудио потоки в AVISynth.

Затем есть пользовательские команды, такие как версия (который создает видеоклип с номером версии), BlankClip (который генерирует, как вы уже догадались, пустой клип сплошного цвета с тихое аудио) и MessageClip (который создает клип с определенное сообщение в тексте).

Затем у нас есть команды, которые фактически изменяют клипы или потоки, которые был загружен. В данном случае BicubicResize — это фильтр, изменяющий размер видеоклип в новом разрешении с использованием алгоритма бикубической ресемплинга. Вы заметили, что в скобках для BicubicResize дополнительная информация новое разрешение по горизонтали и новое разрешение по вертикали. Есть другие необязательные аргументы, которые изменяют силу определенных параметров и многое другое, и вы можете получить описание для каждой команды и его настройки в справочной документации. Вы должны посмотреть на это, чтобы ознакомьтесь с типами команд, которые предлагает AVISynth.

На самом деле, вам, вероятно, следует сделать это сейчас. Лучший способ получить Чтобы знать AviSynth, нужно прочитать руководство. Avisynth поставляется с обширным документации, которая будет находиться в вашем меню «Пуск». Здесь вы будете найти списки всех команд, которые может выполнять avisynth, и множество других хорошие вещи кроме. Также имеется большое количество информации на основной сайт avisynth www.avisynth.org

При этом в Avisynth есть еще больше, чем по умолчанию команды.

Программа установки AMVapp называет эти фильтры Avisynth просто для того, чтобы отличить между ними и плагином Premiere AVS, который является совершенно другим вещь. Плагины Avisynth содержат функции, которые люди написали как дополнения к основным инструментам AviSynth. Эти плагины необходимы для получить максимальную отдачу от AviSynth, поскольку они дают ему возможности, которые он обычно никогда не бывает.

Если вы установили AMVapp или любую версию Avisynth 2.5x, вы будет иметь папку под названием «Avisynth 2.5\plugins\», и ​​это папка плагина по умолчанию. Когда плагины помещаются в эту папку, они автоматически загружается в avisynth, чтобы вы могли использовать функции сразу в скриптах.

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

LoadPlugin(«C:\mpeg2dec\mpeg2dec3.dll»)
К счастью для вас, вам не нужно будет делать это, если у вас есть приложение AMVapp. установлен. AMVapp имеет большое количество плагинов и пользовательских скриптов. функции, которые не нужно загружать вручную.

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

Mpeg2Source — это позволяет использовать файлы проекта dvd2avi для импорта mpeg2 (dvd) в AviSynth.
Telecide — этот фильтр находит исходные прогрессивные кадры телесиновый источник видео (инверсный телесин)
Decimate — удаляет повторяющиеся кадры, обнаруженные в процессе IVTC. и уменьшает видеопоток до исходной частоты кадров.

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

Вы заметите, что когда вы начнете использовать множество функций, некоторые из них работают в некоторых цветовых форматах, а некоторые нет. это что-то вы привыкаете довольно быстро, но вам также нужно быть осторожным, когда конвертировать из одного цветового пространства в другое и постараться не делать этого слишком часто.
YV12 — это цветовое пространство, используемое DVD, Mpeg1, Divx и в основном большинство форматов распространения. это способ хранение цвета YUV, который имеет один образец цветности для квадрата 2×2 пикселей и, следовательно, должно иметь разрешение, кратное 4,9.0003 YUY2 — это цветовое пространство, используемое некоторыми захватами. карты. Это другой формат YUV, но на этот раз с одной цветностью. образец для любой пары пикселей по горизонтали и, следовательно, должен иметь горизонтальное разрешение, кратное 2.

RGB24 — это базовое цветовое пространство Red Green Blue. Один образец каждого цвета на пиксель — может быть в любом разрешении.

RGB32 — это то же самое, что и RGB24, но также имеет альфа-канал, который можно использовать для таких вещей, как прозрачность. Очень удобно для людей, работающих с Adobe After Effects или экспортирующих отснятый материал из 3D программ.

Конверсий между цветовыми пространствами следует избегать, насколько это возможно. — особенно преобразования между цветовыми пространствами YV12/YUY2 и RGB. Вы можете конвертировать из RGB24 в RGB32 и обратно столько раз, сколько захотите. (за исключением того, что вы потеряете свой альфа-канал, если используете его).

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

ConvertToYUY2() или ConvertToYUY2(interlaced=true)
Тем не менее, попробуйте и подумайте, действительно ли это преобразование необходимо. Когда перенос отснятого материала DVD в программу редактирования, которая вам понадобится преобразовать в RGB32 в какой-то момент, так как это собственный формат редактирования большинство программ для редактирования. Аналогично, когда вы конвертируете отредактированный amv, который вы преобразовали в divx, вам нужно будет преобразовать его в YV12 в какой-то момент. Зная это, вы можете использовать определенные фильтры в определенные моменты времени. раз без необходимости делать ненужное преобразование. мы вернемся к этой идее позже — просто помните, что некоторые команды работают только в некоторых цветные форматы, а некоторые программы редактируют только некоторые цветовые форматы. Последняя информация, которую вам нужно знать об Avisynth, прежде чем мы перейдем к другие программы, это то, что есть некоторые функции, которые не являются плагинами но загружаются в avisynth при его запуске. Это скрипты, которые находятся в папке plugins и имеют расширение «.avsi»

Их несколько, и все они содержат интересные функции. которые будут описаны более подробно по мере необходимости. Ты можешь также определите свои собственные функции в этих файлах — просто следуйте инструкции в документации AviSynth по созданию пользовательских функций. Эти команды .avsi автоматически «включаются» при создании нового avs, поэтому некоторые из этих avsi-файлов используются для глобальных настроек. SetMemoryMax.avsi, например, определяет, сколько памяти у каждого AviSynth. скрипт разрешено использовать — это во избежание сбоев при редактировании программ при использовании многих скриптов.

Это все, что вам нужно знать об использовании AviSynth на данный момент. Следующий мы собираемся рассмотреть программу, которая не только бесценна для кодирование видео, но и для того, чтобы скрипт avisynth так много использовал проще….

ErMaC и AbsoluteDestiny — октябрь 2002 г./апрель 2004 г.

Далее — VirtualDubMod — Что это такое и как им пользоваться

Индекс

 

Примеры скриптов — Avisynth wiki

Вот несколько примеров скриптов Avisynth, сгруппированных по категориям возрастающей сложности. Сначала скачайте и установите AviSynth, затем сохраните эти скрипты с расширением файла «.avs» и загрузите их в свой любимый видеоплеер или редактор.

Содержимое

  • 1 Простые примеры
    • 1.1 Пример 1: Вырезание секций
    • 1.2 Пример 2: изменение размера
    • 1.3 Пример 3: Дублирование аудио
    • 1.4 Пример 4: Регулировка яркости, удаление шума, затухание
  • 2 Более сложные примеры
    • 2.1 Пример 5: Пример слоя поптонов
    • 2.2 Пример 6: Запись изображений со вспышкой на изображения из полного видео
      • 2.2.1 параметры.avs
      • 2.2.2 FindFlash.avs
      • 2.2.3 SaveFlash.avs
  • 3 См. также:

Простые примеры

Пример 1: Вырезание секций

 # Это комментарий. Все строки, начинающиеся с символа «#», являются комментариями.
# и игнорируются AviSynth.
# загрузить файл "somevideo. avi" из того же каталога, что и скрипт
AVISource("somevideo.avi")
# Trim указывает, какие кадры СОХРАНЯТЬ. Следующая строка сохраняет кадры
# [0, 12000], [20000, 32000], [44000, конец], а затем соединяет их
# вместе, эффективно удаляя кадры [12001, 19999] и
# [32001, 43999]
#
# ПРИМЕЧАНИЕ: обозначение интервала [a, b] означает все кадры от a до b,
# включительно.
#
Обрезать(0, 12000) ++ Обрезать(20000, 32000) ++ Обрезать(44000, 0)
 

Пример 2. Изменение размера

 AVISource("somevideo.avi")
# изменить размер видеокадра до 320x240
LanczosИзменить размер(320, 240)
 

Пример 3: Дублирование аудио

 видео = AVISource("somevideo.avi")
# мы также можем загружать файлы WAV
аудио = WAVSource("music.wav")
# мультиплексируем видео и аудио дорожки вместе
AudioDub(видео, аудио)
 

Пример 4: Регулировка яркости, удаление шума, затухание

 AVISource("somevideo.avi")
# TemporalSoften — один из многих шумоподавляющих фильтров
TemporalSoften(4, 4, 8, смена сцены=15, режим=2)
# увеличить гамму (относительную яркость) видео
Уровни (0, 1. 2, 255, 0, 255)
# постепенное появление первых 15 кадров черного цвета
Исчезновение(15)
# сделать последние 15 кадров черными
Исчезновение(15)
 

Более сложные примеры

Пример 5: Пример слоя поптонов

 LoadPlugin("MPEG2DEC.dll")
clip1 = Mpeg2Source("combine.d2v").Crop(16, 0, 688, 576).ConvertToRGB32
шум = AviSource("noise.avs").ConvertToRGB32
clip1 = clip1.Layer(шум, "добавить", 8, 0, 0, use_chroma=true)
clip2 = clip1.Trim(125766, 0)
clip = clip1.Layer(clip2, "добавить", 128, 0, 0, use_chroma=true).Trim(9180, \
 86780).AssumeFrameBased.ComplementParity.Bob
# создаем маску де-логотипа
logosrc = AviSource("nologo.avi").Weave.ConvertToRGB32.BilinearResize(59, 13)
masklogo = AviSource("whitelogo.avi").ConvertToRGB32
logo = logosrc.Mask(masklogo).BilinearResize(60, 27)
# теперь закройте этот уродливый белый логотип...
clip = clip.Layer(логотип, "добавить", 255, 582, 36, use_chroma=true)
размытие = клип. GeneralConvolution (0,
 "10 10 10 10 10
 10 10 10 10 10
 10 10 16 10 10
 10 10 10 10 10
 10 10 10 10 10")
# Обнаружение края по Собелю.

Добавить комментарий

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