Nevermind, libx264 isn't doing much better:

ffmpeg-git-20151124-64bit-static$ time ./ffmpeg -i a.mp4 -c:v libx264 -crf 23 -threads 1 -c:a libvorbis b.mp4
real    9m14.621s

ffmpeg-git-20151124-64bit-static$ time ./ffmpeg -i a.mp4 -c:v libx264 -crf 23 -threads 2 -c:a libvorbis b.mp4
real    4m50.477s
(up to here it scales well)

ffmpeg-git-20151124-64bit-static$ time ./ffmpeg -i a.mp4 -c:v libx264 -crf 23 -threads 3 -c:a libvorbis b.mp4
real    3m44.058s

ffmpeg-git-20151124-64bit-static$ time ./ffmpeg -i a.mp4 -c:v libx264 -crf 23 -threads 4 -c:a libvorbis b.mp4
real    3m22.623s

You can at least reply how your system performs using >=4 real cores.

On 26.11.2015 19:06, D wrote:
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
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


_______________________________________________
ffmpeg-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Reply via email to