Часто задаваемые вопросы по Avisynth - YV12

Содержание

1 Что такое YV12?
2 Где я могу скачать последнюю стабильную версию AviSynth, которая поддерживает YV12?
3 Где я могу скачать модуль DGIndex/DGDecode, который поддерживает YV12, для импорта MPEG-1/MPEG-2/TS/PVA в AviSynth ?
4 Какие программы-кодировщики поддерживают YV12?
5 Как использовать v2.5x, если программы кодирования не могут обрабатывать YV12 (типа TMPGEnc или CCE SP)?
6 Какие основные преимущества обработки в YV12?
7 Как использовать VirtualDub/VirtualDubMod так, чтобы не было ненужных цветовых преобразований?
8 Какие внутренние фильтры поддерживают YV12?
9 Какие плагины (внешние модули) поддерживают YV12?
10 Есть ли недостатки обработки в YV12?
11 Как узнать, какое цветовое пространство я использую в данном месте в моем сценарии?
12 Цвета заменяются, когда я загружаю DivX файл в AviSynth v2.5?
13 Я установил AviSynth v2.5 и получил следующее сообщение об ошибке: "Не могу найти декомпрессор для 'YV12' формата (неизвестный)"?
14 Я установил AviSynth v2.5 и DivX5 (или одну из последних сборок Xvid от Koepi), но все, чего я добился, это черный экран при открытии моего avs в VirtualDub/VirtualDubMod/MPEG-2 кодировщике?
15 Есть ли какие-то безпотерьные YV12 кодеки , которые я могу использовать для захвата, например?
16 Некоторые важные ссылки

Что такое YV12?

Это несколько различных способов представление цвета. Например: цветовое пространство YUV и RGB. В YUV цветовом пространстве есть один компонент, который представляет яркость (сигнал яркости) и два других компонента, которые представляют цвет (сигнал цветности). В то время как яркость передается со всеми деталями, некоторые детали в компонентах сигнала цветности могут быть удалены путем понижения разрешения отсчетов (фильтрация или усреднение), что может быть сделано несколькими способами (т.о. есть много форматов для сохранения изображения в цветовом пространстве YUV). YV12 - один из таких форматов (тут сигнал цветности общий для каждого блока пиксел 2x2), который поддерживается AviSynth. Много важных кодеров сохраняли видео в YV12: MPEG-4 (x264, XviD, DivX и много других), MPEG-2 на видеодисках DVD, MPEG-1 и MJPEG.

Где я могу скачать последнюю стабильную версию AviSynth, которая поддерживает YV12?

"AviSynth v2.56" (и более свежие версии) можно загрузить отсюда.

Где я могу скачать модуль DGIndex/DGDecode, который поддерживает YV12, для импорта MPEG-1/MPEG-2/TS/PVA в AviSynth ?

Последний DGIndex/DGDecode комбо можно загрузить отсюда.

Какие программы-кодировщики поддерживают YV12?

Стандартные сборки Virtualdub (от Avery Lee) имеют поддержку YV12 в режиме быстрой рекомпрессии с v1.5.6. Есть также два других способа кодирования в DivX/XviD:
Есть измененная версия Virtualdub (названная VirtualdubMod), которая поддерживает YV12: Эта версия (от pulco-citron, Suiryc и Belgabor) имеет поддержку OGM и предпросмотра AVS. Она может быть загружена отсюда. Чтобы использовать поддержку YV12 (не делая каких-либо цветовых преобразований), Вы должны загрузить ваш AVI в VirtualdubMod, и выбрать режим "быстрой рекомпрессии" ("fast recompress").
Для простой (и быстрой) поддержки YV12, Вы можете также попробовать утилиту командной строки AVS2AVI - она сжимает видео из сценария (скрипта) AviSynth, используя любой VFW кодек, смотри также здесь.
Кодировщики MPEG-1/MPEG-2 HC и QuEnc также поддерживают (и даже требуют) YV12.

Как использовать v2.5x, если программы кодирования не могут обрабатывать YV12 (типа TMPGEnc или CCE SP)?

При использовании TMPGEnc Вы должны добавить в ваш сценарий (скрипт) строку "ConvertToRGB24" (с надлежащей опцией "чересстрочности" ), а для CCE SP Вы должны добавить в ваш сценарий строку "ConvertToYUY2", так как Windows не имеет внутреннего YV12 компрессора.

Вы можете также установить какой-либо YV12 декомпрессор (кодек), который декомпрессирует для Вас YV12-AVI при загрузке avi в TMPGEnc или CCE SP.

Какие основные преимущества обработки в YV12?

MPEG-2 кодеры типа CCE, Procoder и TMPGEnc не могут непосредственно обрабатывать входящий YV12. CCE и Procoder нуждаются в YUY2, а TMPGEnc - в RGB24. Это означает лишь, что последней строкой AviSynth должен быть вызов ConvertToYUY2 (для CCE/Procoder, или ConvertToRGB24 для TMPGEnc), и что Вы не сможете воспользоваться полным преимуществом цветового пространства YV12. Однако, есть еще два преимущества:

  1. Вся внутренняя обработка AviSynth будет все-таки быстрее (меньше данных к фильтру, лучше структура для фильтрации и очень быстрое преобразование с YV12 в YUY2), и Вы наверняка увидите различие между v2.06 и v2.5.
  2. Если Вы делаете прогрессивный клип есть другое преимущество. Откладывая преобразование YV12-> YUY2 до конца сценария (скрипта) позволяет Вам вначале проделать процедуру IVTC или Deinterlace для создания прогрессивных кадров. Но преобразование YV12 в YUY2 для прогрессивных кадров сохраняет больше деталей сигнала цветности чем преобразование для чересстрочных или основанных на полях кадров.
    Цветовые преобразования:
    CCE: YV12 -> YUY2 -> YV12
    TMPGEnc: YV12 -> RGB24 -> YV12

Как использовать VirtualDub/VirtualDubMod так, чтобы не было ненужных цветовых преобразований?

Просто загрузите ваш avs файл в VirtualDub/VirtualdubMod и установите видео на "Быстрая рекомпрессия" (fast recompress). В этом режиме обработка останется в YV12 (вся необходимая фильтрация должна быть сделана непосредственно в AviSynth). В меню "Компрессия" выберите кодер, который поддерживает YV12, типа Xvid, DivX5, RealVideo (при условии, что Вы загружаете последние версии) или 3ivx D4 (при условии, что Вы загружаете последние версии). Обратите внимание, что DivX3/4 также поддерживает YV12, за исключением того, что пользователи PIV могут испытать сбои при кодировании в формат DivX4 в YV12.
Если Вы хотите предварительно просмотреть видео, Вы также нуждаетесь в YV12 декомпрессоре.

Какие внутренние фильтры поддерживают YV12?

В принципе все внутренние фильтры поддерживают YV12 изначально. Цветовые форматы, поддерживающиеся фильтрами, указаны в документации.

Какие плагины (внешние модули) поддерживают YV12?

Плагины, которые откомпилированы для AviSynth v2.5, указаны в файле Внешние плагины. Новые плагины перечислены в этом дополнении. Большинство из них поддерживают YV12 (см. документацию).

Есть ли недостатки обработки в YV12?

Как узнать, какое цветовое пространство я использую в данном месте в моем сценарии?

Чтобы увидеть, какое цветовое пространство Вы используете в данном месте в вашем сценарии (скрипте), добавьте:

Info() 

... и AviSynth выдаст Вам много информации о цветовом пространстве и много чего другого!

Цвета заменяются, когда я загружаю DivX файл в AviSynth v2.5?

Это случается из-за ошибки в старых версиях DivX5. Загрузите последние сборки или используйте "SwapUV (клип)".

Я установил AviSynth v2.5 и получил следующее сообщение об ошибке: "Не могу найти декомпрессор для 'YV12' формата (неизвестный)"?

Установите кодек, который поддерживает YV12. DivX5 или одну из последних сборок XviD от Koepi или кодек Helix YUV или некоторый другой (ffvfw, ffdshow). Если это все еще не работает, измените ваш системный реестр как объяснено в следующем вопросе.

Я установил AviSynth v2.5 и DivX5 (или одну из последних сборок Xvid от Koepi), но все, чего я добился, это черный экран при открытии моего avs в VirtualDub/VirtualDubMod/MPEG-2 кодировщике?

Так, видно ваше видео не декомпрессируется DivX 5.02 (или Xvid). Попробуйте использовать утилиту VCSwap для переключения на лету видео кодеков.

Опытный пользователь может также сделать это вручную. Зайдите в папку Windows и переименуйте файл c именем MSYUV.DLL, или добавьте следующее к вашему файлу системного реестра:

REGEDIT4 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32] 
"VIDC.YV12"="divx.dll"

Замените "divx.dll" на "xvid.dll" для xvid v0.9 или "xvidvfw.dll" для xvid v1.0.

Есть ли какие-то безпотерьные YV12 кодеки , которые я могу использовать для захвата, например?

Их есть несколько:

Некоторые важные ссылки:

$Engilsh Date: 2007/08/22 20:49:19 $
Русский перевод 11.12.2006 Soroka (lyakh at iname.com)

Обновления 10.06.2007-24.08.2007 Fizick