Handbrake: Feature request: WebM support

Created on 10 Nov 2016  路  25Comments  路  Source: HandBrake/HandBrake

Hi,

can you please add WebM support to Handbrake:

https://en.wikipedia.org/wiki/WebM

?

It would be really helpful for encoding HTML5 videos.

Handbrake already is able to encode the corresponding bitstreams (VP9/VP8/Opus/Vorbis), so Handbrake would only need to be able to mux it into a WebM container.

So, could you please add WebM support?

Regards

Enhancement

Most helpful comment

Added in d0e37ca0d75fbcef5bdf47aafe8543e262314ec5

All 25 comments

I don't believe this is currently on our radar. In the meantime, feel free to remux MKV to WebM.

@bradleysepos :

May I ask why not? Would it be very difficult to implement this?

Obviously this should be possible via FFmpeg, see:

http://www.webmproject.org/tools/

?

It's possible via Libav (which we use instead of FFmpeg), and we have discussed it in the past. No decisions have been made and we have other higher priority issues at the moment, like getting 1.0.0 out the door.

Thanks for the request, I've marked it as an enhancement. If we decide to implement it and have an ETA, one of us will update the issue here.

WebM only allows vp8, vp9, opus, and vorbis codecs. It also does not allow chapters, tags, or attachments. It would not be hard to add a WebM muxer, but there is much more to do than just adding a muxer. We would have to disable many things in the UI when the WebM container is selected. We already do similar things for mp4 since it also doesn't support many features. But it's a task that takes time. None of us use WebM, so it's not at the top of anyones todo list.

This is a case where I would usually say "patches welcome". But the amount of work to do in 3 GUIs written in 3 different frameworks is non-trivial and requires expertise that few people have. I could not do this task alone and would have to rely on the other 2 GUI developers to assist with the work. So if we want this as part of HandBrake, we are just going to have to schedule it in at some point I think.

That's basically the reason we rejected this request several times before on the forums. I'm not inclined to change that stance.

@sr55 wrote:
That's basically the reason

Did you reply to me with this (AV1 release) or did you reply to @jstebbins with this (GUI changes)?

Johns comment.

WebM apparently would also be _required_ for the hopefully soon to be finished AV1 from the Alliance for Open Media

It is incorrect to say that AV1 "requires" WebM. AV1 is a codec, it doesn't require a specific container. WebM will _permit_ AV1, but AV1 does not require WebM.

can you please add WebM support to Handbrake:

+1

+1

+1

Go to the top of this page. Look on the right hand side where it says "Labels". Click on the blue "Enhancement" button. You'll get a list of 4 pages of other things people want.

My point? There are basically 4 active developers on HandBrake right now. And when I say active I mean a developer that spends a few hours a week on HandBrake related business. We don't have the bandwidth to do all these things in any reasonable time frame. Adding a "+1" isn't going to make this happen any faster. If this feature is important to you, consider helping us with a patch. If you're not a software developer, see if you can find a friend that is and would be willing to help.

The "+1" is noise. You are wasting more of our time by filling our mailboxes with this noise. Please stop. We know WebM is important to many people. But the 95 other enhancements in our list are just as important to other people. And that doesn't include the even more important bug reports that we have to stay on top of.

@jstebbins I very much apologize for this. In another repo developers told to prioritize feature requests this way and so I thought this is somehow a common way. Sorry again and thank you for handbrake!

No problem. I just wanted to make clear the potential impact this has on us. If everyone did this, we would have to clear literally hundreds of "+1" emails from our inboxes every day. So we discourage it.

For those of you looking for WebM support, there are similar utilities, like WebMConverter and Xmedia Recode, already extant and maintained. Though with WebM's prevalence increasing and AV1 on the horizon, I can only really imagine this will keep getting brought up anyways. I stumbled on this issue trying to figure out why Handbrake _doesn't support_ WebM actually.

WebM's here to stay, unlike its ill-fated cousin WebP. Hopefully you'll revisit this enhancement when AV1 comes out considering the interest, but it's understandable that it isn't an immediate concern. Still, it would probably be a mistake to ignore the interest, even if there's a more crucial work to be done ahead of it.

Any updates?

No. This is not being worked on as there isn't any developer interest.

+1... For how informative this is. Not in requesting this feature. But the honesty. So why doesn't anyone wanting this feature fork this project and give it a try? You don't have to be a developer. But you might end up as one. Also, who but developers log into GitHub?

This would be a nice feature to have, given the coming support for AV1 in web browsers.

+1... For how informative this is. Not in requesting this feature. But the honesty. So why doesn't anyone wanting this feature fork this project and give it a try? You don't have to be a developer. But you might end up as one. Also, who but developers log into GitHub?

I'm interesting also. Maybe somebody could put a little bounty on it (via https://www.bountysource.com/ for example)

For the lazy, this is how you do it per the maintainers' suggestion with minimal heartache.

  1. Use Handbrake normally as you would for your final .webm file, be that VP8 or VP9 or whatever (Matroska MKV presets)
  2. Download the Windows ffmpeg binary, and plug this into Command Prompt to remux into webm:
> ffmpeg.exe -i handbrake_output.mkv -c copy output.webm

Good recommendation @The-Phi. I've added the bounty entry here: https://www.bountysource.com/issues/39129417-feature-request-webm-support

I'm giving WebM support a stab. I've gotten the UI elements to be disabled and now am embarking on the actual remuxing.

Wouldn't mind a few bucks chucked towards the bounty, especially if I fail and someone more experienced in this work picks up the gauntlet.

I would like to point something out that may not be obvious. If it were not for 2 poorly thought out sentences in the webm spec, none of this would be necessary. mkv == webm with features removed/disabled if it were not for these 2 lines.
Muxers should treat all guidelines marked SHOULD in this section as MUST.
The demuxer MUST only open webm DocType files.

If you were to encode a file with HandBrake, include only VP9 and Opus audio. Then edit the file with a hex editor to change the DocType from 'mkv' to 'webm', you would have a file that plays with a webm demuxer/player. But because of how they wrote the spec, HandBrakes output isn't "valid webm".

I don't know why they would do something like this. Maybe they plan to make future incompatible changes with Matroska. But to me it seems more likely it was more politically motivated and part of the "grand plan" to push an open video standard. Because every existing matroska muxer and demuxer would have worked just fine if they had not done this.

Added in d0e37ca0d75fbcef5bdf47aafe8543e262314ec5

Was this page helpful?
0 / 5 - 0 ratings

Related issues

miopad picture miopad  路  6Comments

alanorth picture alanorth  路  6Comments

d4rkne55 picture d4rkne55  路  5Comments

jeremymeyers picture jeremymeyers  路  4Comments

NiklasBr picture NiklasBr  路  3Comments