Log in

View Full Version : VC-1: capped VBR with 1 pass


mancubit
15th January 2009, 12:56
i tried a subset of the vc-1 encoders (i guess all where using the microsoft sdk) and i never managed to get a decent 1 pass capped VBR (most applications force you to do multipass - WMNicEnc lets you do it, but it looks more than bad).
Seems like there is some kind of "must" to do a multipass - thats bad, cause i need it for streaming - and wanted to avoid CBR.

anyone knows a solution to this?

Furiousflea
17th January 2009, 18:42
What you're asking for is pointless.

Streaming by nature is always most efficient as CBR profile and is targetted as such by the developer of any codec including vc1.

In so far as a peak 1 pass VBR I don't think you will ever get good results with such a thing. Quality based 1 pass is another matter and that should be easy enough to do. You select a value from 1-100 for the quality you want.

This is not suitable by nature for streaming though because of the large fluctuation in bit rate. Unless streaming over a very fast connection with mediocre quality\resolution.

Dark Shikari
17th January 2009, 18:43
In so far as a peak 1 pass VBR I don't think you will ever get good results with such a thing.x264 does it pretty decently and x264 doesn't even have a lookahead--the VC-1 encoder does.

It's certainly reasonably possible.

Capped VBR is probably optimal for streaming in the case that you both:

1. Have an absolute bandwidth limit (the peak), set probably by the user's connection.
2. Have a metered per-gigabyte bandwidth cost (such as from Amazon S3) where you want to limit bitrate overall.

In that case, capped VBR is superior to CBR.

benwaggoner
17th January 2009, 21:03
Capped VBR is probably optimal for streaming in the case that you both:

1. Have an absolute bandwidth limit (the peak), set probably by the user's connection.
2. Have a metered per-gigabyte bandwidth cost (such as from Amazon S3) where you want to limit bitrate overall.

In that case, capped VBR is superior to CBR.
Yeah. It's not that common, but we've seen VBR used for streaming somtimes, including in on really high proifle site I can think of. Of course, those use 2-pass VBR in VC-1, and so set an ABR and PBR, not a quality metric and PBR.

I can certainly imagine how we could do a 1-pass capped or rate-limited VBR, but it's not something we've had much demand for. Bear in mind that the analysis pass is quite a bit faster than the encoding pass; with highish-quality settings and when preprocesing isn't that intensive, the 1st pass may only be around 20% of the total encoding time. And 2-pass is really quite a bit better; if total encode time is the limitaiton, you'd generally get better quality doing a lower complexity 2-pass than a higher complexity 1-pass.

That said, if someone really wanted to do it, the VC-1 Encoder Enterprise SDK's segment reencoding could do it pretty easily. You'd encode the video is segments, set a target QP per chunk, and then reencode any chunks that exceeded the peak bitrate at a higher QP. Typically most parts of most videos are pretty easy, so it'd only be a small number of reencodes required. And if speed's an issue, that design is also highly parallizable.

That said, 2-pass VBR is there, quite fast, and well tested and tuned. I don't know that an alternative approach would be worth the effort in the end.

One bit of semi-relevent esoterica: note that Lookahead and 1-pass qualtiy VBR work together. The 1-pass mode does flash/fade detection, increasing efficiency and thus reducing file size a bit.

Randi
19th January 2009, 01:18
yeah we do it 2 pass capped vbr at http://videothek.vodafone.de (german video site like netflix)

CruNcher
19th January 2009, 01:27
http://videothek.vodafone.de <- hehe nice in 2009 still be forced to use Internet Explorer ;)

Randi
19th January 2009, 02:24
this was developed over a period of 14 months, when Silverlight 2 wasnt available yet. Tell me a way to enable drm licence predelivery without active X and you can have FF and Opera (you don't know how much I hated to make the decision for IE only, Im an opera user since 3.5) ==> there is none thats why you can do everything on the site except puchase and watch a movie with every browser and Silverlight plug-in (btw the mobile site works only within the VF DE network, dont get me started on content providers ;-) )
PS SL2 is coming, than you'll can use every SL2 capable browser

CruNcher
19th January 2009, 13:15
i prefer beamdvd www.beamdvd.de :) no thx for this low quality VOD from Vodafone

Randi
19th January 2009, 16:33
excuse me? low quality? have you tried the service at all? this is 1,6mbit 2 pass vbr vc1 from the master (not dvd), i'm quite critical about quality but its definitly dvd or higher quality

Dark Shikari
19th January 2009, 16:36
excuse me? low quality? have you tried the service at all? this is 1,6mbit 2 pass vbr vc1 from the master (not dvd), i'm quite critical about quality but its definitly dvd or higher quality1.6 megabit VC-1 is now sufficient to beat 6 megabit MPEG-2?

This is VC-1, not H.264.

Inventive Software
19th January 2009, 18:09
Even 1Mbit 2-pass VBR VC-1 for streaming should be able to whoop MPEG-2. :rolleyes:

Dark Shikari
19th January 2009, 18:19
Even 1Mbit 2-pass VBR VC-1 for streaming should be able to whoop MPEG-2. :rolleyes:I'm pretty sure even H.264 isn't 6 times better than MPEG-2, let alone VC-1.

benwaggoner
20th January 2009, 06:09
I'm pretty sure even H.264 isn't 6 times better than MPEG-2, let alone VC-1.
Maybe with DVD constraints? Half-second GOP? Although if this is PAL film source, they won't have interlacingto worry about.

Dark Shikari
20th January 2009, 06:11
Maybe with DVD constraints? Half-second GOP? Maybe, though most sources are grainy enough that the half-second GOP isn't an absolute compression killer.

Randi
9th February 2009, 18:22
we don't allow Interlaced for input, time to get rid of this s***. And we have 15-25mbit source files from the masters :-) (in EEv2SP1 everything to MAX)

benwaggoner
11th February 2009, 17:52
we don't allow Interlaced for input, time to get rid of this s***. And we have 15-25mbit source files from the masters :-) (in EEv2SP1 everything to MAX)
I'm of mixed mind on interlaced. On one hand, at moderate bitrates, encoding at 30i about 30% more efficient than encoding at 60p (when we want to preserve full motion). However, you're then reliant on having a good real-time bob deinterlacer in the player, which is something that can only be counted on for some devices. By doing a good software bob in advance, that 60p will definitely work.

For Silverlight, we made the call you suggested and dropped interlaced support. The performance hit of decoding and then doing a good deinterlace of 30i was going to be pretty high for a software-only player, plus leaving out all the interlaced code in the codec and the pipeline let us shrink down the installer a fair bit (we fight hard to keep it around 5 MB for quick installs).

Maybe we'd revisit once we can generally count on performant pixel shader support on our targeting platforms.

As much as I wish that interlaced was fading away on the authoring side, we still see a ton of high value content shot 480i or 1080i (sports, news, Comedy Central, MTV programming), so this is going to be a problem for at least five more years.