Это несколько различных способов представление цвета. Например: цветовое пространство YUV и RGB. В YUV цветовом пространстве есть один компонент, который представляет яркость (сигнал яркости) и два других компонента, которые представляют цвет (сигнал цветности). В то время как яркость передается со всеми деталями, некоторые детали в компонентах сигнала цветности могут быть удалены путем понижения разрешения отсчетов (фильтрация или усреднение), что может быть сделано несколькими способами (т.о. есть много форматов для сохранения изображения в цветовом пространстве YUV). YV12 - один из таких форматов (тут сигнал цветности общий для каждого блока пиксел 2x2), который поддерживается AviSynth. Много важных кодеров сохраняли видео в YV12: MPEG-4 (x264, XviD, DivX и много других), MPEG-2 на видеодисках DVD, MPEG-1 и MJPEG.
"AviSynth v2.57" (и более свежие версии) можно загрузить отсюда.
Последний DGIndex/DGDecode комбо можно загрузить отсюда.
Стандартные сборки 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.
При использовании TMPGEnc Вы должны добавить в ваш сценарий (скрипт) строку "ConvertToRGB24" (с надлежащей опцией "чересстрочности" ), а для CCE SP Вы должны добавить в ваш сценарий строку "ConvertToYUY2", так как Windows не имеет внутреннего YV12 декомпрессора.
Вы можете также установить какой-либо YV12 декомпрессор (кодек), который декомпрессирует для Вас YV12-AVI при загрузке avi в TMPGEnc или CCE SP.
MPEG-2 кодеры типа CCE, Procoder и TMPGEnc не могут непосредственно обрабатывать входящий YV12. CCE и Procoder нуждаются в YUY2, а TMPGEnc - в RGB24. Это означает лишь, что последней строкой AviSynth должен быть вызов ConvertToYUY2 (для CCE/Procoder, или ConvertToRGB24 для TMPGEnc), и что Вы не сможете воспользоваться полным преимуществом цветового пространства YV12. Однако, есть еще два преимущества:
Просто загрузите ваш avs файл в VirtualDub/VirtualdubMod и установите видео на "Быстрая рекомпрессия" (fast recompress). В этом режиме обработка останется в YV12 (вся необходимая фильтрация должна быть сделана непосредственно в AviSynth). В меню "Компрессия" выберите кодер, который поддерживает YV12, типа Xvid, DivX5, RealVideo (при условии, что Вы загружаете последние версии) или 3ivx D4 (при условии, что Вы загружаете последние версии). Обратите внимание, что DivX3/4 также поддерживает YV12, за исключением того, что пользователи PIV могут испытать сбои при кодировании в формат DivX4 в YV12.
Если Вы хотите предварительно просмотреть видео, Вы также нуждаетесь в YV12 декомпрессоре.
В принципе все внутренние фильтры поддерживают YV12 изначально. Цветовые форматы, поддерживающиеся фильтрами, указаны в документации.
Плагины, которые откомпилированы для AviSynth v2.5, указаны в файле Внешние плагины. Новые плагины перечислены в этом дополнении. Большинство из них поддерживают YV12 (см. документацию).
Чтобы увидеть, какое цветовое пространство Вы используете в данном месте в вашем сценарии (скрипте), добавьте:
Info()
... и AviSynth выдаст Вам много информации о цветовом пространстве и много чего другого!
Это случается из-за ошибки в старых версиях DivX5. Загрузите последние сборки или используйте "SwapUV (клип)".
Установите кодек, который поддерживает YV12. DivX5 или одну из последних сборок XviD или кодек Helix YUV или некоторый другой (ffvfw, ffdshow). Если это все еще не работает, измените ваш системный реестр как объяснено в следующем вопросе.
Ваш декодер вероятно неисправен, попробуйте ConvertToRGB() в конце вашего скрипта просто чтобы удостовериться и проверить, исчезла ли линия. Некоторые приложения имеют проблемы с отображением YV12 клипов, если ширина или высота не кратны 16.
Есть несколько решений этой проблемы:
Так, видно ваше видео не декомпрессируется 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 не рекомендуется из-за проблем с чересстрочностью и цветностью; YUY2 будет вообще говроря давать меньше проблем. Беспотерьный (lossless) YV12 кодек более полезен при сохранении промежуточных файлов перед много-проходным кодированием, чтобы избежать выполнения скрипта с интернсивной загрузкой процессора несколько раз. Есть несколько беспотерьных YV12 кодеков:
| Содержание FAQ | Общая информация | Загрузка клипов | Открытие скриптов | Общие сообщения об ошибках | Обработка различного контента | Работа с YV12 | Обработка с плагинами от Virtualdub |
$Engilsh Date: 2008/07/02 20:56:38 $
Русский перевод 11.12.2006 Soroka (lyakh at iname.com)
Обновления 10.06.2007-02.07.2008 Fizick