[FFmpeg-user] libvpx-vp9 not using all 4 real cores (no HT CPU) like libx264 does (in top: ~250% vs ~387%)
D
dcmhoybdpzkh at web.de
Thu Nov 26 19:06:59 CET 2015
Thanks. I added these options. However, I forgot to see and mention that
in both cases the output b.webm is corrupted.
ffmpeg's output file is not corrupted but the 4-core usage is only at
the mentioned ~250%.
So, yeah, vpxenc uses ~350% but file output is always corrupted and
ffmpeg uses only ~250% and file is not corrupted.
Another problem is the filesize:
Good -- 144MB: $ ./ffmpeg -i a.mp4 -c:v libvpx-vp9 -crf 23 -cpu-used 2
-threads 4 -c:a libvorbis a.webm
Bad -- 18.8MB: $ ./vpxenc a.mp4 -o a.webm --codec=vp9 -w 1920 -h 1080 -p
1 --cpu-used=2 --threads=4 --end-usage=vbr --end-usage=cq --cq-level=23
The output file was still corrupted when trying a different input file.
No problems using ffmpeg (except for the only ~250% 4-core usage of
course). So, there's this other new problem now.
Some of the settings I tried were from here:
http://www.webmproject.org/docs/encoder-parameters/ "10. Sample Command
Lines". You think they should be working. I tried e.g. adding and
removing "--i420" and "--yv12" both with "--codec=vp8" and "--codec=vp9"
and removing some of the other parameter but not a single $vpxenc
command produced a valid, non-corrupt, file.
---
Now same test with latest master:
$ make distclean
$ git pull
$ git checkout master
$ ./configure
$ make -j4
I did less tries this time because if it produced a corrupt file on the
first command, the same is going to happen with other commands.
Anyway this command e.g. did not work:
/libvpx$ ./vpxenc a.mp4 -o a.webm --codec=vp9 -w 1920 -h 1080 -p 1 -t 4
--good --cpu-used=2 --end-usage=vbr --end-usage=cq --cq-level=23
Don't know why it's not working. May someone post their working
commands. Or as already asked, see how much % top displays with the
ffmpeg commands in the first post (a >=4-core CPU is needed).
I'm not sure if VP9-v1.5 should not be more like VP9-v0.5-alpha.
On 26.11.2015 16:59, Moritz Barsnick wrote:
> On Thu, Nov 26, 2015 at 15:14:16 +0100, D wrote:
>> It seems that --cpu-used is a bit similar to the -crf option. And
> ffmpeg's "-crf" maps to vpxenc's "--cq-level=" and, in your use case,
> "--end-usage=cq".
>
> ffmpeg's "-cpu-used" maps to vpxenc's "--cpu-used".
>
> I think "-threads" maps directly.
>
> How do I know? I checked the source. ;-) If you use "-loglevel debug"
> to ffmpeg, the libvpx encoder will also dump quite a lot of information
> about the configuration it is using!
>
> Just to make sure you have comparable options...
>
> Moritz
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
More information about the ffmpeg-user
mailing list