|
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" за предложения. Я попробую это..
|
|
|