|
Spartan999
Стаж: 14 лет 10 месяцев Сообщений: 283
|
Spartan999 ·
19-Апр-12 09:34
(12 лет 7 месяцев назад)
Tempter57 писал(а):
Spartan999
Дописать необходимо руками в скрипте перед строкой загрузки video=...
Код:
setmtmode(5,4) # если у вас 4 ядра CPU
# setmtmode(5,2) # если у вас 2 ядра CPU
Только до 35 % нагрузился камень.. Что-нибудь еще можно сделать?
|
|
shark000X
Стаж: 14 лет 5 месяцев Сообщений: 434
|
shark000X ·
19-Апр-12 11:01
(спустя 1 час 27 мин., ред. 19-Апр-12 11:01)
Spartan999 писал(а):
Почему при использовании фильтрации проц нагружается всего на 15%?
Если в начале скрипта setMTmode(*,*) и setMemoryMax выставлены правильно, то скорей всего в скрипте используются фильтры, которым не требуется больше 2-х потоков, или же однопоточные фильтры (бывают и такие). А еще не забываем прописывать setMTmode(2) или (3) непосредственно перед самим фильтром.
artemelesin писал(а):
Не могу установить конвертер.
При установке убираем галочку на месте С++. Я вот логики действий, у кого "чёй-то не устанавливается", не могу понять: ну нахрена ставить Вижуал Си если он уже есть в системе?! Тем более что дана ведь возможность выбора при установке. Или действуют по принципу "больше поставлю - больше получу"?
P.S.: Люди добрые, киньте пожалуйста в меня ссылочкой на короткий видеосюжет, в котором содержится полупрозрачный логотип (типа semi-transparent). Для экспериментов надо, "во благо всего человечества"
|
|
Spartan999
Стаж: 14 лет 10 месяцев Сообщений: 283
|
Spartan999 ·
19-Апр-12 11:12
(спустя 10 мин.)
Использую BD TemporalDegrain.. Нагружаются все потоки,но на треть..
|
|
shark000X
Стаж: 14 лет 5 месяцев Сообщений: 434
|
shark000X ·
19-Апр-12 11:30
(спустя 17 мин., ред. 19-Апр-12 11:30)
Spartan999
Попробуйте поменять RemoveGrainSSE2.dll и RepairSSE2.dll на RemoveGrainSSE3.dll и RepairSSE3.dll, и еще заодно можно попробовать mt_masktools-25.dll поменять на mt_masktools-26.dll.
Mt_masktools-26.dll, RemoveGrainSSE3.dll и RepairSSE3.dll лучше взять из Modded Plugins Package от -Vit- ( http://forum.doom9.org/showthread.php?t=156028 ; ссылки для скачивания: http://www.mediafire.com/?mfs7bp2rprbhp22 , http://www.spirton.com/uploads/QTGMC/QTGMC%2032-bit%20Plugins%20%5BVit-Mod%5D.zip). Если не поможет, то надо бы смотреть скрипт полностью (тот который выполняется, а не который в пресете).
PS: и еще. Если стоит обычная версия Avisynth, то непонятно на что надеяться. Должна быть Avisynth МТ. Mt_masktools-26.dll, RemoveGrainSSE3.dll и RepairSSE3.dll меняем в скрипте (раздел загрузки плагинов).
|
|
IvGrad
Стаж: 15 лет 3 месяца Сообщений: 189
|
IvGrad ·
19-Апр-12 14:02
(спустя 2 часа 32 мин., ред. 19-Апр-12 14:02)
artemelesin писал(а):
Не могу установить конвертер.
artemelesin, на googlecode же чёрным по белому указано, что:
Цитата:
!!!IMPORTANT!!!
Uncheck the "Microsoft Visual C/C++ Libraries" when you will be prompted to choose the components (to avoid error messages during the installation).
А вообще, установите лучше XviD4PSP 5.10.271.0 (2012-02-14) RC28 и MS Visual C++ x86/x64
shark000X писал(а):
Я вот логики действий, у кого "чёй-то не устанавливается", не могу понять: ну нахрена ставить Вижуал Си если он уже есть в системе?!
Дело в том, что по крайней мере в 64-разрядной Win7 библиотеки MS Visual C++ и DirectX по умолчанию присутствуют не в полном объёме.
Поэтому приходится устанавливать полный пакет MS Visual C++ x86/x64 и обновлять DirectX с помощью dxwebsetup.exe (286Кб)
|
|
shark000X
Стаж: 14 лет 5 месяцев Сообщений: 434
|
shark000X ·
19-Апр-12 14:50
(спустя 48 мин., ред. 19-Апр-12 14:50)
IvGrad
Понятное дело, что библиотеки могут присутствовать не в полном объеме, и не только в 64-разрядной Win7. Удивление мое вызвано тем, что MS Visual C++ нужен сплошь и рядом, многие проги тянут его вместе с собой, поэтому любому юзеру надо бы понимать какие библиотеки MS Visual C++ у него уже есть и следить за их комплектацией, чтобы не возникало таких вот ситуаций не только с XviD4PSP.
И вот снова ему предлагают установить XviD4PSP 5.10.271.0 (2012-02-14) RC28, чтобы он снова нажал "установить С++" - в этом проблема. Местные гуру на подобные вопросы уже просто устали отвечать, поэтому игнорируют, здесь ведь собираются не для обучения элементарным правилам обхождения с компьютером.
|
|
DreadMaster
Стаж: 16 лет 1 месяц Сообщений: 710
|
DreadMaster ·
19-Апр-12 15:45
(спустя 54 мин.)
Если при установке программы возникают ошибки, то их надо исправлять или же совсем удалить возможность установки библиотек MS Visual C++.
Цитата:
на googlecode же чёрным по белому указано, что:
Эту надпись надо не на сайте вешать, а добавить предупреждение в саму программу рядом с галочками C++.
|
|
IvGrad
Стаж: 15 лет 3 месяца Сообщений: 189
|
IvGrad ·
19-Апр-12 17:19
(спустя 1 час 33 мин., ред. 19-Апр-12 17:19)
DreadMaster, с ошибкой при установке XviD4PSP, если в инсталляторе был выбран пункт MS Visual C++, я лично не сталкивался.
По той причине, что никогда этот пункт в меню не выбирал, а устанавливал необходимые мне библиотеки всегда вручную.
Но это уже вопрос компьютерной грамотности и как правильно заметил тов. shark000X к данной теме не относится. Теперь по существу. Известно, что на 64-разрядных ОС по умолчанию XviD4PSP устанавливается в папку c:\Program Files (x86)\ .
Это может вызвать ошибку в работе компонентов для которых путь установки прописан, как c:\Program Files\ .
Соответственно, если изначально установить XviD4PSP в c:\Program Files\ , то будет ли всё работать корректно? Я в принципе могу проверить и сам, но мне просто интересно пробовал ли кто-нибудь такой способ вместо того, чтобы править пути.
|
|
shark000X
Стаж: 14 лет 5 месяцев Сообщений: 434
|
shark000X ·
19-Апр-12 17:33
(спустя 13 мин., ред. 19-Апр-12 17:33)
IvGrad
В данной ветке об этом писалось ранее. Желающие удовлетворить интерес могут пролистать все 50 страничек... может еще и архивные придется прихватить
По логике вещей, должно бы работать, в крайнем случае идем в реестр и через поиск "Program Files x86" анализируем все привязки.
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4963
|
Tempter57 ·
19-Апр-12 19:53
(спустя 2 часа 20 мин., ред. 19-Апр-12 19:53)
shark000X писал(а):
Попробуйте поменять RemoveGrainSSE2.dll и RepairSSE2.dll на RemoveGrainSSE3.dll и RepairSSE3.dll, и еще заодно можно попробовать mt_masktools-25.dll поменять на mt_masktools-26.dll.
Не стоит этого делать вообще, это ничего не даст, к тому же mt_masktools-26.dll предназначен для AviSynth 2.6, в конвертере используется AviSynth 2.5.8 MT. В QTGMC используются RemoveGrainSSE2.dll и RepairSSE2.dll те же, что и в конвертере, смотрите по дате релиза плагинов от 19.04.2011. Это касается и обоих плагинов масок.
Spartan999 писал(а):
Только до 35 % нагрузился камень.. Что-нибудь еще можно сделать?
Показуйте свой скрипт, поскольку я вам не верю, что всё сделано правильно. И стоит указать тип исходника и рассказать о своём железе.
|
|
shark000X
Стаж: 14 лет 5 месяцев Сообщений: 434
|
shark000X ·
19-Апр-12 21:06
(спустя 1 час 13 мин.)
Tempter57
Каюсь, забыл уточнить что mt_masktools-26.dll для 2.6МТ. Но вот RemoveGrainSSE3.dll и RepairSSE3.dll точно могут помочь - это от процессора зависит, мой например намного шустрей с инструкциями SSE3 работает, а с SSE2 тупит.
|
|
Spartan999
Стаж: 14 лет 10 месяцев Сообщений: 283
|
Spartan999 ·
20-Апр-12 06:48
(спустя 9 часов, ред. 20-Апр-12 06:48)
Tempter57 писал(а):
Показуйте свой скрипт, поскольку я вам не верю, что всё сделано правильно. И стоит указать тип исходника и рассказать о своём железе.
Скрипт
скрытый текст
import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\AudioFunctions.avs")
import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\VideoFunctions.avs")
loadplugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\NicAudio.dll") setmtmode(5,4)
DirectShowSource("K:\die.hard.mkv", audio=false, fps=23.976, convertfps=true) ConvertToYV12() ###[FILTERING]###
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\RemoveGrainSSE2.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\RepairSSE2.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\mvtools2.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\MT.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\mt_masktools-25.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\fluxsmooth.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\flash3kyuu_deband.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\medianblur.dll")
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\ContraHD.avs")
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\minblur.avs") setmtmode(2)
setmemorymax(1024) source = last
super = source.MSuper(pel=1, sharp=2, rfilter=2)
vb1 = MAnalyse(super, isb=true, truemotion=false, delta=1, blksize=16, overlap=8, lambda=1500, sadx264=3)
vf1 = MAnalyse(super,isb=false, truemotion=false, delta=1, blksize=16, overlap=8, lambda=1500, sadx264=3)
cb1 = MCompensate(super, vb1, thSCD1=300)
cf1 = MCompensate(super, vf1, thSCD1=300)
NR1 = source.MDegrain1(super,vb1,vf1,thSAD=240)
NR1_super = NR1.MSuper(pel=1, levels=1, chroma=true)
NR1.MDegrain1(NR1_super,vb1,vf1,thSAD=125)
setmtmode(5)
Temporalsoften(2,1,1,6,2)
setmtmode(2)
ContraHD(last,source,cb1,cf1,0)
flash3kyuu_deband(sample_mode=2,precision_mode=3) # Назначение: для обработки зушумленного BD для улучшения сжимаемости
# Тип предварительного шумоподавителя: отсутствует
# Тип основного шумоподавителя: на основе векторного анализа оценки движения на двухэтапном шумоподавителе MDegrain1
# Тип шарпера: ContraHD
# Наличие фильтра DeBanding по умолчанию: включен
# Скорость обработки: ниже среднего
# перед строкой загрузки видео вписуйте в скрипт setmtmode(5,3), а вслучае ошибки вообще setmtmode(5,2) при threads=4 ###[FILTERING]### Crop(0, 134, -0, -134)
Lanczos4Resize(1920, 816)
Источник https://rutr.life/forum/viewtopic.php?t=2851855
2600k@4400,8 gb,560ti.. win7 64 bit
без setmtmode(5,4) нагрузка 15 %
с setmtmode(5,4) 35%
без фильтра 100 %
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4963
|
Tempter57 ·
20-Апр-12 09:10
(спустя 2 часа 21 мин., ред. 20-Апр-12 09:10)
Spartan999
Шаблон скрипта в части setmtmode(5,4) вы поняли верно, и даже можно пробовать увеличивать количество потоков вплоть до setmtmode(5,8), судя по CPU и если включен HT, хотя я уже говорил, что серьёзные скрипты надо обрабатывать количеством потоков, равным или меньшим количеству физических ядер. У вас i7-2600k и скорее всего вам надо просто смириться с его неполной загрузкой при работе с подобными скриптами AviSynth. Процесс обработки подобным фильтром и с таким разрешением может занять несколько суток. Вы к этому готовы или оно вам надо? К тому же модератор раздела HD рипов MaLLIeHbKa вряд ли такой рип пропустит к раздаче. Обратите пристальное внимание на её рипы. Есть чему поучиться. Она всегда со своими рипами выкладывает скрипт AviSynth и настройки кодека х264. Но там суть скрипта AviSynth несколько иная. Вообще для создания BDRip необходим уже AviSynth 2.6 с его поддержкой цветового пространства YV24() и XviD 4PSP 5 уже не годится, он не дотягивает современным требованиям, морально и физически устарел, если не сказать проще - сдулся.
Далее ваша ошибка состоит в том, что вы неверно открываете BDRemux да ещё посредством
Цитата:
DirectShowSource("K:\die.hard.mkv", audio=false, fps=23.976, convertfps=true)
С подобными исходниками так не поступают. Прочтите в техветке "Обработка и пересжатие видео" инструкцию: раздел Подготовка исходного материала. Суть: подобные исходники нуждаются в индексации и открывать их DirectShowSource нельзя!!!
Но мой вам совет отказаться от фильтрации вообще при работе с подобными исходниками: всё можно решить настройками кодеков, как х264 (что проще, хотя и настроек больше), так и Xvid, в последнем, как правило, это решается подбором матрицы квантования, например, heini_mr или шарктузовской 3HR c достаточно высоким битрейтом и коэффициентом качества
скрытый текст
Код:
video codec:
XviD video cli:
-qmatrix "C:\Program Files (x86)\XviD4PSP 5\presets\matrix\cqm\heini_mr.cqm" -vhqmode 1 -nopacked -metric 1 -bquant_ratio 100 -max_key_interval 250 -quality 5 -zones 0,q,3.0 -notrellis -nochromame -turbo
-qmatrix "C:\Program Files (x86)\XviD4PSP 5\presets\matrix\cqm\heini_mr.cqm" -vhqmode 4 -nopacked -metric 1 -bquant_ratio 100 -max_key_interval 250 -quality 6 -fourcc DX50 -size 2232000 -bvhq -vbvmax 4854000 -vbvsize 3145728 -kboost 10 -ostrength 5 -chigh 10 -clow 3 -imin 2 -pmin 2 -bmin 2 -imax 4 -pmax 4 -bmax 5
Если будет перерасход битрейта (увеличение размера), стоит увеличить значения максимальных квантов.
Матрицу heini_mr.cqm вам необходимо добавить в matrix\cqm , поскольку её там в настоящее время нет. Она входит в состав многих сборок по матрицам с именем heini_mr.xcm и вам надо сменить только расширение.
Если вы собираетесь кодировать подобный длинный фильм, например,в меньший размер 1,46 ГБ, то матрицу квантования следует сменить на шарктузовскую 3LR.
Хотя я сам никогда не буду скачивать BDRip ASP в 2,18 ГБ, а всегда предпочту BDRip AVC 1280x720 на 4...8 ГБ поскольку считаю не допустипым для себя смотреть это барахло с разрешением 720х304 (при аспекте 2.35:1) на панели 42 дюйма с разрешением 1920х1080)Стоит признать, что CRT телевизоры и подходящий к ним XviD уже сдохли и реанимировать их нет смысла
|
|
Spartan999
Стаж: 14 лет 10 месяцев Сообщений: 283
|
Spartan999 ·
20-Апр-12 09:54
(спустя 44 мин.)
Tempter57 писал(а):
увеличивать количество потоков вплоть до setmtmode(5,8), судя по CPU и если включен HT
Пробовал,безрезультатно. HT включен..
Tempter57 писал(а):
может занять несколько суток. Вы к этому готовы или оно вам надо?
Не готов. Не надо
Tempter57 писал(а):
К тому же модератор раздела HD рипов MaLLIeHbKa вряд ли такой рип пропустит к раздаче.
Для себя делаю
Tempter57 писал(а):
Обратите пристальное внимание на её рипы. Есть чему поучиться. Она всегда со своими рипами выкладывает скрипт AviSynth и настройки кодека х264.
Буду иметь ввиду..
Tempter57 писал(а):
XviD 4PSP 5 уже не годится, он не дотягивает современным требованиям, морально и физически устарел, если не сказать проще - сдулся.
...
Tempter57 писал(а):
Но мой вам совет отказаться от фильтрации вообще при работе с подобными исходниками: всё можно решить настройками кодеков, как х264 (что проще, хотя и настроек больше)
Так и поступлю..
Tempter57 писал(а):
всегда предпочту BDRip AVC 1280x720 на 4...8 ГБ поскольку считаю не допустипым для себя смотреть это барахло с разрешением 720х304 (при аспекте 2.35:1) на панели 42 дюйма с разрешением 1920х1080)
+1
Спасибо за тех.помощь
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4963
|
Tempter57 ·
20-Апр-12 10:35
(спустя 41 мин., ред. 20-Апр-12 10:35)
Spartan999
Вот эту цитату, после которой стоят три точки, надо давать полностью, в смысле для чего и каких целей я говорил. Поскольку существует много исходников иных нежели BDRemux: материалы камкодеров, стареньких DVD, DVB спутниковых каналов, VHS, которым XviD 4PSP со своим набором обработки подходит вполне.
|
|
Spartan999
Стаж: 14 лет 10 месяцев Сообщений: 283
|
Spartan999 ·
20-Апр-12 11:17
(спустя 41 мин.)
|
|
shark000X
Стаж: 14 лет 5 месяцев Сообщений: 434
|
shark000X ·
20-Апр-12 15:51
(спустя 4 часа, ред. 05-Июн-12 01:42)
Краткий путеводитель по многопоточным режимам МТ (по материалам http://avisynth.org/mediawiki/Internal_functions/Multithreading_functions , http://avisynth.org/mediawiki/MT_support_page и на основе жизненного опыта. Предназначено для широкой аудитории, к формулировкам не придираемся).
На особенностях работы МТ с использованием настроек вида MT("фильтр",2,2) останавливаться не собираюсь, лучше разобраться с setmtmode, который не вызывает побочных эффектов при правильном его применении. setmtmode(*, 4) - Вторая цифра после запятой определяет количество потоков, которые будут использоваться для обработки ВСЕГО скрипта (в данном примере - 4 ядра без НТ или 4 логических потока с НТ). Такую комбинацию имеет смысл использовать только в начале скрипта, поскольку при дальнейшей его работе количество потоков невозможно поменять. По этой причине в середине скрипта обычно встречается setmtmode(*) с указанием только первой цифры, которой определяется режим работы МТ, т.е. "mode", о чем идет речь дальше: setmtmode(1) - Самый быстрый режим, но работает только с некоторыми фильтрами, для которых специально предусмотрен, поэтому применяется крайне редко. setmtmode(2) - Практически самый распространенный режим, работает с большинством фильтров. Работа каждого фильтра распределяется между доступными потоками ПРОЦЕССОРА (физическими и/или логическими), поэтому для обслуживания очереди задач используется больше ресурсов оперативной памяти (иногда требуется тонкая настройка SetMemoryMax). setmtmode(3) - Предназначен в первую очередь для фильтров, которые не работают нормально в mode 2, в том числе для загрузчиков медиа-источников. Позволяет использовать по одному потоку ПРОЦЕССОРА для каждого фильтра, поэтому работает медленней, чем setmtmode(2), но менее требователен к ресурсам памяти. Данный режим весьма полезен для жадных к ресурсам фильтров, способных самостоятельно (без помощи МТ) разделять свою работу на несколько ВИРТУАЛЬНЫХ потоков внутри потока процессора. setmtmode(4) - Это комбинация двух режимов - setmtmode(2) и setmtmode(3) - удовлетворяющая, соответственно, требования подавляющего большинства фильтров. Недостатки: является одновременно медленным и требовательным к ресурсам памяти; может запросто подвесить систему при использовании "жадных" фильтров.
Теоретические размышления (цифры карикатурные):
скрытый текст
На 4-ядернике с НТ используется "жадный" фильтр, который в зависимости от поставленной задачи разделяет свои процессы на 2-20 виртуальных потоков. При максимальной загрузке 20 потоками в режиме setmtmode(3), процессор может распределить такую работу по свободным ресурсам сам, без помощи фильтра МТ. В режиме setmtmode(2) виртуальных потоков внутри одного потока процессора может создаться больше благодаря фильтру МТ (минимум 40, а то и все 80-100), процессор будет вынужден искать и выделять ресурсы остальных своих 7 потоков, ему уже становится тяжеловато. При включении setmtmode(4) может быть создано одновременно 40-100 виртуальных потоков "жадного" фильтра в каждом из свободных потоков процессора (т.е. 40...100 умножаем на 2...6). И куда дальше процессор будет распределять эти потоки?... И какого размера должен быть кэш процессора, чтобы совладать с очередью, растущей в геометрической прогрессии?
setmtmode(6) - Это модифицированная версия режима setmtmode(5) со всеми его недостатками и достоинствами, но работающая чуть-чуть быстрей.
setmtmode(5) - Самый медленный режим. Не устанавливает какие-либо ограничения, поэтому используется в основном перед критичными в этом вопросе загрузчиками медиа-источников. Предназначен для фильтров, не требующих линейного обслуживания фреймов (когда не требуется строгий порядок подачи фреймов: 0,1,2,...,последний). В связи с тем, что подавляющее большинство приложений предусматривает именно линейную подачу фреймов, загрузка процессора при setmtmode(5) обычно в несколько раз меньше, чем работа без МТ вообще, а в зависимости от поставленных задач обработка с setmtmode(5) может оказаться медленней, чем даже на стареньком 1-ядерном Атлон ХР (безо всяких МТ разумеется).
Следует отметить, что все обращения к скриптам Avisynth обрабатываются в обратной последовательности (снизу вверх). Таким образом, например, если составить такой скрипт:
скрытый текст
setmtmode(2)
setmemorymax(1024) source = last
super = source.MSuper(...)
.....
setmtmode(5)
Temporalsoften(...)
setmtmode(2)
ContraHD(last,source,...)
то ContraHD будет простаивать в ожидании Temporalsoften, а результаты работы MSuper и ContraHD мы получим не раньше, чем отработает свою задачу Temporalsoften в очень медленном режиме setmtmode(5).
В связи с тем, что обычно пользователю не известны устройство и внутренние алгоритмы работы фильтров (в частности, как именно они используют ресурсы компьютера), при использовании режимов setmtmode весьма благоразумным является измерение скорости работы скриптов с помощью сторонних утилит, не зависящих от Avisynth, например, с помощью AVSMeter ( http://doom10.org/index.php?topic=1817.0 ). Измеритель скорости запускается очень просто: перетаскиваем файл avs-скрипта мышкой на экзешник AVSMeter, ждем пару минут для набора статистики FPS (кадров в секунду), после чего проверка может быть прервана пользователем. При этом каждое изменение параметров setmtmode и setmemorymax проверяется на скорость выполнения, после чего варианты настроек сравниваются и выбирается наиболее оптимальный. Такой подход позволяет сэкономить уйму времени: потратив не более 20-30 минут на предварительные настройки и оптимизацию с помощью AVSMeter, можем избежать нескольких часов или суток лишней обработки в неоптимизированном режиме. ВАЖНО: для успешного использования в 64-битной системе, необходимо пропатчить файл AVSMeter.exe с помощью 4GB.Patch ( http://ntcore.com/files/4gb_patch.zip ) или использовать другую программу с подобными возможностями, чтобы установить в экзешнике флаг "IMAGE_FILE_LARGE_ADDRESS_AWARE".
Всем благ и мультипоточных успехов!
P.S.: Если вы используете Avisynth 2.6 MT сборки SEt ( http://forum.doom9.org/showthread.php?t=148782 ), то в указанной сборке фильтр МТ встроен на уровне ядра Avisynth, поэтому не загружайте фильтр МТ отдельно с помощью LoadPlugin в своих скриптах! Возможные причины частичной загрузки процессора (<=60%) в режиме МТ, и способы ее устранения:
1) Неверное применение режимов setmtmode(5) и setmtmode(6), а иногда и setmtmode(4) в тех местах скрипта (перед теми фильтрами), где больше подходят режимы 1-3 (изложено выше в данном сообщении);
2) Неверный подбор параметра SetMemoryMax() при использовании режимов setmtmode(2) и setmtmode(4).
Вообще параметр SetMemoryMax находится в подобной зависимости даже без МТ, но при указанных режимах МТ может иметь критическое значение. SetMemoryMax() -- это ограничитель, установка максимума оперативной памяти, которая будет выделена для работы фильтров Ависинт конкретного скрипта. Здесь надо выдержать БАЛАНС между потребностями Ависинта и потребностями кодека. Если мы установим SetMemoryMax слишком большим, то фильтры Ависинт могут вдруг забрать все свободные ресурсы памяти, после чего сами же будут простаивать в ожидании кодировщика, который будет тормозить весь процесс из-за нехватки памяти для кодирования. Если мы установим SetMemoryMax слишком низким, то возникнет обратная ситуация (что и происходит в большинстве таких случаев) -- кодировщик будет простаивать в ожидании фильтров, требующих больше памяти для завершения своих операций. При этом, в последней ситуации могут возникать критические СИСТЕМНЫЕ ОШИБКИ, поскольку в отличие от кодеков, адаптирующихся к объему доступных ресурсов, фильтры Ависинт способны создать очередь заданий, которую компьютерное "железо" не способно обработать физически; Приведенные выше проблемные ситуации можно спокойно обойти, если применять AVSMeter или подобные утилиты при подготовке скриптов. Однако бывают ситуации, которые невозможно разрешить предложенным способом. Например:
3) Блокирование потоков процессора, доступных кодеку изначально. Важно понимать следующее применительно к многопоточным компьютерным системам (не знаю, ко всем ли кодекам относится, не вижу смысла проверять):
скрытый текст
При запуске процесса кодирования, кодек получает установку на использование конкретного количества потоков (например 4 физических/логических потока процессора). Для выполнения своих задач кодек обычно имеет приоритет не выше "Normal", поскольку более высокие приоритеты могут приводить к зависанию системы, а зачастую его потоку назначается приоритет "Low" или "Very low" по умолчанию. Если в процессе кодирования стартуется системой или мы сами запускаем какое-либо приложение, предполагающее хотя бы временное получение более высоких приоритетов по сравнению с работающим кодеком, то в результате у кодека автоматически отбираются все доступные потоки, кроме одного необходимого, или то количество потоков, которые явно требует приложение с более высоким приоритетом. Затем, когда система обнаруживает, что вновь запущенному приложению достаточно для работы 1 потока к примеру, то она возвращает кодеку остальные 2 свободных потока, или освобождает для кодека все изначальные 3 потока по завершению работы упомянутого приоритетного приложения.
Однако не следует забывать, что Ависинт в режиме МТ занимает ресурсы компьютера динамически по мере своих потребностей. При этом, потребности фильтров Ависинт проявляются в очереди задач компьютера конечно же раньше, чем финализирующие потребности кодека. Таким образом, после запуска приложения, отобравшего в силу своего приоритета несколько потоков у кодека, такие освободившиеся позже потоки могут быть не возвращены кодеку, потому что будут динамически заняты МТ-фильтром Ависинта.
Предотвратить эту проблему возможно следующими способами:
-- не запускайте какие-либо приложения, если кодируете с предварительным использованием Ависинта в МТ-режиме (если даже приложению явно не дается более высокий приоритет, то при его запуске могут стартоваться системные службы с такими приоритетами);
-- если все-таки крайне необходимо делать что-то параллельно с кодированием, то запустите все необходимые для работы приложения до старта процесса кодирования, и до его окончания не завершайте их работу;
-- по возможности деактивируйте процессорный режим HT (Hyper-Threading) на компьютере, где обычно производится кодирование;
-- если по каким-либо причинам отключать HT не желательно, то хотя бы четко указывайте кодеку, что он может использовать количество потоков не больше количества физических ядер процессора (если ядер 4, то и потоков кодеку поставить 4, а не используемое по умолчанию например в Xvid4PSP5 количество потоков 6 [4*1,5]);
-- в случае продолжения проблемы или при невозможности использования одного из 4 вариантов выше, попробуйте радикально решить проблему БАЛАНСа, но уже применительно к распределению потоков между кодеком и Ависинт, т.е. изначально задайте фильтрам Ависинта и кодеку количество потоков, которое в сумме не превышает количество физическихядер процессора (например для 6-ядерника: setmtmode(*, 3) в начале скрипта Ависинт и 3 потока кодеку; или setmtmode(*, 4) и 2 потока кодеку). При этом варианте снова лучший помощник AVSMeter или подобные утилиты.
|
|
agz
Стаж: 17 лет 6 месяцев Сообщений: 1444
|
agz ·
20-Апр-12 19:02
(спустя 3 часа)
Tempter57, оказывается QTGMC убирает блочность при движении, в исходниках MPEG-2, такая красноватая пыль вокруг контуров. Причем четкость не страдает практически.
Используя MDegrain чет у меня не получалось убрать эту хрень.
Может не те параметры использовал? Или это fft3dfilter отрабатывает? Есть вариант без QTGMC?
QTGMC гружу так:
QTGMC(Preset="Placebo", Sharpness=0.4, FPSDivisor=2)
Кодирую в lossles, иксом, --qp 0
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4963
|
Tempter57 ·
20-Апр-12 20:49
(спустя 1 час 47 мин.)
agz
Если отбросить деинтерлейс, то взглянув на принцип шумопадавления и решарпинга GTGMC можно увидеть:
1) мощнейший предварительный фильтр для векторного анализа
2) MDegrain1 для чисто обработки исходника с последующим в начале ремонтом контуров на базе функции RemoveNonBobDiff, потом интересный решарпинг и далее формирование на его базе нового суперклипа
3) Шумоподавитель MDegrain2 на основе нового суперклипа и векторного анализа на основе мощнейшего предварительного фильтра
4) далее два каскада ремонта контуров объектов движения опять на основе функции RemoveNonBobDiff с последующим ремонтом фильтром repair.
agz писал(а):
Или это fft3dfilter отрабатывает?
нет, для этого необходимо в QtGMC подключать опцию Denoicer при том на пресетах Fast и Faster подключается при этом fft3dfilter, а на пресетах Medium, Slow, Slower подключается dfttest.
agz писал(а):
Есть вариант без QTGMC
Вариант без деинтерлейса -это DVD Old STB_DB
На предыдущей странице рассматривался новый мощный деинтерлейс TGMC_SVP_Test по типу QTGMC, но гораздо быстрее. Помимо shark000X его просто никто не заметил, а жаль.. он того стоит
|
|
anton966
Стаж: 17 лет 11 месяцев Сообщений: 2573
|
anton966 ·
20-Апр-12 20:57
(спустя 7 мин.)
Tempter57 писал(а):
Помимо shark000X его просто никто не заметил, а жаль.. он того стоит
Заметил, но до тестированя еще руки не дошли. А так уже везде включен.
|
|
agz
Стаж: 17 лет 6 месяцев Сообщений: 1444
|
agz ·
20-Апр-12 21:05
(спустя 7 мин.)
Tempter57, да я сразу попробовал. Чет не пошло, не находит SVConvert().
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4963
|
Tempter57 ·
20-Апр-12 21:16
(спустя 10 мин.)
agz
я там сказал, что необходимо скачать архив плагинов 1.0.3 от разработчика chainik_svp и добавить из в папку plugins XviD 4PSP
|
|
agz
Стаж: 17 лет 6 месяцев Сообщений: 1444
|
agz ·
20-Апр-12 21:20
(спустя 4 мин.)
Tempter57, да да, я уже скачал, заменил. Работает
А что насчет GPU версий? Их можно подгружать вместо стандартных?
|
|
wayger
Стаж: 13 лет 7 месяцев Сообщений: 24
|
wayger ·
20-Апр-12 21:55
(спустя 34 мин., ред. 20-Апр-12 23:19)
Из любопытства собрал из сырца r276.0 (29.11.2011). Код не правил.
Если кому интересно http://narod.ru/disk/46738370001.7589008fbee18fcc410b9e1612b0793c/XviD4PSP%205.10...11.2011).7z.html
скрытый текст
XviD4PSP 5.10.276.0 (29.11.2011), основные изменения:
>>> (r276) Добавлена поддержка открытия grf-файлов (см. http://avisynth.org.ru/docs/russian/corefilters/directshowsource.htm и
http://avisynth.org.ru/docs/russian/advancedtopics/importing_media.htm#graphs). При открытии такого файла, если его
имя начинается с "audio", будет предполагаться, что это аудио-граф. Все остальные имена файлов будут рассматриваться
как видео-графы. Причем, в имя можно добавить аргумент fps=xxx, который будет передан функции DirectShowSource().
Если в папке с файлом видео-графа будет обнаружен другой grf-файл, с похожим названием, но начинающийся с "audio"
(например, файл "my_file fps=25.000.grf" и рядом с ним "audio my_file.grf") - то он будет автоматически подхвачен.
Так-же файлы аудио-графов можно добавлять и как внешние треки, в этом случае приписка "audio" не требуется.
>>> (r275) Окно "Разрешение/Аспект": добавлена возможность отразить изображение по вертикали/горизонтали.
>>> (r275) Исправлен(?) метод изменения аспекта "Black" (неправильный расчет высоты горизонтальных бордюров при
анаморфном кодировании).
>>> (r274) Расширенный парсинг времени в полях ввода "Начало"/"Конец" обрезки и в счетчике кадров. Помимо стандартной
формы записи (ЧЧ:ММ:СС.мс), теперь можно использовать "произвольную", на основе группы цифр и следующих за
ними буквами (h - часы, m - минуты, s - секунды, ms - миллисекунды), дробные значения так-же допустимы. Т.е.
можно вводить: 1.25h | 1H 20m | 10.5m | 0.2h 30M 500,1s | ,5H .5M | 15000ms | 2000,55S и т.д.
>>> (r273) В меню "AviSynth" добавлен пункт "Прогнать скрипт" (последовательное считывание всех кадров из текущего
скрипта). Может быть полезно при использовании функций\скриптов, которым требуется "первый проход" (например,
для получения файла статистики при двухпроходном vfr-преобразовании используя TDecimate).
>>> (r272) Разлочен (и исправлен) код для определения прогресса муксинга при использовании муксера VirtualDubMod.
>>> (r272) Кодировка stdout для MKVMerge (MKVInfo и MKVExtract) изменена на UTF-8; удалено окно MKVRebuilder.
>>> (r272) Из глобальных настроек удалены опции "Сохранять анаморфный аспект" и "Кодировать всё в прогрессивное
видео", из окна "Разрешение/Аспект->Настройки" удалена опция "Разрешить кратность сторон" - теперь это
индивидуальные опции форматов.
>>> (r272) Окно настроек Custom-формата теперь доступно почти для всех форматов. В само окно добавлено несколько
новых опций.
После того, как вы скомпилируете XviD4PSP.exe (или до этого), вы должны воссоздать в папке по адресу
you_source_folder\trunk\bin\Debug\ точно такую-же структуру директорий, какую можете видеть по адресу,
куда была установлена XviD4PSP (по умолчанию это что-то типа C:\Program Files\Winnydows\XviD4PSP5).
Таким образом, вы должны скопировать оттуда (со всем содержимым) и перенести в папку Debug следующие
папки: apps, dlls, presets, languages. Не проделав этих действий, вы не сможете заставить работать
ваш скомпилированный XviD4PSP.exe.
НО ПЕРЕД ЭТИМ ВЫ ОБЯЗАТЕЛЬНО ДОЛЖНЫ УСТАНОВИТЬ XviD4PSP 5.0.37.6 ИЛИ НОВЕЕ (т.е. последнюю существу-
ющую на данный момент версию)!
|
|
shark000X
Стаж: 14 лет 5 месяцев Сообщений: 434
|
shark000X ·
20-Апр-12 22:18
(спустя 23 мин., ред. 20-Апр-12 22:18)
Интересно. А что в нем - можно в общих чертах узнать? Какие отличительные особенности? А какие версии Avisynth и MKVToolnix?
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4963
|
Tempter57 ·
20-Апр-12 22:25
(спустя 7 мин.)
agz писал(а):
А что насчет GPU версий? Их можно подгружать вместо стандартных?
пока нет, для этого функцию MDegrain надо иметь с bool "GPU", не всё сразу
|
|
agz
Стаж: 17 лет 6 месяцев Сообщений: 1444
|
agz ·
21-Апр-12 11:56
(спустя 13 часов, ред. 21-Апр-12 11:56)
Tempter57, перечитал описание QTGMC, в ветке на doom9. Сделал как там рекомендуют:
Тут loadplugin, import
SetMemoryMax(1024)
SetMTMode(3, 8)
MPEG2Source()
SetMTMode(2)
QTGMC(Preset="Placebo", Sharpness=0.4, FPSDivisor=2)
Distributor()
Скорость обработки с 5.5 поднялась до 7.5! Никаких вылетов, уже три lossless'я (720x576, SAR=16/11) закодировал
При увеличении тредов у икса - скорость падает. Стоит --threads 6, по числу ядер.
Проц очень жестко загружен, на все 100%. Никогда такого не видел, всегда были провалы.
|
|
george$t
Стаж: 14 лет 8 месяцев Сообщений: 4305
|
george$t ·
21-Апр-12 13:15
(спустя 1 час 19 мин., ред. 21-Апр-12 13:15)
shark000X писал(а):
Краткий путеводитель по многопоточным режимам МТ
Спасибо!
agz писал(а):
Сделал как там рекомендуют:
Это конкретно атлоновские рекомендации для 6 ядер и placebo?
agz писал(а):
SetMTMode(3, 8)
Плюс два потока к числу ядер для QTGMC? Так надо понимать? Спрашиваю так, на всякий случай, потому как до сих пор на slow выпадений не наблюдал, а placebo не юзал.
agz писал(а):
Sharpness=0.4
Вправду блоки в сорсе убирает без потери резкости?
|
|
agz
Стаж: 17 лет 6 месяцев Сообщений: 1444
|
agz ·
21-Апр-12 13:23
(спустя 7 мин.)
imgeorgest писал(а):
Это конкретно атлоновские рекомендации для 6 ядер и placebo?
Там не указано конкретно для AMD или Intel. На AMD работает отлично. Думаю и на Intel проблем не будет.
imgeorgest писал(а):
Плюс два потока к числу ядер для QTGMC? Так надо понимать? Спрашиваю так, на всякий случай, потому как до сих пор на slow выпадений не наблюдал, а placebo не юзал.
Да.
imgeorgest писал(а):
Вправду блоки в сорсе убирает без потери резкости?
Может резкость падает, но только там где была блочность. Фон практически не страдает.
|
|
george$t
Стаж: 14 лет 8 месяцев Сообщений: 4305
|
george$t ·
21-Апр-12 13:31
(спустя 7 мин.)
|
|
|