704 Kbps For Video!?!


SpiceWare

Still Fresh
Joined
Sep 4, 2004
Messages
10
Age
57
Location
Planet Houston
Website
www.spiceware.org
Based on all the docs I've read, I initially set the video compression to 128 kbps with 10 fps (original was 29.97, I decimated by 3). I opted for audio compression at 56 kbps @ 22050 since I was encoding a music video.

Things worked well and I decided to set my BLU to 166 MHz and see how high I could get the bit rate for the video. I incremented by 64 kbps for each test. The last bit rate that worked was 704 kbps(the unit locked up when I tried 768 kbps) with some very impressive video qualities.

Since I'd already made the various files, I decided to see how well 150 MHz and 133 MHz would work. 150 MHz worked up to 576 kbps and 133 MHz worked up to 320 kbps. All had significantly better image quality than 128 kbps.

I then changed the frame rate to 15 fps(decimate by 2). The max bit rate for 166 MHz dropped to 256 kbps.

Here's the settings I used:
VirtualDub.audio.SetSource(1);
VirtualDub.audio.SetMode(1);
VirtualDub.audio.SetInterleave(1,500,1,0,0);
VirtualDub.audio.SetClipMode(1,1);
VirtualDub.audio.SetConversion(44100,0,0,0,1);
VirtualDub.audio.SetVolume(5018272);
VirtualDub.audio.SetCompression(85,22050,2,0,7000,1,12,"AQACAAAAtgABAHEF");
VirtualDub.audio.EnableFilterGraph(1);
VirtualDub.video.SetInputFormat(0);
VirtualDub.video.SetOutputFormat(7);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetFrameRate(0,3);
VirtualDub.video.SetIVTC(0,0,-1,0);
VirtualDub.video.SetCompression(0x64697678,0,10000,0);
VirtualDub.video.SetCompData(1140,"AAAAAAC+CgCQsggAXHZpZGVvLnN0YXRzAAAAAHN0YXRzMgAAXHZpZGVvZ2suc3RhdHMAAFNvZnR3YXJlXEdOVVxYdmlEAAAAcW1hdHJpeF9pbnRyYQAAAHFtYXRyaXhfaW50ZXIAAABDb3VsZG4ndCBjcmVhdGUgWFZJRF9SRUdfU1VCS0VZIC0gAABjb25maWcAAENvdWxkbid0IG9wZW4gcmVnaXN0cnkga2V5IGZvciBkZWxldGlvbiAtIAAAU29mdHdhcmVcR05VAAAAAENvdWxkbid0IGRlbGV0ZSByZWdpc3RyeSBrZXkgLSAAWHZpRAAAAABCaXRyYXRlIChLYnBzKToAUXVhbGl0eTpVAAAABQAAABAAAABkAAAAZAAAAAYAAAAAAAAAAAAAACwBAAABAAAAAAAAAAAAAAAAAAAAAgAAAAoAAAACAAAACgAAAAgREhMVFxkbERITFRcZGxwUFRYXGBocHhUWFxgaHB4gFhcYGhweICMXGBocHiAjJhkaHB4gIyYpGxweICMmKS0QERITFBUWFxESExQVFhcYEhMUFRYXGBkTFBUWFxgaGxQVFhcZGhscFRYXGBobHB4WFxgaGxweHxcYGRscHh8hAAAAAAoAAAAeAAAAAQAAAAAAAAAZAAAACgAAAAEAAAABAAAAHgAAAAEAAAAyAAAAAQAAAPQBAABaAAAAMgAAAICWmAA8AAAAPAAAAPoAAAAAAAAAAAAAAFxoaW50ZmlsZS5tdmgAAABzdGF0czEAAFx2aWRlby5zdGF0cwAAAABzdGF0czIAAFx2aWRlb2drLnN0YXRzAABTb2Z0d2FyZVxHTlVcWHZpRAAAAHFtYXRyaXhfaW50cmEAAABxbWF0cml4X2ludGVyAAAAQ291bGRuJ3QgY3JlYXRlIFhWSURfUkVHX1NVQktFWSAtIAAAY29uZmlnAABDb3VsZG4ndCBvcGVuIHJlZ2lzdHJ5IGtleSBmb3IgZGVsZXRpb24gLSAAAFNvZnR3YXJlXEdOVQAAAABDb3VsZG4ndCBkZWxldGUgcmVnaXN0cnkga2V5IC0gAFh2aUQAAAAAXHZpZGVvZ2suc3RhdHMAAFNvZnR3YXJlXEdOVVxYdmlEAAAAcW1hdHJpeF9pbnRyYQAAAHFtYXRyaXhfaW50ZXIAAABDb3VsZG4ndCBjcmVhdGUgWFZJRF9SRUdfU1VCS0VZIC0gAABjb25maWcAAENvdWxkbid0IG9wZW4gcmVnaXN0cnkga2V5IGZvciBkZWxldGlvbiAtIAAAU29mdHdhcmVcR05VAAAAAENvdWxkbid0IGRlbGV0ZSByZWdpc3RyeSBrZXkgLSAAWHZpRAAAAABCaXRyYXRlIChLYnBzKToAUXVhbGl0eToAAAAAUXVhbnRpemVyOgAARGVzaXJlZCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAABAnAAAQJwAARwAAAAAAAAABAAAA");
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.Add("HSV adjust");
VirtualDub.video.filters.instance[0].Config(0,78304,0);
VirtualDub.video.filters.Add("resize");
VirtualDub.video.filters.instance[1].Config(320,240,5);
VirtualDub.audio.filters.Clear();
VirtualDub.audio.filters.Add("input");
VirtualDub.audio.filters.Add("resample");
VirtualDub.audio.filters.Connect(0, 0, 1, 0);
VirtualDub.audio.filters.instance[1].SetInt(0, 22050);
VirtualDub.audio.filters.instance[1].SetInt(1, 64);
VirtualDub.audio.filters.Add("output");
VirtualDub.audio.filters.Connect(1, 0, 2, 0);
 
SpiceWare posted on Sep 29 2004 at 01:56 AM said:

Very nice work. I´ve been experimenting with encoding video for the gp32 myself and I am going to verify your results on my blu 166. Is it possible for you to distribute the files you made?

I am thinking of making a monkey proof application with preset encoding settings so that people don´t have to tinker with all the different virtualdub settings.

Cheers, Mark
 
Last edited by a moderator:
I like to tinker. For example for the gta san andreas trialer i have encoded for gptheatre it was full screen but had black lines to make it look like wide screen. I cropped them of and increased the quality as it would still display the exact same size at better quality at 17 frames per second at the same size. I started with twelve frames per second but now all my movies are 17.
 
Intresting work SpiceWare.
10fps 128kbit bitrate doesnt seem like much too me, I only had my gp32 for a week so I havent tried re encoding any files for it yet, but I will look at your vdub settings when I give it a shot :)

And Mark1970, thats a good idea. Not every people would be comfortable with virtualsdubs gui. So a monkey proof app would be great. And I guess it would have different settings you could choose from, maybe from spiceware's testing, and input / output file and voila! :)
 
Mark1970 posted on Sep 29 2004 at 04:01 AM said:
I am thinking of making a monkey proof application with preset encoding settings so that people don´t have to tinker with all the different virtualdub settings.

That would be very, very good. I have successfully encoded a few movies, but that would make everything MUCH easier. :)
 
Last edited by a moderator:
Vimacs posted on Sep 28 2004 at 09:16 PM said:
frame drop is allways a bit chunky/ugly, use convert to, and use 2pass instand of 1 pass
I'll try 2 pass this weekend.

I don't follow you on the "convert to" though. There is the potential for frames in the new AVI to be "between" frames from the original. For example, if I have a video that's 10 fps and I want to make it 2 or 5 then every new frame matches to an original frame. If I make it 3, 4, 6, 7, 8 or 9 then the frames won't line up. My original video was 29.97 fps. If I use convert to 10, then the frames don't like up right. if I use decimate and only use every 3rd frame then I end up with 9.99 fps(which GPcinema reports as 10).
 
Last edited by a moderator:
Mark1970 posted on Sep 29 2004 at 03:01 AM said:
SpiceWare posted on Sep 29 2004 at 01:56 AM said:
Is it possible for you to distribute the files you made?
I'll leave one of them here for a day or two. Take Your Mamma by the Scissor Sisters. File comes in at 19.7 MB. I set the kbps to 704, GP Cinema reports it as 675 so I guess it didn't use them all.

One other thing I did experiment with was to create the divx AVI with 16 bit video(RGB 555). I thought the file might be smaller, and since that's all the GP32 can use anyway... Results were unexpected - the video played fine, but upside down; worse of all, the file was bigger by 52KB.
 
Last edited by a moderator:
schrist! 192 kbps is the best to use for optimum viewing.

I was off school for 6 months with nothing to do but convert videos to watch with gp cinema. I am the encoder ...... oh yeah and the official blu representitive.

use 2 pass

xvid

192kbps
convert to : 17 fps screw what you said i have 150 movies all against your theory
320*172 or 320*176

audio

mp3
stereo
11025 thingys at 4/kbps

and there you go.
 
sam fisher posted on Oct 1 2004 at 05:56 PM said:
schrist! 192 kbps is the best to use for optimum viewing.
I was doing an experiement to see how much data I could put thru the unit. In general, the higher the bit rate the less the compression, thus a better picture quality. the results were more successful than I was expecting. Also, what do you mean by "optimum viewing"? There are different things that can be optimized, usually at the expense of something else(file size, picture quality, frame rate, sound quality).
192kbps
convert to : 17 fps screw what you said i have 150 movies all against your theory
320*172 or 320*176
It wasn't a movie, but a music video with a 4:3 ratio. Why would I want to letter box it? As an aside - letterboxed movies should be able to get by with lower rates because fewer pixels being used.

I do thank you for the tip on the letter boxing though. I was having problems getting a letter boxed video to convert - it was complaining about the input size. Problem was really the output size, I had it set to 320x181 because of the letter box ratio of the original image(480x272 = 320x181.333). Once I rounded to the closest even number, 320x182, it worked fine.
audio

mp3
stereo
11025 thingys at 4/kbps
As I said at the start of this I opted for audio compression at 56 kbps @ 22050 since I was encoding a music video. I did try 11025, but the music sounded very crappy compared to 22050.
 
Last edited by a moderator:
yeah well i find 11025 has better 22050 as it has a fuz when its

22050. For optimum viewing you can do it as i said. I letterbox everythin that i can. If its got loads of writing you need to read i won't but then you need to clock the gp32 up 150 mhz in gp cinema other wise it may be choppy. plus with two pass encoding you get twice the quality of 1 pass and less artifacts. and if you arn't already xvid is slightly better as i have tested it. And its slightly faster to encode usually.

edit this is gp cinema not movie park . Just increase the framerate a bit. I used to use 12 then 15 and now 17. I am sure oneday i will move up to 20 for my 166mhz blu but my flu is only 150mhz.
 
the diffrence betweene convertto and decimite is that decimite drops frames, conver to blends them together
 
Thanks Spiceware for the tym10704.avi file! I am experimenting with various settings. I was trying to whip up an app in Delphi that allows for various presets. But I think it might be easier to modify virtualdub. I've seen it's open source, but it's in C++ and I am not that experienced in C++ and I don't have the neccessary applications to compile the source.

So I might resort to an application in Delphi that creates virtualdub scripts and/or settings....

Is someone up for creating a virtualdubgp32 gpcinema-version?


This is what the author of Virtualdub posts on
How to compile VirtualDub

I get a fairly decent trickle of questions on the forums and by email on how to compile VirtualDub. The workspace is fairly complex and can be tricky to compile if you are not a professional Win32 programmer, so I'm going to provide a few tips on how to fix the most common compile errors.

Note that my build environment is rather complex -- I have four compiler versions (Visual C++ 6.0 SP5+PP, Visual Studio .NET 2003, Visual Studio .NET 2005 beta 1, and the Windows 2003 DDK compiler), two machines (laptop and desktop), and source code control (Perforce). Don't be surprised if you see something in the build process that doesn't work out of the box; you will need to hack the project a little bit to get it to compile.

Okay, now for the tips:

To review what is required:

You must have the following to compile VirtualDub:

* Visual C++ 6.0 Service Pack 5 + Processor Pack, Visual Studio .NET 2003, or Visual Studio .NET 2005 Beta 1 (Express or Enterprise). VC6 is the official development platform for current versions.
* Up-to-date Platform SDK headers.
* The DirectX 9.0c or newer SDK.

Do not install Visual C++ 6.0 Service Pack 6, as it will render you unable to install the Processor Pack.

You must also have the following to build the AMD64 build:

* An AMD Athlon 64, Athlon FX, or Opteron, or an Intel Xeon with 64-bit support. Bochs will not boot XP64 due to a missing local APIC. (I tried.)
* The Windows Server 2003 DDK, or Visual Studio .NET 2005 Beta 1 Enterprise Edition. Express does not have the AMD64 cross-compiler.
* Windows XP Version 2003 x64 Edition.
* Debugging tools for Windows, AMD64 version. This is only necessary since VC6 cannot debug 64-bit executables; you can forgo this if you have VS2005.

The farther you deviate from the recommended environment, the less I will be able to help. If you ask me how to compile the application using mingw while running Linux and targetting winelib, the only response you will likely get is "WTF?".

It is also strongly suggested that you have the following:

* Windows 2000 or Windows XP. Don't use Windows 95/98/ME for development if you can help it.
* A source code control system. This makes it much easier to track any new releases I might create. I use Perforce in its default two-user, two-client mode; you can use CVS or whatever you like.
* If you are using VS.NET 2003, Joshua Jensen's Fast Solution Build plugin.
* The Info-Zip command line archiver (zip.exe).
* A sampling profiler. Intel VTune is the tool of choice here, but AMD CodeAnalyst is now a viable replacement. (Note that for sampling, you can use VTune on an Athlon or CodeAnalyst on a Pentium 4 without issues.)
 
High video bitrate isn't necessary over 160 kb/s in the 1.5.10 version of Virtual Dub (equal to 320 kb/s in the anterior version from the 1.4.8) because if you use a correct framerate (13-18 fps) it will be slown down. ;)

The best settings I think for VirtualDub 1.5.10 are :

Divx 4.12 (better than xvid)

Video bitrate 80-160 kb/s in 1.5.10 version (or 160-320 kb/s in <1.4.8 version)

Audio bitrate MP3 : 32-40 kb/s 22 050 Hz for movie (I advise 40 kb/s) or 64 kb/s 22 050 Hz for music clips.

And of course 2 pass. ;)
 
Back
Top