Topic: Кодирование в 60fps

Здравствуйте!

Прошу прощения за оффтопик, но подскажите куда обратиться с проблемой загрузки проца при кодировании в Xvid4PSP5? Или здесь кто знает?
avs4x264.exe грузит только на 13%.
x264.exe от 6% до 60% в зависимости от сложности фильтра. Чем сложнее тем меньше грузит.
Core i7 2600. Windows 2008 r2.
Кодирование фильма в связи с этим занимает от 4 часов до суток.

Спасибо!
в настройках кодека стоит threads auto
скрипт:
cpu=4
mask=2
ml=2500
spar=20
pel=1
blkh=16
blkv=16
overlap=2
overlapv=2
multinum=12
multiden=5
setmtmode(2,cpu*2+4)
source = last
Width=source.width
Height=source.height
dist_h=int((0.01*spar*Width)/blkh)
dist_v=int((0.01*spar*Height)/blkv)
dist = dist_h>dist_v ? dist_h : dist_v
dist = dist>0 ? dist : 1
super=MSuper(pel=pel, hpad=blkh, vpad=blkv)
backward_vec1 = MAnalyse(super, isb=true, blksize=blkh*2, blksizev=blkv*2, overlap=overlap*2, overlapv=overlapv*2, searchparam=dist, plevel=2)
forward_vec1 = MAnalyse(super, isb=false, blksize=blkh*2, blksizev=blkv*2, overlap=overlap*2, overlapv=overlapv*2, searchparam=dist, plevel=2)
MFlowFps(super, backward_vec1, forward_vec1, num=FramerateNumerator(last)*multinum,den=FramerateDenominator(last)*multiden, mask=mask, ml=ml)

Re: Кодирование в 60fps

Скрипт можно прогнать через avs2avi, чисто для контроля скорости.
avs2avi -o n -c null <script.file>

В самом скрипте строки
SetMemoryMax(1024)
не хватает.

Re: Кодирование в 60fps

Chainik wrote:

Скрипт можно прогнать через avs2avi, чисто для контроля скорости.
avs2avi -o n -c null <script.file>

В самом скрипте строки
SetMemoryMax(1024)
не хватает.

avi file written
  - codec: null
  - size: 0x0
  - fps: 25.000
  - frames: 0

А что это должно сказать?

Re: Кодирование в 60fps

avi file written
  - codec: null
  - size: 1920x1080
  - fps: 25.000
  - frames: 7191

Re: Кодирование в 60fps

Он в процессе работы скорость обработки пишет. И загрузка cpu должна быть полная. Если нет - надо думать.

Re: Кодирование в 60fps

13% только занимает.

Re: Кодирование в 60fps

Может это быть связано что я это в терминальной сессии делаю?

Re: Кодирование в 60fps

_полный_ .avs файл сюда приложи

версия avisynth.dll какая?

Re: Кодирование в 60fps

C:\Windows\SysWOW64\avisynth.dll 2.6.0.4
C:\Program Files (x86)\AviSynth 2.5\plugins\mvtools2.dll 2.5.11.3
C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\mvtools2T.dll 2.5.14.2
C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\mvtools2svp.dll 2.5.11.9
C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\mvtools2mod.dll 2.6.0.5

PLATFORM
------------------------------
OS Code: Microsoft Windows NT 6.1.7601 Service Pack 1
OS Name: Windows Server 2008 R2 Enterprise Service Pack 1 (x64)
Framework: 2.0.50727.5485 (v4.0)
AviSynth: AviSynth 2.60, build:Sep 28 2013 [15:09:12]
CPU Info: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz (~3411), 8 core(s)
RAM Total: 8104Mb
Language: RUS (1251, ",")
SystemDrive: C:

XviD4PSP
------------------------------
Version: 5.10.330.0
Created: 19.03.2013 07:34:12
AppPath: C:\Program Files (x86)\XviD4PSP 5
TempPath: F:\Temp

FILES
------------------------------
123.1080p.mkv >
123..WEBDL.mkv

TASK
------------------------------
Format: MKV
Duration: 00:43:43:707 (62906)
VideoDecoder: FFmpegSource2
Resolution: 1916x1076 > 1920x1080
Aspect: 1.7807 > 1.7778
VCodecPreset: Custom
VEncodingMode: OnePass
VideoCodec: h264 > x264 (x64)
VideoBitrate: 4961 > 7000
Quality: 0.100 > 0.141
Framerate: 23.976
SourceType: PROGRESSIVE
FieldOrder: UNKNOWN

SCRIPT
------------------------------
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\FFMS2.dll")
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\FFMS2.avsi")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\NicAudio.dll")

FFmpegSource2("D:\123.1080p.mkv", rffmode=0, threads=1, cachefile="F:\Temp\123.1080p.mkv.ffindex").AssumeFPS(23.976)

ConvertToYV12()
#Mod16xMod8 protection
Lanczos4Resize(1920, 1072)

###[FILTERING]###
SetMemoryMax(6144)
cpu=8
mask=2
ml=2500
spar=20
pel=1
blkh=16
blkv=16
overlap=2
overlapv=2
multinum=12
multiden=5
setmtmode(2,cpu*2+4)
source = last
Width=source.width
Height=source.height
dist_h=int((0.01*spar*Width)/blkh)
dist_v=int((0.01*spar*Height)/blkv)
dist = dist_h>dist_v ? dist_h : dist_v
dist = dist>0 ? dist : 1
super=MSuper(pel=pel, hpad=blkh, vpad=blkv)
backward_vec1 = MAnalyse(super, isb=true, blksize=blkh*2, blksizev=blkv*2, overlap=overlap*2, overlapv=overlapv*2, searchparam=dist, plevel=2)
forward_vec1 = MAnalyse(super, isb=false, blksize=blkh*2, blksizev=blkv*2, overlap=overlap*2, overlapv=overlapv*2, searchparam=dist, plevel=2)
MFlowFps(super, backward_vec1, forward_vec1, num=FramerateNumerator(last)*multinum,den=FramerateDenominator(last)*multiden, mask=mask, ml=ml)
###[FILTERING]###

Lanczos4Resize(1920, 1080)



VIDEO ENCODING
------------------------------
Encoding video to: D:\123.mkv
x264 7000kbps 1920x1080 23.976fps (62906 frames)

avs4x264.exe: -L x264_64.exe --bitrate 7000 --preset medium --level 4.2 --deblock -2:-1 --psy-rd 1.00:0.20 --vbv-maxrate 50000 --vbv-bufsize 50000 --sar 1:1 --output "D:\123.mkv" "F:\Temp\0043.avs"

raw [info]: 1920x1080p 1:1 @ 35964/625 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
x264 [info]: profile High, level 4.2

Re: Кодирование в 60fps

- SetMemoryMax пернести в первую строку скрипта
- setmtmode перенести перед ConvertToYV12
- оба Lanczos4Resize убрать

потом померять через avs2avi еще раз

если не помогло, то заменить avisynth.dll на комплектный от SVP
можно просто положить его рядом с avs2avi.exe, и померять еще раз

Re: Кодирование в 60fps

Заработало!
Спасибо!
Подскажите, пожалуйста, какие параметры лучше:

SetMemoryMax(2048)
здесь SetMTMode(2, 0)

FFmpegSource2("D:\123.1080p.mkv", rffmode=0, threads=1, cachefile="F:\Temp\123.1080p.mkv.ffindex").AssumeFPS(23.976)

и здесь SetMTMode(2)

ConvertToYV12()

Re: Кодирование в 60fps

setmtmode(2,<кол-во потоков>) - один раз и после FFmpegSource2
перед фильтром источника лучше не надо

и пора уже перейти с mvtools2 на SVPflow wink будет еще быстрее и лучше...

Re: Кодирование в 60fps

а  в Xvid4PSP5 можно узнать чем оно пользуется?
там и mvtools2 и SVPflow в plugins есть.
Или может что другое посоветуете для конвертации?

Re: Кодирование в 60fps

Andrey Goncharov
там и mvtools2 и SVPflow в plugins есть.

в смысле?  hmm
приведенный здесь текст явно сгенерирован SVP 3.0.x
надо сделать такой же, но из SVP 3.1.6
или вместо всего этого текста вписать одну строчку Interframe

Re: Кодирование в 60fps

Весь этот скрипт сгенерирован Xvid4PSP5, и только то что между ###[FILTERING]###
я взял здесь http://svp-help.narod.ru/index.html?alg_mvflowfps2.htm
Вот где взять похожую разжеванную инструкцию, но для SVPflow?
Я не понимаю, как средствами SVP 3.1.6 можно перекодировать в файл. Проигрывать получается.

Re: Кодирование в 60fps

http://www.svp-team.com/wiki/SVP:%D0%9C … _параметры

Re: Кодирование в 60fps

А какой программой кодировать? Xvid4PSP5 получается устарела.
VirtualDub?

Re: Кодирование в 60fps

это не ко мне smile что там куда устарело я не знаю

19 (edited by Andrey Goncharov 13-10-2014 10:10:40)

Re: Кодирование в 60fps

Спасибо.

Re: Кодирование в 60fps

Еще раз здравствуйте!

Погонял не разных блюрей источниках скрипты и получилось, что скрипт из SVP с максимальными настройками значительно(визуальное по-кадровое сравнение) качественнее Interframe2. Interframe дает огромное количество артефактов по краям, вылезает "сетка". SVP в этом смысле идеален.

Кстати на Interframe2 в 3 раза быстрее проходит первый прогон кодирования x264 если использовать Avisynth+.
SVP шный скрипт Avisynth+ не переваривает.

Скорость перекодировки на SVP и Interframe примерно одинаковая при использовании avisynth 2604.

Использую MediaCoder Premium.

Re: Кодирование в 60fps

интерфрейм это просто SVP с другими параметрами
выставить одинковые параметры - работать будет одинаково

Re: Кодирование в 60fps

А версию Avisynth какую порекомендуете?
2.5.8.0 MT , 2.6.0.4 ?

Re: Кодирование в 60fps

2.6

Re: Кодирование в 60fps

Нужно ли после установки SVP 3.1.6 обновить файл svpflow2.dll версии 1.5.7.0 ?
В Interframe 2.6.0 файл svpflow2.dll версии 1.5.8.0.

На 1.5.7.0 Interframe у меня не хочет работать. Avsinput при начале кодирования ошибку выдает. Я сначала не мог понять почему вылетает ошибка.

Re: Кодирование в 60fps

Значит нужно smile