Как открыть mov в avisynth

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

AviSynth сам по себе не имеет графического интерфейса пользователя (GUI), но вместо этого зависит от системы скриптов (сценариев, команд), которые позволяют продвинутое нелинейное редактирование. В то время как на первый взгляд это может показаться утомительным и не-интуитивным, это является достаточно мощным и очень хорошим способом управлять проектами точным, согласованным и воспроизводимым образом. Поскольку текстовые скрипты являются вполне читаемыми (по-английски), проекты естественным образом само-документируются. Язык скриптов прост, но мощен, и из базовых операций могут быть построены весьма сложные фильтры, для разработки богатой палитры полезных и уникальных эффектов.

Более подробно ознакомиться с AviSynth вы можете на сайте avisynth.org.ru

Изменить скрипт фильтрации - Открывает всплывающее окно в котором можно редактировать скрипт AviSynth. Также вы можете использовать специальный редактор скриптов с подсветкой синтаксиса AvsP. (Вызывается кнопкой AvsP-Editor внизу окна Фильтрация )

Создать авто скрипт - Сбрасывает все введенные вами значения в скрипте на дефолтные (но не сбрасываются введенные значения между строками ###### )

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

Тест-скрипт - Если отметить этот пункт то в конец скрипта допишется код:

SelectRangeEvery(FrameCount()/50,50) #2500 frames test-script

Который сделает распределенную выборку из открытого видеофайла и на выходе вы получите видеоряд продолжительностью 2500 - 2550 кадров, составленный из равномерно выдернутых из видеоряда кусков по 50 кадров. Обычно этого достаточно, чтобы оценить сжимаемость более-менее равномерного видео длительностью до 1.5-2 часов.

Предназначается для оценки сжимаемости видеоряда и определения нужного битрейта для качественного видеорипа (сжимаем с -crf (18-20) и читаем лог кодека).

Внимание : Не забудьте снять галку с Тест-скрипт перед окончательным кодированием!

Сохранить скрипт - Дает возможность сохранить avs скрипт. Вы можете открыть скрипт позже и продолжить работу или открыть для кодирования в другой программе (MeGUI, Rhozet Carbon Coder, ССE SP2 или другие).

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

Воспроизвести в (Windows Media Player, Media Player Classic, WPF Video Player) - Вы можете воспроизвести скрипт в одном из представленных видео плееров и оценить качество.
Внимание : Если вы применили Достаточно мощный фильтр то ресурсов центрального процессора может не хватить для корректного воспроизведения видеофайла (просмотр будет отображаться как слайд шоу).

21 января 2009 в 14:11

Знакомство с 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("путь_к_файлу")

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

Сохраните файл с расширением 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 это делается настолько легко, что даже немного обидно.

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

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

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



Этими командами мы создали три переменных типа видео, соединили в один длинный кусок и вернули его для воспроизведения. Если попытаться запустить скрипт сейчас, то появится сообщение об ошибке, потому что параметры у файлов разные. Для начала приведём их к одинаковому разрешению (я буду приводить к 720x480), чтобы не поломать аспект добавим чёрных полосок (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 я оставил от каждого файла сотню кадров. Просто так. :)

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

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

Отдельное спасибо пользователю

)


Начало работы

Итак, приступим к реальной работе. Для начала обсудим общий подход.

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

#Открываем источник с помощью функции AviSource AviSource("E:\File.avi") #Загружаем фильтр обработки видео: loadplugin("C:\Program Files\AviSynth 2.5\plugins\degrainmedian.dll") #задаем параметры обработки для фильтра DeGrainMedian(limitY= 2,limitUV=3,mode=1) #вызываем встроенную в Avisynth функцию изменения размера кадра: BilinearResize(512,384)

При помощи этого простенького скрипта мы обработали свое видео (File.avi) фильтром DeGrainMedian с целью подавления шумов и уменьшения размера кадра до 512x384 с помощью встроенного фильтра BilinearResize. Сохранив этот скрипт как текстовый файл с расширением *.AVS и открыв его в любой программе для работы с видео, мы получим несжатый поток видео, пропущенный через фильтр шумоподавления с разрешением 512х384.

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

  1. Открытие источников (это может быть видео или аудио в различных форматах, но в данном случае контейнер AVI).
  2. Загрузка необходимых фильтров (это могут быть фильтры, написанные специально для "Ависинт" или VirtualDUB).
  3. Указание желаемых параметров для загруженных фильтров.

Как видите, все достаточно просто! Сложность обычно представляет синтаксис, т.к. у каждого фильтра есть свои команды и параметры, и ошибки недопустимы. Но для большинства фильтров есть подробное описание в справке Avisynth (главное, не забудьте выбрать ее русскоязычный вариант при установке). Если же там его не окажется - как правило, описание идет вместе с самим фильтром. Более того, почти всегда, помимо параметров, есть примеры использования, и вам не придется настраивать все с нуля - для начала вполне достаточно изменить приведенные примеры "под себя" и посмотреть, что получится. Что же касается основных команд и встроенных фильтров самого Avisynth, вы можете воспользоваться одним из редакторов AVS скриптов. Я предпочитаю AVSEdit, так как он имеет понятный интерфейс и довольно удобен для быстрого создания шаблона скрипта. Недостаток его (как и многих других подобных редакторов) в том, что он довольно "тормозной" из-за использования платформы NET. Но некоторая задумчивость раздражает только при запуске программы, а в остальном от этих программ и не требуется фантастическое быстродействие.

Как было сказано в предыдущей статье (№ , 2006 год), при всем богатстве возможностей Avisynth лишен какого бы то ни было графического интерфейса. К счастью, этот недостаток нельзя назвать непреодолимым. Мы помним, что у редактора VirtualDUB очень удобный интерфейс. Вот и воспользуемся им в наших целях. Скажу сразу, что лучше всего использовать VirtualDubMod, нежели просто VirtualDUB. Причина проста - в VirtualDubMod есть встроенный редактор скриптов, который позволит значительно упростить некоторые рутинные операции. Вызывается редактор скриптов (Script Editor) Tools-Script Editor. При первом запуске редактора скриптов нажмите сочетание клавиш "Ctrl+1". Таким образом, вы переключите редактор в режим работы со скриптами Avisynth и разблокируете необходимые нам пункты в меню Edit.

Очень распространенной задачей монтажа является выбирание нужных частей видеоклипа и вырезание ненужных. В AviSynth вырезание производится командой TRIM (начало, конец). Понятное дело, что для выбора нужных фрагментов не обойтись без визуального контроля. Удобна следующая методика: щелчком на маркировочные стрелки выделяем нужную часть клипа в окне просмотра VirtualDubMod (как описано в многочисленных руководствах по VitrualDub), а затем в окне редактора скриптов используем команду меню Edit->Import Trim With Range для вставки выделенного интервала в виде команд TRIM в то место строки, где стоит курсор (это удобно, если нужно отрезать края). Либо наоборот, в окне просмотра VirtualDubMod выделяем и удаляем все ненужные отрезки (клавишей DEL) и затем в окне редактора скриптов используем команду меню Import Frameset as Trims для вставки набора нужных кадров без удаленных отрезков (это удобно, если их много). Далее вы можете продолжить написание скрипта в редакторе VirtualDubMod, благо, в нем предусмотрена подсветка синтаксиса.

Крайне полезной возможностью встроенного редактора DubMod"а является автоматическое формирование обрезки кадра Crop, значения формируются в зависимости от примененной вами обрезки (Cropping) выходного видео в окне VirtualDubMod. Для визуального определения обрезки кадра можно воспользоваться встроенным фильтром VirtualDub null transform. После указания границ обрезки в редакторе скриптов достаточно нажать "Ctrl+Shift-C" либо через меню - Edit- Insert Crop. Из своего опыта могу сказать, что операции TRIM и Crop приходится делать почти всегда при простом (и не очень) монтаже, и их автоматизация здорово облегчает работу. Для начала штатный редактор DubMod"а можно использовать только для облегчения этих двух операций, все остальное (добавление источников, плагинов, настройка параметров и пр.) можно делать в другом редакторе, например, в AVSEdit - это позволит затрачивать на написание большинства скриптов 5-10 минут! Ведь через некоторое время вам уже не придется писать их с нуля, достаточно будет подправить уже имеющийся скрипт.

Интерфейс программы: английский

Платформа:XP / 7 / Vista

Производитель: Ben Rudiak-Gold

Сайт: avisynth.org

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

Основные возможности программы AviSynth

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

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

Начиная работать с программой, вы создаете скрипт с расширением.AVS, а затем открываете сохраненный документ, к примеру, в программе VirtualDub, которая прекрасно справляется с редактированием видео. Иеперь в работу в фоновом режиме включается именно AviSynth. Причем, фильтры данной утилиты работают таким образом, что программа, во-первых, не знает, что передача видео осуществляется через AviSynth, а, во-вторых, предполагает, что открываемый видео файл имеет стандартный формат.AVI. В этом и состоит вся прелесть этой утилиты. Ведь с ее помощью можно открывать совершенно различные файлы, которые будут восприниматься программами, как стандартное видео.

При использовании этой утилиты совершенно спокойно можно объединять несколько видео файлов в один, менять или обрабатывать звуковые дорожки. Весьма важной особенностью является возможность редактирования файлов видео с размером, больше 2 ГБ. Тем более, программа позволяет работать с любым типом видео, включая.MPEG или.MOV (QuickTime), в том цветовом формате, который наиболее подходит для входного или выходного видео, без лишних преобразований. Да и скорость преобразования видео довольно высока. При этом вы получаете полный доступ к любому кадру и полю (половине кадра в чересстрочном видео), с возможностью их разделения, прореживания, комбинирования, фильтрации, объединения, изменения частоты и т. д.

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