Zpomaluje zmenšování videa konverzi tak hodně?

uldrich

Zpomaluje zmenšování videa konverzi tak hodně?
« kdy: 17. 10. 2018, 10:06:53 »
Ahoj, dělám konverzi videa 60fps 2700x1500px z 60Mbps AVC do menšího AVC (kolem 10Mbps, něco jako constant rate factor s lookahead, ale díky HW enkodéru quicksync se to jmenuje LA_ICQ)
Kód: [Vybrat]
ffmpeg -i i.mp4 -c:a copy -c:v h264_qsv -look_ahead 1 -global_quality:v 38   ((( -s SIRKAxVYSKA ))) o.mkv

v tabulce je relativní rychlost encodingu vůči realtime pro dané velikosti
99%*99% (2680x1480) : 0.67x
bez změny:  0.97x
na1920x1080: 0.95x


Překvapila mě nízká rychlost konverze při resizování. Bez zmenšování (bez -s argumentu) to trvá stejně jako s plnou velikostí. Zatímco při zmenšení na FULHD (polovina pixelů !!!) je to na dvou třetinové rychlosti. .

Mám tedy otázku, zda zmenšování je tak náročné, že  při zanedbatelném změně velikosti neutralizuje a je to rázem pomalejší o třetinu. Zároveň změna na FHD (z 4 na 2 MP) už rychlost se vyváží.


A pak otázku, zda existuje nějaký způsob, jak v ffmpeg udělat zmenšení velikosti videa také hardwarově přes quicksync,, protože podle mě současný způsob -s je podobný jako -vf resize= a myslím, že provádí SW scaling.
Kód: [Vybrat]
vf 'format=nv12,hwupload,scale_vaapi=w=1920:h=1080'Hlásí mi to no such filter scale_vaapi , tak jsem našel, že se má použát scale_qsv, samotné mi to hlásí
Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
takže jsem zkoušel i předřadit format=nv12
Impossible to convert between the formats supported by the filter 'Parsed_format_0' and the filter 'auto_scaler_1'

nakonec jsem zkusil kombinaic i hwupload filtru
A hardware device reference is required to upload frames to.

Na nějakém fóru jsem našel, že se má na začátek příkazu dát zaklínadlo
 -init_hw_device qsv=qsv:MFX_IMPL_hw_any -hwaccel qsv

to ale ničemu nepomáhá
Kód: [Vybrat]
[hwupload @ 00000201590d6b00] A hardware device reference is required to upload frames to.
[Parsed_hwupload_1 @ 000002014d373280] Query format failed for 'Parsed_hwupload_1': Invalid argument
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0

verze ffmpeg je dnešní, OS WIndows, zeranoe build
« Poslední změna: 17. 10. 2018, 10:12:41 od Petr Krčmář »