danielgtaylor / arista

Arista Transcoder
http://www.transcoder.org/
GNU Lesser General Public License v2.1
120 stars 19 forks source link

WebM presets should use two-pass encoding #90

Closed Hooloovoo closed 13 years ago

Hooloovoo commented 13 years ago

Two-pass encoding allows the encoder to scan the file first to find where the bits are best allocated for perceived quality. As Arista is aimed at transcoding in non-real time situations, it should use two-pass encoding to improve quality. This is slightly slower, but that should not be a problem in the normal use-case, where quality is more important than instant output.

http://www.webmproject.org/tools/encoder-parameters/#one-pass_vs_two-pass

The particular preset that I have looked at is Computer > WebM, though I assume that there are others such as Computer (Advanced) > WebM and Web > WebM.

Hooloovoo commented 13 years ago

It looks as though this needs the "multipass-mode" property: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-vp8enc.html I also saw this: https://github.com/danielgtaylor/arista/issues/77 which looks like it is only relevant for H.264.

danielgtaylor commented 13 years ago

While Arista supports multi-pass encoding I generally opt to not use it in favor of constant-quality encoding. That is, rather than target a specific bitrate we target a perceived quality factor and allow the bitrate to change to accommodate that quality. In practice this means we need only a single (slightly longer) pass and we don't have to sacrifice quality when the video is too complex, nor do we sacrifice space when the video is not complex.

Hooloovoo commented 13 years ago

Oh right, thanks--guess I'll leave it to the experts!