Страницы:Кликните, чтобы указать произвольную страницуназад123103104105106107108109110111112113171172173далее
pka2001: Обработка видео с помощью AviSynth (Ависинт) (часть 2)
Начинающим: Ссылка на ВВОДНУЮ СТАТЬЮ по AviSynth, другие полезные ресурсы и ПРАВИЛА ЗАДАНИЯ ВОПРОСОВ
Статья про Avisynth на iXBT
Avisynth на русском - сайт Fizick'a с документацией и плагинами

Как задать вопрос по AviSynth, чтобы получить ответ.
1. Задавать вопрос, только если Вы хотя бы несколько минут попытались разобраться сами, и хотя бы заглянули в его русскую документацию, советы по решению проблем ( http://avisynth.org.ru/docs/russian/troubleshooting.htm) или например в данную ветку, или статью по основам. Ответ Вы все равно получите не быстро, и скорее всего по характеру вопроса последует совет посмотреть доки или просто отправят в поиск.
2. На вопрос типа: мне некогда читать всю эту длинную ветку, я страшно занятой, ну-ка бросайте ваши дела и скорей бегите сюда отвечать на вопросы моего величества - будет ответ "А пошел ты ... в поиск". На жалобный вариант "сижу на модеме" - будет ответ: нажмите маленькое слово "печать" вверху рядом с номерами страниц, сохраните всю ветку и почитайте отключившись, хотя бы несколько последних страниц, и поищите слова вопроса в этом тексте.
3. Это в частности относится к вопросам типа: А есть ли такая вот функция...
4. Если у Вас не работает (сообщает об ошибке) какая-то команда, или скрипт, в вопросе приведите скрипт полностью, копированием.
5. Сообщите точную (английскую) фразу сообщения об ошибке. Вы можете скопировать текст из окошка сообщения об ошибке VirtualDub в буфер Windows клавишами Ctrl-C и вставить его в текст на форуме клавишами Ctrl-V (или правой кнопкой мыши и т.п.). Или используйте клавиши Alt-PrintSreen, чтобы скопировать окно сообщения как изображение, сохраните в файл в редакторе рисунков и выложите его в интернет.
6. Предварительно лучше попробовать самому убрать (закомментировать) все работающие команды, и оставить минимальный набор команд, который при проверке вызывает эту ошибку (все равно Вас в ответе попросят это сделать).
7. Обязательно сообщите точную версию AviSynth (все равно Вас переспросят, т.к. разные версии имеют особенности).
8. Если ошибка в некотором внешнем плагине, обязательно также сообщите версию данного плагина.
9. Лучше выложить кадрик или небольшой (несколько кадров) проблемный кусочек видео на какой-то интернет сайт, чтобы гуру могли посмотреть его и сказать совет-приговор. Годятся такие сайты как например http://zalil.ru или http://www.mytempdir.com и подобные.
10. Не ждите разумного ответа на вопрос типа "А какой шумоподавитель (скрипт) - самый лучший?", так как даже если бы и существовал суперфильтр, то у него все равно были бы различные настройки, зависящие от типа видео и ваших личных предпочтений. Лучше, если Вы скажете, что вы попробовали, что понравилось, а что не совсем устраивает.

В принципе, все эти правила необязательны, и Вы можете спрашивать и писать что угодно, если Вас не интересует результат .
Просто представьте себя на месте гуру, который вынужден вытаскивать у каждого новичка эти сведения клещами, и через сколько раз ему это надоест.
А на хорошо поставленные вопросы отвечать и помогать хочется (даже если не знаем ответа ), так как вопрос понятен и видна заинтересованность.

Желаем Вам перейти от вопросов к сообщениям об успехах и новинках, ну и к ответам на вопросы новых новичков!
-Voff-
Member
9/28 ответов
13 лет на iXBT, с сентября 2011
Инфо Ответить
V
-Voff- Member
5 лет назад / 11 сентября 2019 01:24
Kisa_AG
Работает! С ума сойти, не знаю что еще сказать.

Если это стабильно так
Не то что бы очень стабильно, довольно много кадров, где оба поля испорчены. По прошествии времени или с новым сюжетом в записи "хорошие" и "плохие" поля меняются местами(поменял selecteven и selectodd). Но теперь, благодаря вам, у меня есть от чего отталкиваться. Остальное как-нибудь доковыряю. Подергаю SelectEvery.

Минус есть такой - нет поправки на сдвиг полей друг по отношению к другу по вертикали.
Это вы про разницу в одну строку? Да разве ж то минус) Врядли это будет заметно

Спасибо! Всех благ!

Howler
Солидно. Вобщем-то поначалу я себе все так и представлял. Я ж в ависинт давно не залезал, и сдуру авс+ накатил. И совершенно внезапно выясняется, что включить в нем многопоточность тоже-таки не тривиальная задача Ну да ладно. Буду ковырять в этом направлении. Похоже сперва пойдет метод Киса, а на разрывы в кадров 5-6 попробую ваш.
Спасибо! Удачи!
Kisa_AG
Member
5059/7458 ответов, #18 в рейтинге
22 года на iXBT, с апреля 2002
2 фото на iXBT.photo
Чаще пишет в "Видеозахват" (57%)
Инфо Ответить
K
Kisa_AG Member
5 лет назад / 11 сентября 2019 11:55
-Voff-
Это вы про разницу в одну строку? Да разве ж то минус) Врядли это будет заметно

Да, на интерполированых полукадрах на хроме есть сдвиг, так как хрома то интерполировалась по другим полукадрам. Так что поправку эту можно было бы внести, ну чисто для очистки совести, что все сделано по теории . Просто я как то сходу не соображу, как ее внести...
Но даже если ее не вносить, то заметно скорее всего это не будет, может если только на стопкадрах приглядываться.
Tadoritz
Junior Member
7/8 ответов
6 лет на iXBT, с июня 2018
Чаще пишет в "Видеозахват" (68%)
Инфо Ответить
T
Tadoritz Junior Member
5 лет назад / 12 сентября 2019 10:16
Kisa_AG
Просто я как то сходу не соображу, как ее внести...
Для "субпиксельного сдвига" вроде только ChromaShiftSP().
Что-нибудь вроде:
...
even = even.ChromaShiftSP(y = 0.5) # положительное значение - сдвиг вверх
...
Или можно закатывать солнце вручную
Howler
Member
830/6096 ответов, #7 в рейтинге
22 года на iXBT, с января 2003
Чаще пишет в "Игры" (58%)
Инфо Ответить
H
Howler Member
5 лет назад / 12 сентября 2019 11:13
Tadoritz
Для "субпиксельного сдвига" вроде только ChromaShiftSP().
Есть ChromaShiftSP2
Скрытый текст
А вот ещё совсем забубённый вариант c dither
Скрытый текст

Исправлено: Howler, 12.09.2019 11:57

anta777
Member
1/2405 ответов
15 лет на iXBT, с сентября 2009
Чаще пишет в "Память" (38%)
Украина
Инфо Ответить
a
anta777 Member
5 лет назад / 18 сентября 2019 16:33
Очень прошу помощи.

Использую virtualdub2.

Гружу в него созданный файл png с уровнями 0-256.
Кодирую с помощью virtualdub2 в видео h.264, выбирая пиксель- 4:2:0 YCbCr 16-235.
И второй вариант пиксель 4:2:0 YCbCr 0-255.

Разницы у полученных файлов нет.
Почему?
И второй вопрос:
почему созданное видео правильно отображается в mpc-hc с выбранными уровнями в madvr 0-255, а не 16-235, как я хотел сделать?
Lirk
Junior Member
6/6 ответов
5 лет на iXBT, с августа 2019
Инфо Ответить
L
Lirk Junior Member
5 лет назад / 19 сентября 2019 12:11
mazizov

Я так не считаю. Картинка с блоками уже нарисована, и блоки останутся, даже если её перекодировать в Lossless с битрейтом в десятки раз выше. Картинку нужно перерисовывать, и здесь нужен векторный анализ, если конечно стремиться сохранить детализацию и не допустить искажений.
При векторном анализе артефакты блочности не определятся на статичных объектах, а так бывает часто. Вот поэтому лучше получать параметр quant.

Добавление от 19.09.2019 12:11:

Tadoritz

...потому что вылезает несовместимость с самой идеей индексации (.ffindex) и всем прочим софтом (x264 CLI, AvsPmod, VirtualDub).
В моем представлении индексация там бы и не нужна была: FFmpeg декодирует поток, отправляет несжатый поток через совместимый встроенный плагин для ависинта (условный ffmpegIOplugin), срабатывает скрипт, а на выходе получается видео от самого скрипта.
mazizov
Member
38/38 ответов, #31 в рейтинге
5 лет на iXBT, с июня 2019
Чаще пишет в "Видеозахват" (99%)
Инфо Ответить
m
mazizov Member
5 лет назад / 20 сентября 2019 15:12
anta777
Настройте вывод цвета в декодере плеера :

170x151, 7.7Kb
anta777
Member
2/2412 ответов
15 лет на iXBT, с сентября 2009
Чаще пишет в "Память" (38%)
Украина
Инфо Ответить
a
anta777 Member
5 лет назад / 20 сентября 2019 15:54
Уважаемый форумчанин, большое спасибо за помощь.
Но моя цель закодировать мой паттерн (png) в YCbCR 4:4:4 с правильными уровнями, а потом проигрывать его в mpc-hc с выводом madvr (уровни менять буду только в нем), чтобы можно было провести тест-сравнение разных методов восстановления хромы в madr (буду проигрывать мой паттерн , закодированный в YCbCr 4:2:0), поэтому преобразование в RGB не могу доверить lavdecoder-у.
Кодирую в 4:2:0 с помощью rgbtouyvu.exe, а потом с помощью megui и avs-скрипта (rawsource 2.6), уровни получаются правильными, но таким способом закодировать в 4:4:4 не могу, так как rgbtoyuvy преобразует паттерн в 4:2:2 и кроме того MeGUI не поддерживает профили кодирования 4:4:4.
mazizov
Member
39/39 ответов, #31 в рейтинге
5 лет на iXBT, с июня 2019
Чаще пишет в "Видеозахват" (99%)
Инфо Ответить
m
mazizov Member
5 лет назад / 20 сентября 2019 21:00
anta777

MeGUI не поддерживает профили кодирования 4:4:4
Так поставьте нормальную программу XviD4PSP 5, это во-первых.
Во-вторых, загрузить в Ависинт цвет 4:4:4 могут только декодеры LWLibavVideoSource и FFmpegSource2, остальные обрезают до 4:2:2 .
170x91, 5.1Kb
Ну и на выход кодера тоже нужно выставить этот цвет --output-csp i444 .

Исправлено: mazizov, 20.09.2019 22:12

anta777
Member
3/2415 ответов
15 лет на iXBT, с сентября 2009
Чаще пишет в "Память" (38%)
Украина
Инфо Ответить
a
anta777 Member
5 лет назад / 20 сентября 2019 23:06
Огромнейшее Вам спасибо!

Добавление от 20.09.2019 23:06:

А как мне открыть мой паттерн png ?
XVID4PSP 5 не открывает.
mazizov
Member
40/40 ответов, #31 в рейтинге
5 лет на iXBT, с июня 2019
Чаще пишет в "Видеозахват" (99%)
Инфо Ответить
m
mazizov Member
5 лет назад / 20 сентября 2019 23:31
anta777

170x91, 4.7Kb
anta777
Member
4/2416 ответов
15 лет на iXBT, с сентября 2009
Чаще пишет в "Память" (38%)
Украина
Инфо Ответить
a
anta777 Member
5 лет назад / 21 сентября 2019 10:41
Дай Бог Вам здоровья и всех благ!
Огромное спасибо.
Я открыл png, изменив только фильтр directshow на picture, но это мне ничего не дало, а залезть в декодирование не додумался.
anta777
Member
5/2447 ответов
15 лет на iXBT, с сентября 2009
Чаще пишет в "Память" (38%)
Украина
Инфо Ответить
a
anta777 Member
5 лет назад / 22 сентября 2019 20:29
PNG не открыла, но tga открыла!

Добавление от 22.09.2019 14:53:

Закодировал, но получил то же, что и при помощи virtualdub2.

У меня вопрос - как добиться правильных уровней ?
При проигрывании ролика black clipping - паттерна от avs.709, при установке в madvr уровней 16-235, отображаются все уровни - от 0 до 255, а при установке в madvr уровней 0-255 отображаются уровни только 16-235.
При моем кодировании из паттерна, используя все варианты уровней input-output.
Получил
при PC-PC - при проигрывании с изменением уровней с помощью madvr правильных уровней не получил
при TV-TV - верные уровни при madvr 0-255
при PC-TV - нет верных уровней
при TV-PC - верные уровни при madvr 0-255

Почему я не могу закодировать так, чтобы верные уровни были при выборе в madvr установки 16-235 ?

Добавление от 22.09.2019 20:29:

Все, решил проблему.
Уровни нужно было менять в скрипте, а не в параметрах кодека x264.
При матрице PC.709 все правильно получается, при Rec.709 - неправильно.
Tadoritz
Member
8/9 ответов
6 лет на iXBT, с июня 2018
Чаще пишет в "Видеозахват" (68%)
Инфо Ответить
T
Tadoritz Member
5 лет назад / 22 сентября 2019 20:44
anta777
с выводом madvr (уровни менять буду только в нем) ... Почему я не могу закодировать так, чтобы верные уровни были при выборе в madvr установки 16-235 ?
почему созданное видео правильно отображается в mpc-hc с выбранными уровнями в madvr 0-255, а не 16-235, как я хотел сделать?

В madVR выбор уровней я вижу в одном месте: devices => ___ => properties => "the display expects the following RGB output levels:".
Это не имеет отношения к уровням в видео. "RGB output levels" - это вроде про то, что телевизоры-проекторы, даже если им скармливать RGB, могут ждать RGB Limited.
MPC-HC/madVR сами должны смотреть на флаг в видеопотоке (или контейнере, но это лишние детали):
- MediaInfo: "Цветовой диапазон: Full"
- стандарт H.264: video_full_range_flag в VUI.
И должны правильно проигрывать видео, если оно вдруг помечено как Full Range (он же 0-255, он же PC Range).

При проигрывании ролика black clipping ... а при установке в madvr уровней 0-255 отображаются уровни только 16-235.
Если это то видео - avsforum / youtube - то там написано, что так и должно быть ("16 - Reference Black"). MediaInfo подтверждает: Цветовой диапазон : Limited.

Если ошибка где-то ещё есть, то проследи за всей цепочкой:
- импортируем картинку в RGB (не вижу места для ошибки)
- преобразуем в YUV (тут может урезаться диапазон до 16-235)
- отправляем кодироваться (энкодер может проставить нужный флаг диапазона, а ещё может сам изменить диапазон: TV->PC или наоборот)
- открываем плеером (в его настройках можно ошибиться)
- выводим на монитор (а не телевизор, где есть место для очередной возни с TV/PC)

Если ситуация совсем плохая, то в AvsPmod можно посмотреть значение каждого пикселя в YUV.
Options => Program Settings => Video => Customize video status bar => воткнуть где-то нибудь %YUV.

15 минут назад: Все, решил проблему.
¯\_(ツ)_/¯
anta777
Member
6/2450 ответов
15 лет на iXBT, с сентября 2009
Чаще пишет в "Память" (38%)
Украина
Инфо Ответить
a
anta777 Member
5 лет назад / 22 сентября 2019 20:59
Огромнейшее Вам спасибо за помощь!
Я просто сравнил с референсным файлом из набора avs709 (w6rz.net). Хотел того же добиться со своим файлом.
А менял уровни в madvr в свойствах дисплея с 16-235 на 0-255.

Добавление от 22.09.2019 20:59:

Мне просто нужно закодировать свой паттерн в 4:4:4, чтобы оценить разные варианты chromaupscale в madvr.
Хочу сравнить свой референсный паттерн, закодированный в 4:4:4 и он же, закодированный в 4:2:0 и с восстановленной хромой с помощью разных алгоритмов madvr.
DmitryKz
Junior Member
1/1 ответов
5 лет на iXBT, с октября 2019
Россия, Сергиев Посад
Инфо Ответить
D
DmitryKz Junior Member
5 лет назад / 01 октября 2019 12:53
Добрый день.
Подскажите, пожалуйста, можно ли из клипа, взятого по функции Trim, вычленить аудио-составляющую? Т.е. сделать нечто обратное тому, что делает AudioDub.
AlexDragon
Member
321/358 ответов
17 лет на iXBT, с февраля 2008
Чаще пишет в "Видеозахват" (90%)
Инфо Ответить
A
AlexDragon Member
5 лет назад / 01 октября 2019 19:44
DmitryKz, легко. Самый тупой вариант — KillVideo() возвратит вам голую аудиодорожку исходного клипа.

А вообще, смотрите в русском варианте хелпа, который идёт в дистрибутиве Ависинта, в разделе «Базовые фильтры» главу «Звуковые», конкретно

GetChannel
MergeChannels
Mixaudio

в зависимости от того что именно вы хотите.

Актуальную англоязычную онлайн-версию документации см. здесь:
http://avisynth.nl/index.php/Internal_filters#Audio_processing_filters
Kisa_AG
Member
5075/7502 ответов, #18 в рейтинге
22 года на iXBT, с апреля 2002
2 фото на iXBT.photo
Чаще пишет в "Видеозахват" (57%)
Инфо Ответить
K
Kisa_AG Member
5 лет назад / 01 октября 2019 20:03
DmitryKz
можно ли из клипа, взятого по функции Trim, вычленить аудио-составляющую?

А зачем? Если нужно закодировать звук, так просто тримь все вместе, отправляй avs в звуковой энкодер (qaac, ffmpeg...) и кодируй там только звук.
DmitryKz
Junior Member
2/2 ответов
5 лет на iXBT, с октября 2019
Россия, Сергиев Посад
Инфо Ответить
D
DmitryKz Junior Member
5 лет назад / 01 октября 2019 20:17
AlexDragon, спасибо!
Kisa_AG
А зачем?
Мне нужно в клипе фрагмент видео заменить черным — для этого я использую BlankClip.
Как сделать весь клип черным и без звука, или как сделать из аудио видео с черным экраном (например, для отправки на Youtube), я знаю - а вот как оставить в клипе фрагмент аудио без видео (т. е. фрагмент видео в целом клипе спрятать), было непонятно.
Как я рассуждал: беру часть клипа (по Trim), где нужно спрятать видео. BlankClip даст черное видео заданной продолжительности, оставалось только аудио каким-то образом добыть из вырезанного из всего клипа фрагмента.
Kisa_AG
Member
5076/7503 ответов, #18 в рейтинге
22 года на iXBT, с апреля 2002
2 фото на iXBT.photo
Чаще пишет в "Видеозахват" (57%)
Инфо Ответить
K
Kisa_AG Member
5 лет назад / 01 октября 2019 20:46
DmitryKz

А, ну можно проще сделать:
Original=last
NewVideo=Original.trim(0,999)++BlankClip(Original, length=1000)++Original.trim(2000,0)
AudioDub(NewVideo, Original)

Тут смысл такой - ты делаешь новое видео, вставляя пустой клип (не забывая, чтобы его длина осталась прежней) куда тебе надо. И потом прилепляешь к нему оригинальную аудиодорожку.
В данном случае первые 1000 кадров идет видео, затем 1000 кадров идет черный зкран, затем опять видео до конца клипа.

Еще другой вариант - можно закрыть часть видео оверлеем.
AlexDragon
Member
322/359 ответов
17 лет на iXBT, с февраля 2008
Чаще пишет в "Видеозахват" (90%)
Инфо Ответить
A
AlexDragon Member
5 лет назад / 01 октября 2019 21:00
Если извращаться, то можно вообще ApplyRange применить для Levels или Tweak - яркость до нуля опустить для диапазона кадров. Решение в одну строку.

Типа так:
C = ApplyRange(C, 1000, 1999, "Levels", 0,1,0,0,0,false) #обрезаем уровни до уровня чёрного

А если не стоит задача сделать цензурируемый кусок именно чёрным, то есть ещё одно решение в одно действие — можно просто стоп-кадр сделать,

C = FreezeFrame (C, 1000, 1999, 999) # замораживаем кадр, 1000 и 1999 — диапазон, который нужно покрыть, 999 — кадр-источник из этого же клипа, которым мы покрываем, в данном случае последний перед началом цензурируемого фрагмента.

Исправлено: AlexDragon, 01.10.2019 21:40

DmitryKz
Junior Member
3/3 ответов
5 лет на iXBT, с октября 2019
Россия, Сергиев Посад
Инфо Ответить
D
DmitryKz Junior Member
5 лет назад / 01 октября 2019 22:16
Ребята, спасибо огромное - пытался нагуглить ответ на свой вопрос по фразе на английском, но, вероятно, задачу формулировал неправильно.
Решил здесь в итоге спросить - даже не представлял, что столько вариантов решений есть.
AlexDragon
Member
323/360 ответов
17 лет на iXBT, с февраля 2008
Чаще пишет в "Видеозахват" (90%)
Инфо Ответить
A
AlexDragon Member
5 лет назад / 01 октября 2019 22:49
Вам повезло — задача простая. А бывает голову сломаешь и ответить никто не может.
Future
Member
1469/1519 ответов
19 лет на iXBT, с декабря 2005
Чаще пишет в "Видеозахват" (95%)
Инфо Ответить
F
Future Member
5 лет назад / 10 октября 2019 22:38
Здравствуйте!
Возникла проблема при обработке оцифрованного SD видео

Avisynth + 64 последний с необходимыми дополнениями, так же последними

Использую QTGMC. Всё хорошо работает, кроме одной опции - как только задействую NoiseProcess отличный от нуля (1,2), изображение становиться как на скриншотах (инфо специально вывел)
Файл avi, кодек Lagarith или Canopus Lossless
Если файл открываю с помощьюFFmpegSource2 - то в инфо ColorSpace = YV16, если AviSource , YUY2

В обоих случая вместо нормального изображения вот такое

Может кто подскажет куда копать?
К сообщению приложены файлы:
mazizov
Member
41/41 ответов, #31 в рейтинге
5 лет на iXBT, с июня 2019
Чаще пишет в "Видеозахват" (99%)
Инфо Ответить
m
mazizov Member
5 лет назад / 11 октября 2019 10:52
Future
Залейте сэмпл исходника секунд на 20 .
Future
Member
1470/1520 ответов
19 лет на iXBT, с декабря 2005
Чаще пишет в "Видеозахват" (95%)
Инфо Ответить
F
Future Member
5 лет назад / 11 октября 2019 11:21
mazizov
сэмпл исходника

https://yadi.sk/i/UqMcvY3pKzRQ6Q
Ваш ответ:

Нет значка Нет значка Вот тут! Лампочка Восклицание Вопрос Класс! Улыбка Злость Огорчение Поговорим? Краснею Подмигивание Ругаю ОдобряюBIUdelSxsupxsuboffsp spoilerqurlimgvideo• list1. list1 codeprecenter-hr-rusQWE→ЙЦУ
файлыочистить
Ваше имя: Авторизуйтесь Предпросмотр В полную форму
вставить выделенную цитату в окно ответа
Если Вы считаете это сообщение ценным для дискуссии (не обязательно с ним соглашаться), Вы можете поблагодарить его автора, а также перечислить ему на счет некоторую сумму со своего баланса (при отзыве благодарности перечисленная сумма не будет вам возвращена).
Также вы можете оценить сообщение как неудачное.
В течение суток можно 20 раз оценить сообщения разных участников (купите Premium-аккаунт, либо оплачивайте оценки сверх лимита).
Если Вы считаете это сообщение ценным для дискуссии (не обязательно с ним соглашаться), Вы можете поблагодарить его автора, а также перечислить ему на счет некоторую сумму со своего баланса (при отзыве благодарности перечисленная сумма не будет вам возвращена).
Также вы можете оценить сообщение как неудачное.
В течение суток можно 20 раз оценить сообщения разных участников (купите Premium-аккаунт, либо оплачивайте оценки сверх лимита).
Страницы:Кликните, чтобы указать произвольную страницуназад123103104105106107108109110111112113171172173далее