News:

--

Main Menu

VP8/WebM support?

Started by Bastian, October 24, 2012, 10:15:31 AM

Previous topic - Next topic

zenchip

Avidemux is an awesome program, it would be absolutely awesome if the developers would add WebM (or, well, VP8 / VP9) encoding.
ffmpeg can already to that so it should be able to implement this feature by using the open source code from the ffmpeg program.
There are many people uploading videos to Wikipedia, it would be really useful for them to be able to convert their .mp4 videos they get from their smarphones into .webm videos

Please implement this feature!
Thanks in advance

eumagga0x2a

FFmpeg uses just libvpx (which is an external library) to encode in VP9. It has its own internal decoder implementation, which is used by Avidemux.

The best way to add VP9 encoding capability to Avidemux is to submit a patch implementing a libvpx video encoder plugin.

Nintendo Maniac 64

#17
Apologies for grave-digging this thread but, now that Avidemux includes VP9 via libvpx encoding support, I was wanting to specifically use the older VP8 instead due to its substantially lesser CPU requirements specifically for a scenario that requires software-based video decoding.

...but interestingly, the GUI in Avidemux for libvpx does not let you specify if you want to use VP8 or VP9 and seems to just default to VP9 no matter what.

So yeah uh, can we have a GUI setting to select VP8 if we so desire?

eumagga0x2a

As VP8 is vastly inferior to VP9 and really sort of legacy, not very much relevant nowadays, no work was put into adding a VP8 encoder. It is not that the VP9 encoder plugin defaults to VP9, the architecture of Avidemux is one encoder plugin = one codec, even if partial code re-use is possible like between H.264 and HEVC NVENC encoders.

I greatly doubt in broad interest in a VP8 encoder. Well, I admit that still shipping a FLV1 encoder is weakly defendable from this point of view. However, the FLV1 encoder is merely a slim wrapper around already present libavcodec library while libvpx encoder, at least on some platforms, includes static libvpx library making plugin file itself huge.

That said: No, I don't think that VP8 encoder will be included into the official distribution.

Nintendo Maniac 64

#19
Quote from: eumagga0x2a on August 28, 2022, 09:20:49 PMNo, I don't think that VP8 encoder will be included into the official distribution.
That is unfortunate since even 8bit h.264 requires less CPU to decode in software than VP9 does, but required more than VP8.  In other words, the CPU usage for software decoding is VP8 < 8bit h.264 < VP9

This means that, if I want to encode VP8 via a more user-friendly GUI, I'll have to stick with using VirtualDub2 running through WINE on my Linux Mint installation which is obviously sub-optimal vs using native Avidemux, but I guess it's not quite as bad as things used to be in years gone by...

...either that, or using Xvid which, as you know, is also supported in Avidemux still despite possibly having even less of a use nowadays - at least VP8 is compatible in web browsers and cross-platform game-development software like Ren'py (which is roughly the use-case that I wanted to use VP8 for - not exactly, but it's similar).

Unfortunately, when I tried using Xvid for my use-case, it exhibited substantial frame-stuttering despite low CPU usage - issues that VP8 did not exhibit despite somewhat higher CPU usage (perhaps decoding Xvid, due to its substantial age, is only single-threaded and therefore was doing the issue of showing 25% total utilization on a 4-thread CPU across all 4 threads but in reality was pegging one thread to 100% with the other three at 0%?  At least VP8 decoding seems to handle multiple CPU threads pretty well).

eumagga0x2a

I've pushed a new branch which contains a libvpx-based VP8 encoder plugin in case you really need it. In build instructions, after changing directory to avidemux2,

git checkout vp8-encoder
then continue with git submodule.

Nintendo Maniac 64

#21
Can I just say, I keep running into "CleanTalk: *** 1 Antispam service cleantalk.org ***" errors when attempting to submit a post that's nothing but text?  I had to remove this line of text and the following line (the one beginning with "Anyway") in order to successfully post and then subsequently edit this post after-the-fact to re-add the text I had originally tried to post (including this very paragraph).


Anyway, honestly, I didn't expect anything to actually come out of my post, so this is a pleasant surprise!

I don't suppose this means that future official versions of Avidemux will also include this VP8 encoder plugin, or is this just specifically a special unofficial one-off branch?

eumagga0x2a

The latter. The only change outside of the newly added vp8 directory is trivial. Unless the encoder plugin interface changes, you can use the VP8 encoder plugin with future git master.