View Full Version : Can't get multithreading with libvpx
ultron
7th February 2017, 23:07
I am trying to reencode a video with this command ffmpeg -i Roland\ Garros\ 2005\ -\ Rafael\ Nadal\ Vs\ Roger\ Federer.avi -c:v libvpx-vp9 -b:v 414K -threads 2 -speed 1 -tile-columns 2 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 -c:a copy out.mkv but get only single core use.
As far as I know, only tile-colums > 0 and -threads 1 are necessary. What's can be happening here? Thanks for any help.
mandarinka
8th February 2017, 00:34
I am trying to reencode a video with this command but get only single core use.
As far as I know, only tile-colums > 0 and -threads 1 are necessary. What's can be happening here? Thanks for any help.
To get libvpx to use 2 threads, you would need the resolution to be at least 1024 pixels horizontally. Your video might have lower resolution? Every thread needs at least 512 pixels. (Basically tile threading is a joke.)
ultron
10th February 2017, 02:11
To get libvpx to use 2 threads, you would need the resolution to be at least 1024 pixels horizontally. Your video might have lower resolution? Every thread needs at least 512 pixels. (Basically tile threading is a joke.)
It didn't. If I get a video larger than that, but rescale it to a lower resolution, will it work?
mandarinka
10th February 2017, 10:01
No, it depends on the resolution that is being encoded.
Your alternative is splitting the input video into parts, separately encode them in parallel using multiple instances of libvpx, and then joining the outputs together manually.
ultron
11th February 2017, 00:13
Very useful, thanks.
EDIT: Strange I did one more encoding just to test the resulting quality, and now I am getting the near 200% of cpu occupation that I expected, but the bitrate became insane, I send 777k and it is in this exact moment at about 5000kbps
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.