Compessing to H264 in virtual dub mod...

If you have questions about compression/encoding/converting look here.
Locked
User avatar
Kariudo
Twilight prince
Joined: Fri Jul 15, 2005 11:08 pm
Status: 1924 bots banned and counting!
Location: Los taquitos unidos
Contact:
Org Profile

Post by Kariudo » Wed Nov 28, 2007 2:40 pm

I know I've run into that error before, but I don't know how I got around it (using XP instead of Vista)

you say 2.5, but is it 2.5.6 or 2.5.7 or something else?
some people have had issues with 2.5.7, but 2.5.6 and 2.5.7 have worked fine for me in meGUI (as has the multi-thread capable version of 2.5.7)

maybe try uninstalling and creating a new folder to hold all the meGUI files, then reinstall in that folder
Image
Image

User avatar
Zero1
Joined: Fri Jan 02, 2004 12:51 pm
Location: Sheffield, United Kingdom
Contact:
Org Profile

Post by Zero1 » Sun Dec 02, 2007 7:44 am

Do not use H.264 in AVI. It's not supported.

As for getting Zarx's program to work in Vista, you need to manually edit the command line (MP4box has a default behaviour for temp files but it doesn't work the same in Vista).

You need to add -tmp and the directory after in the mp4box command line, so for example it might look like:
-tmp "C:\temp"

The full command line might be:
mp4box.exe -add "C:\video.264" -add "C:\audio.aac" -tmp "C:\temp" "C:\output.mp4"

Obviously amend the file paths to whatever you need, and just double check the syntax as I'm just working from memory here (haven't encoded in 3+ months)

User avatar
post-it
Joined: Wed Jul 17, 2002 5:21 am
Status: Hunting Tanks
Location: Chilliwack - Fishing
Org Profile

Post by post-it » Wed Dec 05, 2007 4:11 am

Zero1 wrote:.. The full command line might be:
mp4box.exe -add "C:\video.264" -add "C:\audio.aac" -tmp "C:\temp" "C:\output.mp4" ..
T_T .. too easy! >_<

User avatar
Scott Green
Greenwhore
Joined: Thu Mar 23, 2006 1:25 pm
Status: The Dark Tower
Location: Austria
Org Profile

Re: Compessing to H264 in virtual dub mod...

Post by Scott Green » Wed Dec 05, 2007 4:58 am

narutoball wrote:i just want to encode in smexy ass h264 ;_;
So this is how I do it, looks great, check mah videos =P
I don't know all of what is standing in the scripts :O, maybe someone can enlighten me ;O

Well here goes


First download this
http://www.sendspace.com/file/jubdp5 ----> tools for making mp4
http://mirror05.x264.nl/Cef/force.php?f ... -brdo.diff ---> plug-in for making it smoother :O

Extract it in any folder you please

Image

1st step - Video Encode
Now create an .txt file

Image

Write this code into the txt

Code: Select all

x264.exe --crf 20 --ref 8 --mixed-refs --bframes 3 --b-pyramid --b-rdo --bime --weightb --direct auto --filter 1,1 --subme 6 --analyse p8x8,b8x8,i4x4,i8x8 --8x8dct --me umh --merange 12 --threads auto --thread-input --progress --no-psnr --no-ssim --fps 25 --aq-strength 0.4 --aq-sensitivity 12 --output test20.mp4 "lossless.avs" 
PAUSE 
END 
Important is the fps rate (depends on your lossless)
Do not change the name of "test20.mp4" or else it won't work
crf = compressin rate
If your number is higher here then ----> lower filesize, lower quality
you should be fine between 18 or 22, depends on the effects you use
You can also write i.E.: "-bitrate 2000" if you wanna have constant bitrate
If you have good hardware you can change the number at bframes to 5, but be warned it suckes on hardware resources, but the encode process is faster

Now rename the .txt into .bat

Image

Either you have your lossless.avs in the same folder as the script up there or you write the path into the script

avs. script Code:

Code: Select all

avisource("D:\Projekte\project.gateway\Sequenz 01.avi") 
converttoyv12 
#lanczosresize(848,480)
Image

Important: converttoyv12 - is needed for making mp4
width and height has to be a multiple of 16 or else compression will suffer
iim using 848x480 for widescreen
and 640x480 for 4:3


Now execute the .bat (doubleklick) and an MS Dos window will show you the encoding progress
Now you have an MP4 without audio

You can skip the next step if you wanna use an mp3 as ausio, but I suggest you should make an AAC+ out of your .wav
just better quality then mp3
----------------------------------------------------------------------------
2nd step - Audio Encode

Image

Make another .txt and write following code into it:

Code: Select all

neroAacEnc -cbr 192 -q 1 -if audio.wav -of audio.mp4
cbr = kbps decide yourself
You need a .wav file as source either in the same folder or the path is written in the script above
Now rename .txt into .bat and execute it
Now you have your audio in mp4

Image
----------------------------------------------------------------------------
Last step - Mux MP4

New .txt with script

Code: Select all

MP4Box.exe -add "test20.mp4#video" -fps 25 -add "Audio.mp4" "Done Video.mp4" 
PAUSE 
EXIT 
Important fps :O
Either you have both files in the same folder or you write the path in the script
If you have an Mp3 just change it in the script

Code: Select all

MP4Box.exe -add "test20.mp4#video" -fps 25 -add "Audio.[b]mp3[/b]" "Done Video.mp4" 
PAUSE 
EXIT 
Again rename into .bat and execute it

Image

And Important
Don't try to overwrite an already existing file, it may happen that a .bat file will try to mux it together, always delete the files before you encode them(test20.mp4; audio.mp4; Done Video.mp4 ---> here in this guide)
----------------------------------------------------
Well I'm no pro in this stuff, it's just something I gathered when I was lurking around in some forums and asking some people :O

User avatar
Qyot27
Surreptitious fluffy bunny
Joined: Fri Aug 30, 2002 12:08 pm
Status: Creepin' between the bullfrogs
Location: St. Pete, FL
Contact:
Org Profile

Re: Compessing to H264 in virtual dub mod...

Post by Qyot27 » Wed Dec 05, 2007 7:56 am

Scott Green wrote:You can skip the next step if you wanna use an mp3 as ausio, but I suggest you should make an AAC+ out of your .wav
just better quality then mp3
No, HE-AAC will not do that - it isn't meant for high bitrates, and in actuality will degrade quality due to how it processes the sound. It's only meant for streams below ~80kbps, above that range it becomes worthless. It only helps improve quality when the bitrate is constrained, i.e. at low bitrates. This is because it halves the frequency of the audio stream and uses SBR to attempt to replicate what was lost - compared to a typical-bitrate (128kbps and above) Low Complexity AAC stream, properly encoded HE-AAC sounds worse. Unless you do web streaming or the audio has a much larger proportion of speech (like a fansub would have) that would be likely to get stored at low bitrates, there isn't a reason to use HE-AAC, especially for AMVs. 'High Efficiency' does not mean 'high precision' or 'higher quality' - it's a misnomer, and claims of higher quality with it are only applicable in specific, qualified circumstances.

Besides, the command-line you supplied to neroAACenc doesn't result in a High Efficiency stream, even though dBPowerAMP's context popups erroneously display it as such. Methinks Nero's encoder writes something wrong in the container which makes it misreport the situation (CoreAAC and MP4Box report it properly as a Low Complexity stream).

User avatar
Scott Green
Greenwhore
Joined: Thu Mar 23, 2006 1:25 pm
Status: The Dark Tower
Location: Austria
Org Profile

Re: Compessing to H264 in virtual dub mod...

Post by Scott Green » Wed Dec 05, 2007 8:09 am

:O
i didn't know that
Qyot27 wrote:there isn't a reason to use HE-AAC, especially for AMVs. 'High Efficiency' does not mean 'high precision' or 'higher quality' - it's a misnomer, and claims of higher quality with it are only applicable in specific, qualified circumstances.
So you mean mp3 (lame) is better to use with AMVs then AAC??

User avatar
Bauzi
Joined: Fri May 21, 2004 12:48 pm
Status: Under High Voltage
Location: Austria (uhm the other country without kangaroos^^)
Contact:
Org Profile

Post by Bauzi » Wed Dec 05, 2007 9:45 am

I´m really confused Qyot27´s post. Do you mean with HE-AAC: AAC+?
I thought that AAC+ is everything you encode out with NeroAACenc. I know hev2 for low bitrates and I also used it with succes in my trailer amv (there wasn´t really music in the trailer, just speech and sound). I thought that AAC was jsut a form of older version of it.
.-.
You can find me on YT under "Bauzi514". Subscribe to never miss my AMV releases. :amv:

User avatar
Qyot27
Surreptitious fluffy bunny
Joined: Fri Aug 30, 2002 12:08 pm
Status: Creepin' between the bullfrogs
Location: St. Pete, FL
Contact:
Org Profile

Post by Qyot27 » Wed Dec 05, 2007 4:21 pm

Scott Green wrote:So you mean mp3 (lame) is better to use with AMVs then AAC??
No, I said HE-AAC is just about useless for AMVs, not AAC as I whole. I've used AAC in my AMVs for a good long while now, just not HE-AAC. At the bitrates needed to properly utilize it, HE-AAC beats out other codecs, but those kinds of bitrates aren't common in AMVs. Most videos I've seen tend to stay around or above 128kbps, which Low Complexity AAC and Lame MP3 can do just fine at (Low Complexity being just about, if not, transparent at that level). Using High Efficiency AAC, however, is not useful at bitrates like 128.
Bauzi wrote:I´m really confused Qyot27´s post. Do you mean with HE-AAC: AAC+?
I thought that AAC+ is everything you encode out with NeroAACenc. I know hev2 for low bitrates and I also used it with succes in my trailer amv (there wasn´t really music in the trailer, just speech and sound). I thought that AAC was jsut a form of older version of it.
HE-AAC = AAC+, correct. It is not everything that comes out of Nero's encoder, however. MPEG-4 AAC is an improvement on MPEG-2 AAC, but HE-AAC is simply a profile of the MPEG-4 Part 3 standard. In a sense, HE-AAC is to AAC what MPEG-2 Layer 3 is to MP3 - not in the sense of how they operate (that would actually be mp3PRO), but in that both are extensions to their standards.

AAC has many profiles. The default profile is Low Complexity, which is what iTunes and Nero will encode at by default when using standard bitrates (well, iTunes always encodes in Low Complexity - Low Complexity AAC is what all song purchases from the iTMS are as well, not to mention the audio streams on the trailers at the Quicktime site). Sometimes it will be identified as LC-AAC to distinguish it from the other profiles. There are more than just 3 profiles, but the others - Main, Long Term Predictor, Low Delay, Scalable Sample Rate, and Bit Sliced Arithmetic Coding - aren't used much or widely outside certain specialized applications.

HE-AAC (HE-AACv1, aacPlus, AAC+, etc.) is basically a Low Complexity 'core' audio stream plus Spectral Bandwidth Replication (SBR) information to replicate the upper bandwidths that were lost during the conversion process (which is specific to HE-AAC encoding; standard Low Complexity encoders don't drop those frequencies, and thus have no need to replicate them with SBR). The core stream is half of the frequency of the source stream, so if the audio you're compressing was 44.1 kHz, then the HE-AAC encoder will downsample to 22.05 kHz.

Since the frequency is lower, then a lower bitrate won't adversely affect the stream as much - the upper frequencies are then replicated using the SBR information written into the file. Nero will use HE-AAC encoding by default if the bitrate is low (at or under -q 0.3, although I don't know if that is an action across the board). It's meant to ensure that moderately-low bitrates don't start sounding like crap since plain Low Complexity begins to suffer. Encoding higher bitrates with Low Complexity don't need their bandwidth replicated because there isn't any frequency reduction and the bitrate given to the audio is more than enough to store it well. Using those bitrates with HE-AAC is useless because you might as well be using Low Complexity and not throwing out frequency information, since those bitrates are usually high enough for Low Complexity to achieve transparency.

HE-AACv2 is the application of both SBR and Parametric Stereo (PS) to a core Low Complexity stream, and is meant for much lower bitrates than HE-AACv1 can handle (48kbps and below, if I remember right).

Now, it appears that Nero seems to write information into the header of the MP4 files denoting High Efficiency when there is no such information in the file, regardless of what bitrate it's set at - if there were such information present, then decoders and MP4Box would be able to pick up on it (when the information does exist, they report it correctly as expected). This can trick some applications, but as I said, CoreAAC, ffdshow, and MP4Box aren't fooled and display the real information.

Basically, as far as what profiles correspond to what bitrates:

Low Complexity = ~96kbps and higher (although if -q 0.3 is what Nero goes for, this might sometimes be included)
High Efficiency = ~80kbps and lower
High Efficiency + Parametric Stereo = ~48kbps and lower

Mosc
Joined: Mon Oct 30, 2006 8:13 am
Org Profile

Re: Compessing to H264 in virtual dub mod...

Post by Mosc » Wed Dec 05, 2007 4:56 pm

Scott Green wrote:http://mirror05.x264.nl/Cef/force.php?f ... -brdo.diff ---> plug-in for making it smoother :O
It's not a plug-in, it's a patch. The patch should be applied before compiling, so just placing this in your x264 directory does absolutely nothing. Besides, adaptive quantization does not make anything smoother, it helps to prevent blocking in dark areas (mainly blue skies). You're using adaptive quantization in your video encoding command line so I assume you're already using a patched version of x264, but I can't be bothered to download your "Mp4 tools.zip" to confirm.
Scott Green wrote:

Code: Select all

neroAacEnc -cbr 192 -q 1 -if audio.wav -of audio.mp4
Again, this makes no sense. You probably checked out the parameters of neroAacEnc and thought: "Hey, there's this thing called 'target quality', so putting it at the highest value, 1, will make my 192 kbps encode sound better." That's incorrect. You should specify -q, -br or -cbr, but not any of them together. Using -cbr is stupid and even -br is not that useful. You should just use -q with a value between 0 and 1. Start out with -q 0.35 and raise the value gradually until you're happy with the result. The beauty of quality based encoding is that you can use this quality value in any future encodings and safely assume these will sound excellent too.

User avatar
Bauzi
Joined: Fri May 21, 2004 12:48 pm
Status: Under High Voltage
Location: Austria (uhm the other country without kangaroos^^)
Contact:
Org Profile

Post by Bauzi » Wed Dec 05, 2007 6:20 pm

Well then... I used AAC the right way. Thx Qyot27 for this very informative post!

@LS5:
Yep. Quantisizer for the win.
You can find me on YT under "Bauzi514". Subscribe to never miss my AMV releases. :amv:

Locked

Return to “Conversion / Encoding Help”