FFMPEG slow VP8 encoding

I am trying to encode video from my webcam in VP8 stream. Sending a WebRTC stream from my webcam using Chrome looks pretty good and doesn't use up a lot of CPU power. When I try to transcode a webcam stream to VP8 (webm) using FFMPEG it is very, very slow.

On OS X, I use the following FFMPEG parameters to create a VP8 web file. Source - 720p Facetime webcam. This is draining my cpu usage (end of I quarter I7 MBP) and the quality is not very good:

ffmpeg -f avfoundation -i 'default' -y -qmin 11 -qmax 45 -b:v 500k -cpu-used 0 -deadline realtime test.webm

      

What protocol is used for WebRTC and how can Chrome be so fast? I was under the impression that VP8 could not be done in hardware. Using modern Intel processors you can use QuickSync, but I think this is H.264 only and not supported by FFMPEG.

+3


source to share


1 answer


This is actually normal. At the moment, the WebM Project is still relatively small, with the only primary adopter being the Google YouTube Streaming Service.

WebM encoding [using the VP8 codec] is extremely slow, but somehow the newer VP9 codec is even more difficult on consumer machines. It doesn't seem like a big deal for the huge Google servers, but the main advantage of WebM video [its highly efficient compression] is its drop for casual users.

From the WebM Project site:



WebM video encoding seems to be very slow. What are you doing about this?

VP8 encoding in "best quality" mode is the slowest configuration today. > Using "good quality" mode with a speed setting between 0 and 5 will> provide a range of speeds. We believe we can make significant improvements to VP8> speed, especially with your help. We increased the overall performance of the VP8 decoder> by ~ 28% in the October 2010 release of "Aylesbury" and are focusing on improving the encoding speed for our next named version.

Hope this helps!

+2


source







All Articles