Opened 6 years ago

Closed 5 years ago

#4025 closed defect (invalid)

Encoding speed of webm vp8 has declined signficantly

Reported by: dowdle Owned by:
Priority: minor Component: documentation
Version: git-master Keywords: libvpx
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


Summary of the bug: Encoding speed for webm (vp8/theora) with ffmpeg 2.1.5 was significantly faster than it is now in ffmpeg 2.3.4

How to reproduce:
I primarily use the ffmpeg packages provided by rpmfusion for Fedora. In Fedora 20 the ffmpeg version available through rpmfusion is 2.1.5. I recently installed Fedora 21 pre-beta and rpmfusion rawhide has ffmpeg 2.3.4. The encoding speed for webm (vp8/theora) videos is significantly different between the versions.

I also tried a static build of the contemporary release (ffmpeg-2.4.2-64bit-static.tar.xz) and discovered that it too is very slow when encoding webm (vp8/theora) videos.

In a related note, webm (vp9/opus) works much better in newer releases and I wanted to try that out as well... but I have to wonder if the addition of vp9/opus code has slowed down the encoding speed for vp8/theora?

Both Fedora 20 and 21 pre-beta are using libvpx-1.3.0.

Command lines given:

ffmpeg -y -i source.mp4 -f webm -b:v 800k -b:a 96k -ac 2 -sn output.webm

On a Dell Optiplex 9010 with an Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, I was getting about 80 FPS encoding with ffmpeg 2.1.5 but now with ffmpeg 2.3.4, I'm gettin about 20 FPS.

Change History (7)

comment:1 Changed 6 years ago by jamal

  • Component changed from undetermined to documentation
  • Keywords vpx added
  • Priority changed from normal to minor
  • Status changed from new to open

Looking at the history of libvpxenc.c, it seems the one of the default settings was changed starting with ffmpeg 2.2, commit 34e32d6464135a03da14d5b0aef1d42796939eae (Changing the speed/cpu-used setting from 3 to 1).

If you use the default settings (Like you're doing with the command line example you gave above) then it will of course be slower now since we default to a slower but higher quality encoding setting.

For an approximation of the old behavior back try running something like "ffmpeg -y -i source.mp4 -f webm -cpu-used 3 -b:v 800k -b:a 96k -ac 2 -sn output.webm".

comment:2 follow-up: Changed 6 years ago by cehoyos

  • Keywords libvpx added; vpx removed
  • Version changed from unspecified to git-master

I still wonder how this ticket is related to theora...

comment:3 in reply to: ↑ 2 Changed 6 years ago by jamal

  • Summary changed from Encoding speed of webm (vp8/theora) has declined signficantly to Encoding speed of webm vp8 has declined signficantly

Replying to cehoyos:

I still wonder how this ticket is related to theora...

It isn't. dowdle most likely meant to say vorbis.

comment:4 Changed 6 years ago by dowdle

Yes, I confused the two. Sorry.

So, can anyone confirm the significant reduction in encoding speeds? It is very consistent for me on multiple machines with the same source material.

comment:5 Changed 6 years ago by cehoyos

You can confirm it yourself, just follow the link above: The default was changed to higher quality / slower speed, just increase the speed with -speed 3 to get the old behaviour (that was not documented afaict).

comment:6 Changed 6 years ago by dowdle

DUH, somehow I overlooked the answer provided. Thanks!

comment:7 Changed 5 years ago by richardpl

  • Resolution set to invalid
  • Status changed from open to closed
Note: See TracTickets for help on using tickets.