John_Wayne
больше 1,99 гига* wink

* на самом деле предел 32bit - это 4 ГБ, но так как в диспетчере задач и в SVP показана только часть занятой памяти, то теортетический предел 4 ГБ грубо делим пополам, считая, что вторая (неизмеренная) занятая часть примерно равна первой (измеренной). Подробнее см. по ссылкам в FAQ со страницы Rimsky

воспроизводится волнообразно, т.е. каждый 6-ой кадр повторяется
Э-э-э... Не пойдет. Сперва проверьте, что каждый 6-й кадр повторяется, затем уже такие выводы делайте. Думаете мало причин, вызывающих волноообразность? Только 6-ой кадр дубль? У Вас же частоты некратные (25 fps на экране 60 Гц). Всяко-разно будут волны.

Вы по-кадрово полистайте. Есть дубль или нет?

Загрузка проца 30-40 %, и большая её часть, почему-то, на одном ядре
Ну так скрипт-то однопоточный. Откуда возьмется распределение по ядрам, если мы его не запрограммировали? wink
Это вообще самая маленькая проблема, т.к. начнете кодировать, вот там надо будет многопоточный кодировщик искать, он-то и займет оставшиеся ядра работой cool

5,402

(3 replies, posted in Using SVP)

Hello, MaxMan23

No. We can not add this option.
The profiles names are frame dimensions and frame rate. Automatic profile choosing uses these names.

John_Wayne
есть ли варианты использовать какой-нибудь видеоконвертер с CUDA, дабы ускорить процесс ?
Я думаю, полно вариантов. Вот например мои сравнения скоростей кодирования (1) и декодирования (1, 2, 3) софтовыми кодерами.
С CUDA проблема в том, что потолок декодирования, например, у нее очень близко от реал-таймовой скорости, поэтому при проигрывании такие декодеры полезны, а при перекодировании они являются главным тормозом, так как процессор еще раза в два-три бы скорость поднял, а CUDA-декодер кадры так быстро декодировать не может (разговор про CoreAVC CUDA). Ограничения то ли по скорости пропускания памяти, то ли еще где. С кодером может выйти такая же фигня. Поэтому...

Декодирование: Для декодирования H.264 рекомендую использовать декодер CoreAVC с галкой ускорения None, либо ffdShow.
Кодирование: Если есть цель кодировать побыстрей и неважен получающийся размер файла, то рекомендую сжимать в ffdShow H.263+ или в ffdShow WMV V7.

откуда в папке C:\Plugins\ возьмётся tivtc.dll ?
О! Точно. Инструкция была неполной. Добавил раздел подготовки. Упростил скрипт.

При запуске скрипта проигрывателем воспроизведение начинается, но со скоростью слайд-шоу, где-то 2-3 кадра в секунду.
Что-то не то. Должно работать в реальном времени.

ghost
Работа над устранением этих артефактов проведена немалая. И артефакты вспышек и артефакты жалюзи в готовящейся версии SVP 3.1 стали практически незаметными. Эта версия выйдет в ближайшем будущем. Следите за новостями.

Сохранение видео с обратным телекино-преобразованием

Часть 1. Подготовка
1. Скачать плагин TIVTC, распаковать. Поместить библиотеку tivtc.dll в папку плагинов Avisynth: Program Files\AviSynth 2.5\plugins\
2. Скачать и установить Haali Media Splitter (идет в составе SVP 3 full, а также доступен отдельно). Поместить библиотеку Program Files\Haali\MatroskaSplitter\avss.dll в папку плагинов Avisynth: Program Files\AviSynth 2.5\plugins\

Часть 2. Сохранение
1. Определить тип телекино-преобразования (pulldown 3:2, pulldown 2:3:2:3:2 и др.).
2. Открыть блокнот, набрать текст:

# открытие файла
DSS2("[путь до видеофайла]")

# команды обратного телекино-преобразования
TFM()
TDecimate(cycle=5)

Вставить путь до видеофайла и нужную цифру в TDecimate в зависимости от типа телекино-преобразования.
Сохранить, желательно в той же папке и с тем же именем, что и исходный видео-файл, но указать расширение AVS. Скрипт готов.
Можно проверить работу скрипта, открыв его в плеере, как обычный видеофайл. Тут же покрутить покадрово. Убедиться, что нет ошибок.

Далее использовать любую программу кодирования видео. Например, Haali Muxer (Пуск - Программы - Haali Media Splitter - GDSMux):

http://www.svp-team.com/forum/misc.php?action=pun_attachment&item=732

3. Открыть этот скрипт в Haali Muxer'е: правой кнопкой по центру окна -> Add Source...
4. Отключить звуковую дорожку: убрать галку со строки со звуковой дорожкой.
5. Указать формат сжатия видео: Контекстное меню на видеодорожке: Encode -> x264vfw -> выбрать "Single pass - ratefactor-based (CRF)", указать Ratefactor:21 -> OK;
6. Открыть исходный файл для добавления звука и субтитров: правой кнопкой по центру окна -> Add Source...
7. Отключить у этого файла видеодорожку, оставить включенными только необходимые аудиодорожки и субтитры.
8. Указать имя создаваемого файла: Нажать "..." -> указать путь, набрать имя, указать расширение mp4 (например, "video.mp4") -> Сохранить;
9. Запустить процесс: Нажать кнопку Start.

John_Wayne
Выполнил обратное телекино с сохранением для одного файла "Отзвуков Творения".

Оставлял комп включенным на ночь. Продолжительность куска видео 40 мин. Время обработки 2 часа.
Исходный файл: 00015.m2ts (3.7 ГБ)
Полученный файл: 00015_24p.mkv (3.8 ГБ)

Если есть необходимость, то могу залить куда-нибудь. Подскажите куда. Это ведь 4 ГБ. big_smile

John_Wayne
сделать это с тем же скриптом в он-лайне, без предварительной перекодировки с целью устранения pulldown и обратного telecine преобразования вообще вариантов нет ?
Два часа пропарился с "Отзвуками Творения". Нет. Не получилось настроить обратное телекино-преобразование совместно со скриптом повышения плавности в одном потоке. Всем рендерерам, кроме EVR сносит башку уже сразу после применения обратного преобразования. Только покадрово они показывают хорошо, а при воспроизведении на обычной скорости теряют половину кадров. В общем полный бардак. Решил на этом пока остановиться...
Проще сделать отдельно в два прохода:
1. Выполнить обратное телекино 30->24 fps. Сохранить видео.
2. Открыть уже сохраненное 24 fps видео и уплавнить его до 60 fps.

ссылки на то, где почитать
Ссылки для начала две:
1. Основы использования утилиты AviSynth при обработке видео
2. SVP-help: Сохранение рассчитанного видео

5,408

(12 replies, posted in Флуд)

У меня очки производства "СТЭЛ" дома лежат. Вот такие.
Приобрел уже давно для ЭЛТ-монитора, немного поигрался, затем долгое время просто лежали на полке. Этим летом пытался к проектору прикрутить. 60 fps по 30 fps на глаз, без синхронизации и возможности подстроить скважность. Увы, ничего хорошего из этого не вышло.

Вывод: те очки - баловство. Очки nVidia 3D Vision - штука посерьезнее. Но у меня не задержались. Сейчас ожидаю появления 3D Vision 2 с надеждой на технологию LightBoost.
Обзор на 3Dnews

Вчера наши коллеги по плавному аппаратному воспроизведению видео нашли интересную вещь:
Оказывается некоторые видеокарты можно научить распаковывать и плавно без рывков показывать поток FullHD 60 fps. Для этого надо повысить частоты и выполнить определенное шаманство. smile

lisabon wrote:

видео запустилось без дропов, и самое главное частота почему-то установилась на 600 MHz, и откуда такая цифра, ведь максимальная частота у GPU 775 MHz, а в простое 300 MHz...
сам фокус повышения частот заключается в том, что надо сначала запустить DXVA Checker, далее установить курсор, при этом выделив сам пункт ModeH264_VLD_Multiview_Avivo...

ссылка на сообщение

John_Wayne
DXVA - опция декодирования видеокартой с сохранением кадров в видеопамяти. Оба других варианта декодирования происходят через оперативную память компьютера (ОЗУ).
Hardware Deinterlacing - опция указания флага деинтерлейса на видеокарте в видеопоток, используется отрисовщиками EVR, Haali и Overlay. Не работает для кадров, побывавших в ОЗУ.
Agressive - добавление флага деинтерлейса в видеопоток, даже если в исходном файле не был указан признак чересстрочки.
madVR - отрисовщик, на котором с версии 0.78 возможен аппаратный (?) деинтерлейс для любого видеопотока, даже прошедшего через ОЗУ и не имеющего флага деинтерлейса на видеокарте.

нельзя ли ещё, хотя бы на пальцах, объяснить, как организовать весь процесс ?
Чуть позже. Если Вам недостаточно того, что написано выше и справки SVP, то объяснять придется много и долго.

Процесс выполнения обратного телекино-преобразования.

С применением плагина TIVTC. Потребуются две функции этого плагина: TFM и TDecimate.

Кратко по-русски:
TIVTC - tritical ivtc (inverse telecine) - плагин обратного телекино-преобразования от tritical
TFM - tritical Field Maching filter - фильтр сравнения полей кадра от tritical
TDecimate - tritical Decimation filter - фильтр выкидывания кадров от tritical

В случае преобразования 30->24 имеем повторяющиеся группы кадров из трех прогрессивных и двух чересстрочных. Первым шагом составляем из этих кадров пять прогрессивных, сравнивая поля (TFM), затем выкидываем один кадр-дубль из пяти (TDecimate), получаем 4 кадра в группе.

http://www.svp-team.com/forum/misc.php?action=pun_attachment&item=726

Скрипт:

TFM()
TDecimate(cycle=5)

В случае преобразования 30->25 имеем повторяющиеся группы кадров из четырех прогрессивных и двух чересстрочных. Также возможен случай с тремя прогрессивными кадрами и тремя чересстрочными. Первым шагом составляем из этих кадров шесть прогрессивных, сравнивая поля (TFM), затем выкидываем один кадр-дубль из шести (TDecimate), получаем 5 кадров в группе.

http://www.svp-team.com/forum/misc.php?action=pun_attachment&item=727

Скрипт:

TFM()
TDecimate(cycle=6)

Rimsky
Сложно. Новые юзеры тоже не смогут зарегистрироваться wink

Даже та обычная Капча, что есть сейчас, отсеяла спамеров. Сегодня ни одного еще не банил big_smile

5,413

(3 replies, posted in Using SVP)

Thank you. I thought it is SVP bug. wink

John_Wayne

На монитор же, который-таки, поддерживает режим 60i, я оба эти видео подавал, идут плавно

Именно "плавно" или "равномерно", как обычные 24/25 fps видео?

При выводе 60i на телек у меня намертво виснет комп

Может драйвера? Не могу дельного ничего посоветовать, т.к. даже не представляю причину зависания.

Что там вообще может повесить комп, кроме nVidia-драйвера?
hmm

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

Есть вариант собрать Avisynth-скрипт с использованием плагина TIVTC.
А можно подумать головой и самому написать скрипт, который без потери качества будет собирать исходные кадры из чересстрочных полуполей. Они ведь (эти полуполя) принадлежат единому снимку, одному отсчету времени. Поэтому потребуются базовые функции SeparateFields и Weave.

Chainik
1. где написано что он "аппаратный"?
Да. Вопрос с заковыркой smile Включил DXVA-декодер и этот деинтерлейс, получил 13% загрузки ЦП, переключил на EVR. Там загрузка ЦП 0%. Наводит на мысли, что ты прав и что деинтерлейс не аппаратный. hmm "Не аппаратный" - почти синоним слову плохой, т.к. качественный вектор-адаптивный деинтерлейс (VA-deinterlace) сейчас может делать только видеокарта. Процессору далеко до ее качества в реалтайме.

2. что такое "аппаратный" - я думал что это то, что выполняется на UVD, и может быть подкручено через драйвер видяхи
Да. Это оно самое.

4. галка "perform deinterlacing in separate thread" не настораживает?
Я как-то не придал этому значения. А теперь вижу, что и правда деинтерлейс программый. Тогда надо читать, какой там используется алгоритм.

3. применение пиксельного шейдера "deinterlace" в mpc-hc - это тоже "аппаратный деинтерлейс независящий от декодера"?
Не смотрел это, но шейдер по определению ведь не может удвоить частоту кадров и правильный VA-деинтерлейс с преобразованием "30 кадров, чересстрочка -> 60 кадров, прогрессив" он, вероятно, не сделает? hmm

Поглядел madVR 0.78. Этот отрисовщик не слушает флаг в видеопотоке, а работает в зависимости от установленных галок на его вкладке deinterlacing.

http://www.svp-team.com/forum/misc.php?action=pun_attachment&item=724

Из плюсов отмечу, что теперь это первый и единственный известный мне отрисовщик, который умеет производить аппаратный деинтерлейс независимо от того, какой используется декодер. Т.е. существовавшее ограничение непокидания кадра видеопамяти теперь снято. Можно использовать программный декодер, обрабатывать кадры программно в ОЗУ, затем отправлять обратно на видеокарту и madVR выполнит аппаратный деинтерлейс, если указана соответствующая галка.

Upd: Как оказалось, деинтерлейс у madVR программный. sad

---
Теперь про две чересстрочных раздачи. Там все оказалось еще загадочней. Оба видео имеют чересстрочный формат и частоту кадров 30 fps. Но при этом содержат прогрессивный материал. Такой метод применялся раньше для трансляции кино по телевидению. Называется телекино (telecine). Производится определенным сочетанием и чередованием полукадров, называемое пулдаун (pulldown).

Отзвуки Творения (раздача). Это 3:2 pulldown. В потоке 30 к/сек чересстрочка реально содержатся 24 прогрессивных кадра. Если включить деинтерлейс и покрутить покадрово, то получим прогрессив 60 к/сек с повторением дублей кадров 3:2.

Водная жизнь (раздача). Это 2:3:2:3:2 pulldown. В потоке 30 к/сек чересстрочка реально содержатся 25 прогрессивных кадров. Если включить деинтерлейс и покрутить покадрово, то получим прогрессив 60 к/сек с повторением дублей кадров 2:3:2:3:2.

В обоих случаях преобразование телекино выполнено по стандарту, поэтому должно автоматически распознаваться телевизорами со встроенными уплавнителями. Тогда ТВ сделает такому видео обратное телекино-преобразование (inverse telecine) и к полученным 24 или 25 прогрессивным кадрам достроит промежуточные. Для этого надо подать на них телекино видео в чересстрочном режиме 60i. В обоих случаях.

Для просмотра на компьютере этих двух телекино-фильмов с повышением плавности у SVP не хватает штатного обратно-телекино-преобразователя smile
И что самое неприятное, автомата определения чересстрочка/телекино мне не встречалось. Поэтому такие раздачи для просмотра на компьютере с плавностью надо доводить до ума самостоятельно, вручную определяя тип телекино, производя обратное телекино преобразование, и сохраняя результат с исходной киношной частотой кадров и в прогрессиве. И только потом пользоваться SVP.

Зачем эти две раздачи были сделаны с телекино мне не совсем ясно. Стандарт BD поддерживает частоту кадров 24 и 25 к/сек, прогрессив. hmm

Прочитал вчера фразу про синхронизацию картинки с компа на телевизоре. Понравилось.

Разговор там шел про исправление проблемы вывода видео с частотой 23,976 на готовящихся к выходу видеокартах nVidia Kepler:

Bluegem wrote:

...не думаю, что там что-либо будут исправлять, во-первых, потому что девиации частоты обновления есть в той или иной степени у всех карт, будь то интел, ати, или нвидиа, во-вторых потому, что ее проявление зависит напрямую от того оборудования к которому подключают карту, в-третьих потому что эта "проблема" плавает от экземпляра карты к экземпляру, то есть проявляется не у всех, в-четвертых, степень проявления напрямую зависит от рендера...

цитата из сообщения: Как задействовать аппаратное ускорение (HWA) декодирования HD видео с помощью видеокарт ATI-AMD и nVidia. (часть 4), 477

Я все-таки считаю, что не все так безнадежно wink

sergioleon wrote:

Семёрка не даёт выставить частоту больше 60 Hz

Я ставил 50, 60 (Acer), 60, 100, 110, 120 (Viewsonic). 75 Гц на макс. разрешении 1920x1200 первый точно не держит из-за электроники (на низких разрешениях - пожалуйста). На втором 75 Гц не пробовал. Это все на win7 64.
1. Отсюда вопрос: почему не дает?
2. Какими способами выставлялось 75 Гц (через nVidia-панель или при помощи PowerStrip)?

John_Wayne
как быть с 30-кадровым интерлейсным видео, где применяется 3:2 pulldown ?
Пока не знаю, сегодня к утру только докачались... Вечером буду глядеть на них.

Noweol
Вчера пробовал только 0.77 (из комплекта SVP 3.0.5): там нет галки деинтерлейса. Скачать новый madVR не догадался. smile Спасибо за подсказку. Скачаю и погляжу на работу этой галки.

sergioleon
Замеры немного неполные
Я разве претендовал на полность?!

не проверены NTSC 24 fps
Проверьте сами, если в этом есть необходимость. wink
Разговор, вроде, про 25 fps.

У меня, да и у многих, на 75 Hz'ах плавность выражалась слабее, чем на 60'ти
Для 25-ти исходных кадров? hmm
Я мерял для 25 и 30 - на 75 Гц плавнее. Не сочиняю. smile

John_Wayne
Я лишь подтвердил слова sergioleon о несогласии с Вашей фразой "Если 25, и при этом All2HD производит удвоение кадров" и привел свои аргументы: для 25 fps я наблюдал и утроение. Рывков при этом не было.

Посмотрел пока только Нью-Йорк (из этой раздачи, 25 к/сек, чересстрочка). Смотрел на мониторе (на ТВ, думаю, настройки аналогичные). Применение SVP не потребовалось: только аппаратный деинтерлейс.

Как делал. Переключил режим работы видеокарты в 1920x1200 @ 50 Гц (аналогичный режим на ТВ - это 50p). Выбрал декодер CoreAVC, включил в нем галку DXVA-декодирования и аппаратный деинтерлейс.

http://www.svp-team.com/forum/misc.php?action=pun_attachment&item=723

Галка аппаратного деинтерлейса только устанавливает флаг в видео-потоке о необходимости выполнить деинтерлейс. Выполнением деинтерлейса занимается уже отрисовщик. Поэтому я проверил в MPC-HC, какие отрисовщики слушают этот флаг и выполняют деинтерлейс. Выяснил следующее.
Выполняют деинтерлейс: EVR, EVR Custom, EVR Sync, Haali, Overlay
Не выполняют деинтерлейс: madVR, VMR-7/9

Поэтому рекомендую использовать один из отрисовщиков, которые выполняют деинтерлейс. Результат: плавная картинка без подергиваний и волн при воспроизведении.

sergioleon
Подтверждаю.
WinDVD повышает частоту любого DVD-видео (PAL/NTSC 25/30 fps) до частоты обновления экрана, если она 60 или 75 Гц. См. мои замеры. При работе TrimensionDNM рывков не наблюдал ни разу.

Пока доступность CUDA 4.1 - только для разработчиков.

Мне не удалось зарегистрироваться у nVidia в качестве девелопера.
sad

John_Wayne
Нью-Йорк помню. Скачавал. Буду смотреть это видео, заодно и Нью-Йорк повторно гляну. По результатам отпишусь.
Профиль глянул, у меня тоже GTX 260, так что рекомендации будут конкретные для нашей с Вами видеокарточки.
madVR тоже покручу (до этого на нем чересстрочку смотреть не пробовал).