Рекомендации по обработке черно-белого видео в AviSynth для DVD?

Страницы:  1
Ответить
 

yedkriz

Стаж: 3 года 7 месяцев

Сообщений: 34

yedkriz · 18-Мар-25 22:43 (28 дней назад, ред. 20-Мар-25 19:54)

Привет ,
Моё входное видео — черно-белое. Я использую декодер "FFMpegSource2" для AviSynth. У меня нет "ConvertToYUY2", поэтому я использую "AutoYUY2()".
Можно ли использовать Greyscale(), или лучше полностью отключить преобразование цвета? Есть ли какие-то рекомендованные способы обработки черно-белого видео?
Для справки я прикрепляю информацию о видео и .AVS-скрипт. Спасибо за помощь!
Video Info:
Код:

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main
Format level : 5
Format tier : Main
Codec ID : V_MPEGH/ISO/HEVC
Duration : 2 h 19 min
Bit rate : 9 630 kb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 24.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Bits/(Pixel*Frame) : 0.048
Stream size : 9.37 GiB (85%)
Title : www.1TamilMV.tax
Language : English
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Script:
Код:

LoadPlugin("C:\Program Files (x86)\FFMpegSource2\ffms2.dll") # подключение декодера
FFVideoSource("byg - WEB-DL - 4K SDR - HEVC.mkv") # открытие видео
LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\AutoYUY2.dll") # подключение плагина
AutoYUY2() # конвертация цветового пространства
LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\ColorMatrix.dll") # подключение плагина
ColorMatrix(mode="Rec.709->Rec.601", inputFR=false, clamp=0) # 16-235
#ColorMatrix(mode="Rec.709->Rec.601", inputFR=true, clamp=0) # 0-255
AssumeFPS(25) # изменение частоты кадров на стандарт PAL (25 fps)
BicubicResize(720, 576, 0, 0.5) # изменение размера с использованием Catmull-Rom сплайна
#AddBorders(0,0,0,0)  # добавление черных полос (если необходимо)
[Профиль]  [ЛС] 

yedkriz

Стаж: 3 года 7 месяцев

Сообщений: 34

yedkriz · 20-Мар-25 00:15 (спустя 1 день 1 час, ред. 20-Мар-25 19:54)

Я получил обновление от ChatGPT.
Я поработаю над этим и сообщу о своих наблюдениях.
Код:

LoadPlugin("C:\Program Files (x86)\FFMpegSource2\ffms2.dll")  # Подключаем декодер
FFVideoSource("byg - WEB-DL - 4K SDR - HEVC.mkv") # Открываем видео
# Конвертация в YUY2 (требуется для DVD)
LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\AutoYUY2.dll")
AutoYUY2()
# Корректное преобразование цветовой матрицы для SD-видео
LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\ColorMatrix.dll")
ColorMatrix(mode="Rec.709->Rec.601", inputFR=false, clamp=0)  # 16-235
#ColorMatrix(mode="Rec.709->Rec.601", inputFR=true, clamp=0) # 0-255
# Применение градаций серого (опционально, для черно-белого видео)
Greyscale()
# Изменение частоты кадров на стандарт PAL (25 fps), если необходимо
AssumeFPS(25)
# Изменение размера до стандартного разрешения PAL DVD
BicubicResize(720, 576, 0, 0.5)
# Добавление полей (если требуется, для корректного соотношения сторон)
# AddBorders(0,0,0,0)
Примечания:
    0. ConvertToYV12():Видео уже находится в цветовом пространстве YV12, поэтому нам не нужно использовать ConvertToYV12() в нашем скрипте AviSynth. Наш исходный файл уже имеет правильный формат для кодирования DVD.
    1. Обработка черно-белого видео: Greyscale() удаляет ненужные цветовые данные.
    2. Конвертация в YUY2: DVD требует цветового пространства YUY2, и вы уже используете AutoYUY2().
    3. Преобразование Rec.709 → Rec.601: Гарантирует корректное преобразование цветов для SD-видео на DVD.
Уважаемые модераторы и эксперты, если у вас есть какие-либо предложения, пожалуйста, поделитесь ими здесь.
[Профиль]  [ЛС] 

deniums

Стаж: 1 месяц 7 дней

Сообщений: 9


deniums · 20-Мар-25 01:18 (спустя 1 час 2 мин.)

Эксперты куда-то разбежались. Попробую высказать свои мысли.
Если у видео есть небольшой оттенок, то Greyscale() испортит задумку. В то время, как умные кодеры даже без него не будут тратить много битрейта на цвет, которого нет или почти нет.
AssumeFPS(25) при том, что видео 24 fps. Придётся перетягивать ещё и звук.
ColorMatrix после AutoYUY2? Может быть наоборот? YUY2 хочет MPEG2 кодер, а для фильтров YV12 привычнее и роднее.
Если есть автопереведённые субтитры без русской озвучки, то скорее всего такое раздавать нельзя. Разве что в разделе фильмов без перевода.
[Профиль]  [ЛС] 

yedkriz

Стаж: 3 года 7 месяцев

Сообщений: 34

yedkriz · 20-Мар-25 19:58 (спустя 18 часов, ред. 20-Мар-25 19:58)

Спасибо, deniums, за ответ <3
Конверсия с использованием скрипта от ChatGPT оказалась довольно хорошей. В ходе тестирования я не обнаружил никаких проблем, но загружу скриншот для сравнения.
deniums писал(а):
87543568Если у видео есть небольшой оттенок, то Greyscale() испортит задумку.
Я не заметил, чтобы у видео был какой-либо оттенок. Пожалуйста, исправьте меня, если я ошибаюсь.
Источник: 4K HEVC 8bit SDR | Выход: DVD - PAL


deniums писал(а):
87543568AssumeFPS(25) при том, что видео 24 fps. Придётся перетягивать ещё и звук.
Да, я растянул аудио до 25 FPS (PAL).
[Профиль]  [ЛС] 

Areyou

Стаж: 16 лет 4 месяца

Сообщений: 1723


Areyou · 05-Апр-25 09:23 (спустя 15 дней, ред. 05-Апр-25 09:23)

yedkriz писал(а):
87539190У меня нет "ConvertToYUY2"
Есть, поскольку это встроенная функция Ависинта, а не плагин. Плагин AutoYUY2() нужен только для гибридного материала с чередованием прогрессивных и чересстрочных фрагментов. ConvertToYUY2 (как и плагин) применять лучше ближе к концу скрипта (для скорости обработки и обхода фильтров, которые требуют YV12), но с учетом строчной структуры видео: для чересстрочного видео обязательно указывать параметр interlaced=true.
P.S. Если в вашем кодере MPEG2 есть опция черно-белого видео на выходе (в CCE точно есть), лучше использовать именно её, а не функцию в скрипте. Это может ускорить кодирование (кодером не будет анализироваться цветность входного видео).
Польза ColorMatrix() для черно-белого фильма тоже сомнительна: переходы между ТВ-стандартами влияют на диапазон координат воспроизводимых цветов (для HD он шире), но вряд ли влияют на амплитуды яркостной составляющей.
[Профиль]  [ЛС] 

yedkriz

Стаж: 3 года 7 месяцев

Сообщений: 34

yedkriz · 06-Апр-25 23:58 (спустя 1 день 14 часов)

Спасибо "Areyou" за предложения. Я попробую это..
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error