FFmpeg - Convert MP4 to Webm very slow
Asked Answered
S

1

12

I need convert MP4 to webm with ffmpeg. So, i use :

ffmpeg -i input.mp4 -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis output.webm

But it's very long.

Is there faster ?

Sparkman answered 25/4, 2017 at 13:43 Comment(3)
What is the length of your mp4 video?Cowpea
Between 100Mo and 1000MoSparkman
Related: askubuntu.com/questions/270625/…Welterweight
D
11

libvpx is a relatively slow encoder. According to the VP8 Encode Parameter Guide: Encode Quality vs. Speed, you can use the -cpu-used option to increase encoding speed. A higher value results in faster encoding but lower quality:

Setting a value of 0 will give the best quality output but is extremely slow. Using 1 (default) or 2 will give further significant boosts to encode speed, but will start to have a more noticeable impact on quality and may also start to effect the accuracy of the data rate control. Setting a value of 4 or 5 will turn off "rate distortion optimisation" which has a big impact on quality, but also greatly speeds up the encoder.

Alternatively, it appears that VA-API can be utilized for hardware accelerated VP8 encoding, but I have no experience with this.

Dibromide answered 26/4, 2017 at 6:6 Comment(5)
Ok, thanks ! But is there no an other encoder that libvpx ? A faster encoder ?Sparkman
@Sparkman For VP8, I'm guessing your choices are libvpx or VA-API.Dibromide
@LordNeckbeard , I am facing an issue with stopping video recording with ffmpeg. I saw this answer [askubuntu.com/questions/436956/… for stopping after a peiod of time, and It worked fine . But I want to stop the recording after a button click . How can I do this? Please helpCislunar
@Cislunar Use the button to issue kill <ffmpeg pid>. For related info see Is there a way to pause and resume FFmpeg encoding? I'm assuming you're using Linux since you didn't specify. If it's another OS you should ask a new question at Super User (or Stack Overflow if the question involves programming).Dibromide
@LordNeckbeard ya I am using Linux, I could'nt get the process id using pgrep ffmpeg command, So I coudnt kill that process.Cislunar

© 2022 - 2024 — McMap. All rights reserved.