A Faster AVC Encoder?

musicvid10 schrieb am 22.05.2009 um 00:05 Uhr
Having made DVDs of several performances over the years, I am wanting to store a few on my laptop.

I can save over half the storage space by encoding to AVC MP4 at 2Mbs. The quality at this bitrate is quite acceptable for playback on my laptop.

Problem is, every encoder I've tried is slow as snails. Super seems to be a little faster than MainConcept, Handbrake maybe about the same, but is there another one that stands out as being faster than the rest? Or am I stuck with five-hour renders to get the quality vs. compression advantage that AVC offers?

Kommentare

Hulk schrieb am 22.05.2009 um 01:42 Uhr
You could frame serve to Nero Recode 3. With my C2D at 3.2GHz I can do very high quality 2-pass AVC encoding (SD mind you) faster than real time.

I haven't found a need to frame serve though since the Mainconcept 2-pass AVC encoder in Vegas is pretty good quality and quite fast.

What are your system specs?

- Mark
musicvid10 schrieb am 22.05.2009 um 01:56 Uhr
I'm anti-nero since it took down my XP desktop.

I'm interested in rendering from DVD compliant MPEG-2 to MP4 on my Vista 32 laptop, 2GB, 1.86 Core 2 Duo.

Running some speed tests now with the renderers I have.

musicvid10 schrieb am 22.05.2009 um 03:54 Uhr
After (very) preliminary tests, it looks like x264 is my friend.
More to come.
John_Cline schrieb am 22.05.2009 um 04:00 Uhr
If you have a recent nVidia card (8000 series and up) you can use the BadaBoom H264 encoder, it is blazingly fast. Right this moment, I am using it to encode 2 hours of HDV material to MP4 and it's doing it at 80 frames per second. Taking a DVD and encoding it, I get close to 200 frames per second. It's $30, download the trial:

http://www.badaboomit.com

It uses the video card's GPU instead of the computers CPU. I just looked at Task Manager while BadaBoom is encoding and the CPU usage is hovering around 6%.
musicvid10 schrieb am 22.05.2009 um 04:16 Uhr
John,
Thanks. I've a Nvidia 8300 on my desktop, which has a pitifully slow CPU.
I'll try the trial tomorrow, and report back.
Thanks for the suggestion.
Streamworks Audio schrieb am 22.05.2009 um 04:22 Uhr
My fav for AVC is x264, I find it provide a better picture overall esp for dual (or triple) pass encoding. There are a number of GUIs for x264, for this I find MeGui a gem as it can do more than just encode - it does audio, batch jobs, muxing, HD Stream extraction etc.

Just my 2 cents.
Chris
musicvid10 schrieb am 22.05.2009 um 04:30 Uhr
Thanks Chris,
I'm finding that the performance of x264 varies with the GUI. This may sound strange, but I bet a lot of it depends on how the interface is passing the CLI parameters.
Tried Super, Handbrake, and am going to re-install ffdshow.

I'll try your suggestion, which sounds promising, and get back to you.
NickHope schrieb am 22.05.2009 um 07:08 Uhr
Another vote here for x264 inside MeGui. Zillions of templates in Megui to balance your quality vs your speed, although working out which template to choose (and how to customise it) is rather daunting. Plus there's a learning curve with AVISynth if you want to do some pre-processing.

The developers of x264 are doom9heads who are absolutely passionate about the quality of this codec.

Now all we need is for Debugmode Frameserver to work in V9 so we can pass video straight into it from Vegas.

Megui hint: Nero AAC: NDAAC-HE-64Kbps gives very nice AAC audio to stuff in your MP4 along with your x264 video. You'll need to download the Nero AAC codec separately from MeGui though.
musicvid10 schrieb am 22.05.2009 um 14:22 Uhr
Still trying to wrap my head around MeGUI. I'll get it though.
Could someone give me the most basic workflow to:
1) Open an existing MPEG-2 (7198 kbs) with AC-3 384kbs audio; and,
2) Render straight to x264 MP4 2Mbs, 1-pass VBR, with audio unchanged.

This would help get me started. I'm not doing something right, because it ends up creating many files I don't need.

EDIT: Found the guide at http://forum.doom9.org/showthread.php?t=112496
So far, Handbrake wins the speed test. More to come.
musicvid10 schrieb am 23.05.2009 um 04:06 Uhr
Well, the winner is (drum roll please), Handbrake.
Although that is where I was when I started my search for a faster solution, it turns out to be the fastest x264 interface, and the GUI is most convenient for the kind of work I do.

However, a five hour render of a two hour SD project on a dual core machine indicates just how much work remains to be done with AVC encoders.
Streamworks Audio schrieb am 23.05.2009 um 04:09 Uhr
That does not sound right. I can do a dual pass AVC encoding of DVD film material around 60fps - so roughly a 2 hour source would be 2 hours to render (dual pass) with my Core 2 Quad @ 2.2ghz


Chris
farss schrieb am 23.05.2009 um 04:14 Uhr
Why do you assume the problem lies with the AVC Encoders?
The only valid comparison would come from comparing the render time for the same project to DV. I've had a 2 hour DV project take 5 hours to render to DV.

Bob.
musicvid10 schrieb am 23.05.2009 um 04:15 Uhr
I'm getting 19 fps average, but it's a 1.86 dual core, not a quad.

BTW, both cores are pegged, and doing the same in Vegas with Mainconcept is 7.5 hours.

My output is 2Mbs, 2-pass, progressive, with 384kbs AC-3 stereo.
musicvid10 schrieb am 23.05.2009 um 04:17 Uhr
Bob, I misstated. I'm not rendering a Vegas project, but already-rendered vob files.
John_Cline schrieb am 23.05.2009 um 04:54 Uhr
"Well, the winner is (drum roll please), Handbrake."

Did you try BadaBoom?
musicvid10 schrieb am 23.05.2009 um 04:59 Uhr
Wanted to John, but I discovered my video card is a 7000 series which doesn't support it.
:-(
NickHope schrieb am 24.05.2009 um 04:21 Uhr
Musicvid I'm not surprised you opted for something a little simpler than Megui. It's quite involved and easy to get something wrong if you're not encoding regularly with it.

Badaboom requires a CUDA-enabled NVIDIA GPU. Looks like my laptop's Quadro FX1500M card is supported. It's pretty cheap too ($29.99 direct from Nvidia). I'll definitely give the trial a go when I do my next round of H.264 encodes.

It would be interesting to see how acceleration with Badaboom compares to a SpursEngine-accelerated encode in terms of speed and quality.
musicvid10 schrieb am 24.05.2009 um 04:35 Uhr
Musicvid I'm not surprised you opted for something a little simpler than Megui.
That's part of it. I will play with it when I'm not looking for a Phd (Push here, dummy) approach.

The other half of it is, MeGUI is fully 20% slower on a 2-pass VBR encode at 2Mbs, and I quite honestly can't tell any difference in quality, except HB's Decomb filter is superior to the options I found in MeGUI. The other thing I noticed is the large number of files it creates to generate one mp4.
NickHope schrieb am 24.05.2009 um 05:21 Uhr
The releases of x264 vary a little in encoding speed also as they tweak parameters. It seems quality is their priority over speed. The x264 in Handbrake is a few months older than the one that your Megui will have downloaded, but the quality differences are probably negligible.

It sounds like you're going from interlaced MPEG2 to progressive MPEG4 without changing the resolution. Is that right? I'm just wondering whether you should be leaving it as interlaced if this is for archive purposes. Software players may be able to deinterlace during playback (some certainly can with DVD-compliant MPEG2), and if it's standard size MPEG4 video, many other devices might make a better job of deinterlacing that you can with deinterlace or decomb filters. Just a thought.

I've never tried a decomb filter for web encodes. Maybe I should try one for my higher-res encodes as there's usually not much motion in my underwater footage. Thus far I generally do a tdeint deinterlace and a Lanczos resize in AVISynth en route from Vegas to Megui. Here's the simple AVIsynth script i use when encoding for the net (in this case to 720p from 1080i):

AviSource("d:\fs.avi")
ConvertToYV12()
TDeint(order=1)
LanczosResize(1280,720)

musicvid10 schrieb am 24.05.2009 um 06:31 Uhr
It sounds like you're going from interlaced MPEG2 to progressive MPEG4 without changing the resolution. Is that right?
-- Right.

I'm just wondering whether you should be leaving it as interlaced if this is for archive purposes.
-- Nope, just local playback on my laptop and encoding for youtube. Almost all of my source is mpeg-2 prepped for DVD, and some vro files from my set-top recorder. All about the same starting point (interlaced mpeg-2 with ac-3 audio), and in the 5-8 Mbs range.

Software players may be able to deinterlace during playback (some certainly can with DVD-compliant MPEG2), and if it's standard size MPEG4 video, many other devices might make a better job of deinterlacing that you can with deinterlace or decomb filters.
-- The player deinterlace filters all soften the image, even on VLC, which has the most deinterlace choices I know of in a player. Windows Media Player is about the mushiest (with mpeg-2). Standard encoder-based deinterlacers also do a lot of extra work that blur or blend fields when it's not needed, like when there are no edges and no movement. This likewise degrades sharpness and detail.

Having discovered the decomb filter in HB (the usual deinterlace options are still there too), it seems to act more like a refined version of Donald Graft's smart-bob filter, blending only the edges and high-motion areas and leaving the rest alone. So the drummer looks right and so do the faces in the audience. Only problem I've noticed is some zebra-teeth in a couple of smiles.

In any case, the tests I've run this week shows it stands out above any encoder- or player- based deinterlacer I've tried so far. Most of them just blend fields.

I'll post some fair comparison tests when I get a chance, but for the current project (ten years worth of local productions), the thing that's got me the most is the rendering time on my slow computers. I just can't justify an i7 yet for personal projects. And yes, I realize that any decomb / deinterlace filter adds to the rendering time.

NickHope schrieb am 24.05.2009 um 06:41 Uhr
Interesting. Did you stick with the default decomb settings or change them? Can you batch-encode in Handbrake?
musicvid10 schrieb am 24.05.2009 um 06:48 Uhr
Did you stick with the default decomb settings or change them?
There's just a checkbox in the GUI and you can change the default settings in the Options. You can also change any and all CLI commands in HB's terminal editor, but I haven't done either.

Interesting reading: http://trac.handbrake.fr/wiki/Decomb

Can you batch-encode in Handbrake?
Yes, you just add projects to a Queue list as you go.

One thing that attracted me is the ability to preserve / edit DVD chapters in HB. You just save as .m4v rather than .mp4

I dug out my test render times on a 5 minute mpeg-2. Rendered 2Mbs AVC, 2-pass VBR, AC-3 stereo, same resolution, without deinterlacing. Handbrake took 5-1/2 minutes, MeGUI and MainConcept both took about 7-1/2 minutes, and Super was something like 11 minutes.
John_Cline schrieb am 24.05.2009 um 20:35 Uhr
I just ran across an interesting piece of software... it's a fully CUDA-enabled video editor.

Super LoiLoScope MARS Video Editor

nVidia LoiLoScope Press Release

The GUI looks like a toy, but it features:

GPU accelerated H.264 encoding

Movie output up to 10x faster with NVIDIA CUDA™ enabled GPUs

Editing & playback of AVCHD HD movies at full HD resolution (1920x1080)

Magnet output which enables output of multiple movies at once

A simple new interface for saved projects

Faster image editing

A Search button for original files of thumbnails

Support for MP4, iPod, PSP, AVCHD, mp4 for Blu-ray, and Youtube HD movie formats
musicvid10 schrieb am 25.05.2009 um 15:31 Uhr
We need something like this for Windows:
http://www.elgato.com/elgato/na/mainmenu/products/Turbo264HD/product1.en.html