Большинство видео и аудио форматов может быть загружено в AviSynth, но существуют и некоторые исключения такие как flv4 (VP6) и dvr-ms. Если невозможно загрузить клип в AviSynth, вы должны сконвертировать его в некоторый другой формат, который может быть загружен. Помните выбрать такой формат, для которого вы будете иметь минимальные потери в качестве в результатах преобразования.
Вообще есть два способа загрузить ваше видео в AviSynth:
Удостоверьтесь, что ваш клип содержит максимум один видео и (или) один аудио поток (таким образом удалите субтитры и удалите другие видео/аудио потоки). Если вы хотите загрузить клип, который содержит видео и аудио, у вас есть две возможности:
При загрузке клипа в AviSynth советуем следовать следующим правилам:
преимущества DirectShowSource:
недостатки DirectShowSource:
Нет, видео и аудио распаковываются при их открытии в AviSynth.
Однако существует модификация AviSynth v2.55, которая поддерживает 'direct stream copy' для видео и аудио. Эта модификация называется DSynth и может быть загружена здесь. Возможно, когда-нибудь она будет обновлена и вольется в официальный релиз AviSynth.
Используйте AviSource для загрузки файлов AVI в AviSynth. Пример:
AviSource("d:\filename.avi")
или без аудио:
AviSource("d:\filename.avi", false)
Если AviSynth ругается о неспособности загрузить ваш avi (couldn't decompress ...), вам необходимо установить соответствующий кодек. GSpot, в частности, подскажет вам, какой кодек вам необходимо установить для возможности открытия вашего avi.
Явное указание декодера, который будет использован для загрузки клипа в AviSynth:
# загрузить avi используя кодек XviD: AviSource("d:\filename.avi", fourCC="XVID") # открывает avi (например DivX3) используя кодек XviD
# загружаем ваш dv-avi используя Canopus DV кодек: AviSource("d:\filename.avi", fourCC="CDVC")
Всегда возможно выделить (demux) ваше аудио из AVI файла и загрузить его отдельно в AviSynth, используя декодер аудио, но в некоторых случаях (например: AVI с MP2/MP3/AC3/DTS аудио) возможно загрузить его непосредственно в AviSynth.
Для загрузки AVI с аудио вам необходимо (1) VfW (Video for Windows) кодек, чтобы открыть (то есть декодировать) ваше видео в AviSynth и ACM (Audio Compression Manager) кодек, чтобы открыть аудио в AviSynth. Для многих видео и аудио форматов такие кодеки доступны, ко определенно не для всех из них.
В документе "Импортирование медиа в AviSynth" вы можете найти эти кодеки.
DGDecode является внешним плагином и поддерживает MPEG-1, MPEG-2 / VOB, TS и PVA потоки. Откройте их сначала в DGIndex и создайте d2v файл, который может быть открыт в AviSynth (заметьте, что это будет открывать только видео в AviSynth):
Немного примеров:
# DGDecode: LoadPlugin("d:\dgecode.dll") mpeg2source("d:\filename.d2v")
Если ваш транспортный поток (*.TS) содержит MPEG-4 AVC видео, вам необходимо выделить (demux) неформатированный (raw) видео поток из него, и использовать DGAVCDec для его открытия в AviSynth. Смотри здесь о его использовании.
Есть два способа загрузить ваши quicktime mov видео в AviSynth (и еще RawSource для несжатых mov): QTSource и QTReader. Первый появился недавно и способен открыть многие форматы quicktime (с возможностью открыть их как YUY2), но вам необходимо установить проигрыватель QuickTime player для возможности использовать данный плагин. Второй (QTReader) - очень старый, не требуется установка проигрывателя для открытия форматов quicktime в AviSynth.
QTSource:
Вам необходим Quicktime 6 для получения только видео или Quicktime 7 для получения аудио и видео.
# YUY2 (по умолчанию): QTInput("FileName.mov", color=2) # с аудио (с QuickTime 7 возможно во многих случаях) QTInput("FileName.mov", color=2, audio=true) # бесформатное (raw) (с примером YUYV): QTInput("FileName.mov", color=2, mode=1, raw="yuyv") # dither = 1; преобразует бесформатное (raw) 10 бит в 8 бит видео (v210 = 10 бит uyvy): QTInput("FileName.mov", color=2, dither=1, raw="v210")
QTReader:
# Если это не работает, или вы не имеете QuickTime, скачайте плагин QTReader (может быть найден в разделе загрузок Doom9): LoadVFAPIPlugin("C:\QTReader\QTReader.vfp", "QTReader") QTReader("C:\quicktime.mov")
Внешний плагин RawSource поддерживает все виды бесформатных (raw) видео файлов с заголовком YUV4MPEG2 или без заголовка (видео файлы, которые содержат YUV2, YV16, YV12, RGB или Y8 видео данные, записанные кадр за кадром без сжатия).
Примеры:
# Следующее предполагает, что есть соответствующий YUV4MPEG2-заголовок внутри: RawSource("d:\yuv4mpeg.yuv") # Бесформатный файл с RGBA данными: RawSource("d:\src6_625.raw",720,576,"BGRA") # Вы можете указать байтовую позицию видеокадров в файле прямо # (что может быть найдено с помощью yuvscan.exe). # Это полезно, если это видео не сосем неформатированное, № но например несжатые файлы MOV или файлы с некоторым специфичным заголовком: RawSource("d:\yuv.mov", 720, 576, "UYVY", index="0:192512 1:1021952 25:21120512 50:42048512 75:62976512")
RM/RMVB (RealMedia / RealMedia с переменным битрейтом; обычно содержит Real Video/Audio): установите rmvb splitter и Real кодеки путем устанвки RealPlayer/RealAlternative. Создайте скрипт:
DirectShowSource("d:\clip.rmvb", fps=25, convertfps=true) # подстройте fps при необходимости
WMV/ASF (Windows Media Video / Advanced Systems Format; обычно содержит WMV/WMA): этот формат не полностью поддерживается ffdshow, так что вы должны будете установить wmv кодеки. Возьмите WMF SDK v9 для W2K или позже для XP/Vista который содержит кодеки (и DMO упаковщики (wrappers) необходимые для использования DMO фильтров в DirectShow). Вы можете также получить эти кодеки с Windows Media Player 9 Series или позже, Windows Media Format runtime (WMFDist.exe), Codec Installation Package (WM9Codecs.exe) с сайта Microsoft или другого места. (Заметьте, что собственный кодек Microsoft VC1 не поддерживается в W2K так как вам необходим WMF SDK v11.) Создайте скрипт:
DirectShowSource("d:\clip.wmv", fps=25, convertfps=true) # подстройте fps при необходимости
Если медиа файл сожержит MPEG-4 ASP видео, то существуют две возможности открытия его в AviSynth:
1) Используя плагин FFmpegSource. Все включенные dlls кроме ffmpegsource.dll должны быть скопированы в вашу системную папку. Некоторые примеры:
# загрузка видео из MKV и возврат файла временных кодов: FFmpegSource("D:\file.mkv", vtrack = -1, atrack = -2, timecodes="timecodes_file.txt") # загрузка видео и аудио из MP4 и возврат файла временных кодов: FFmpegSource("D:\file_aac.mp4", vtrack = -1, atrack = -1, timecodes="timecodes_file.txt")
Важно сгенерировать файл временных кодов, для проверки имеет ли видео постоянную частоту кадров. В этом случае вы не должны использовать файла временных кодов и вы можете обрабатывать виде любым способом по вашему желанию. Однако, многие не-AVI файлы содержат видео с переменной частотой кадров (AVI файлы всегда имеют постоянную), и в этом случая вам надо удостовериться в двух вещах:
Основная причина этого в том, что FFmpegSource открывает видео как есть. Она не добавляет или удаляет кадры для превращения его в видео постоянной скорости для вынуждения синхронности.
2) Получите ffdshow и откройте MP4/MKV файл с DirectShowSource, вот пример
DirectShowSource("D:\file.mkv", convertfps=true) # convertfps=true вынуждает синхронность если видео - VFR
Если ваш медиа файл содержит MPEG-4 AVC видео, то есть две возможности открытия его в AviSynth:
1) Используя плагин FFmpegSource. Смотри выше о б его использовании. В настоящий момент, поддерживаемыми контейнерами являются: AVI, MKV and MP4.
2) Возьмите DGAVCDec. В настоящее время вам сначала необходимо выделить бесформатный (raw) поток (*.264) из контейнера (используя MKVExtract, MPlayer, TSRemux или другую программу). Откройте бесформатный (raw) файл потока в DGAVCIndex, чтобы создать индексный файл (скажем track1.dga). Откоройте индексный файл в AviSynth:
# raw video demuxed from M2TS (Blu-ray BDAV MPEG-2 transport streams) LoadPlugin("C:\Program Files\AviSynth\plugins\DGAVCDecode.dll") AVCSource("D:\track1.dga")
Используйте WavSource для открытия WAVE PCM файлов (предполагая, что они меньше 4 Гб):
WavSource("D:\file.wav")
Используя плагин RaWav дляоткрытия WAVE PCM файлов, которые больше чем 4GB (Sonic Foundry Video Editor Wave64 Files or W64):
RaWavSource("D:\file.w64", SampleRate=96000, SampleBits=24, Channels=6) # или если присутствует заголовок W64 RaWavSource("D:\file.w64", SampleRate=6) # предполагает присутствие заголовка W64 и читает необходимую информацию
Используйте NicAudio для загрузки вашего MP1/MP2/MP3/MPA/AC3/DTS/LPCM в AviSynth:
Некоторые примеры:
LoadPlugin("C:\Program Files\AviSynth25\plugins\NicAudio.dll") # AC3 audio: V = BlankClip(height=576, width=720, fps=25) A = NicAC3Source("D:\audio.AC3") # A = NicAC3Source("D:\audio.AC3", downmix=2) # downmix to stereo AudioDub(V, A)
# LPCM audio (48 kHz, 16 bit and stereo): V = BlankClip(height=576, width=720, fps=25) A = NicLPCMSource("D:\audio.lpcm", 48000, 16, 2) AudioDub(V, A)
Используйте ffdshow (установите AAC как libfaad или realaac), и используйте
DirectShowSource("d:\audio.aac")
Для WAVE_FORMAT_EXTENSIBLE, ogg, flac, wma, и других форматов, может быть использовано BassAudio и соответствующие библиотеки и дополнения. Заметьте, что BassAudioSource может декодировать стерео aac/mp4, но не может декодировать многоканальный aac.
Некоторые примеры:
bassAudioSource("C:\ab\Dido\001 Here With Me.m4a")
bassAudioSource("C:\ab\Dido\001 Here With Me.aac")
1) Используйте ImageReader или ImageSource чтобы загрузить ваше изображение в AviSynth (может загузить наиболее популярные форматы, исключая GIF и анимированные форматы). Смотри внутренюю документаци для дальнейшей информации.
2) Используйте плагин Immaavs для GIF, анимированных форматов и других типов изображений.
# одиночное изобрвжение: immareadpic("x:\path\pic.bmp") # анимация: immareadanim("x:\path\anim.gif") # последовательность изображений immareadseq("x:\path\seq%3.3d.png", start=5, stop=89, fps=25, textmode=2, posx=50, posy=50)
| Содержание FAQ | Общая информация | Загрузка клипов | Открытие скриптов | Общие сообщения об ошибках | Обработка различного контента | Работа с YV12 | Обработка с плагинами от Virtualdub |
$English Date: 2008/07/06 19:23:36 $