How To Encode Video for your AV300

Archos JBM20 / AV100 / AV300 VirtualDub Tutorial

  1. JBM20 / AV100 / AV300 Video Basics
  2. Getting Installed
  3. Setting Up for Converting a
    File with VirtualDub
  4. Files
  5. Using 2pass Encoding



JBM20 / AV100 / AV300
Video Basics

VirtualDub is a program for convering AVIs and MPGs to AVIs. That seems a little silly. Why convert an AVI to another AVI? Well, not all AVIs are the same. For an AVI to work on the JBM20 / AV100 / AV300 its CODECS must be right.

What is a Codec?

Codec is short for Coder/Decoder. On computers, video and audio can be encoded in many ways. A codec is the software for encoding and decoding audio or video. Any movie, tv-show, music video, etc..., has two parts - audio and video. You can select the codec for each separately.

The JBM20 / AV100 / AV300 has very limited codec support. Specifically it supports two codecs: MPEG4 (DivX) for video and Mpeg-Layer-3 (MP3) for audio. Your AVI must have both the video and audio codecs right in order for it to work on the JBM20 / AV100 / AV300 (if just the video is right it will work but you'll have no sound). Unfortunately, this isn't the only thing you have to do to make an AVI work on the JBM20 / AV100 / AV300

What Makes an AVI JBM20 Compatible?

This isn't as simple as we would like, but it isn't terrible. Below is the list of everything that has to be right for the JBM20 to play the video:

  • Audio must be: MP3 audio at 160kbps CBR or less.
  • Video must be:
    • Mpeg4 "simple profile"
    • 352x288 ("cif") or lower resolution
    • Width and Height, each, must be multiples of 4

It may sound a little complicated, but it isn't that bad.

What Makes an AVI AV300 / AV100 Compatible?

Both the AV100 and AV300 have the same, faster CPU in them. Therefor they can playback higher resolution video. Their requirements are:

  • Audio must be: MP3 audio at 192kbps CBR or less.
  • Video must be:
    • Codec: Mpeg4 "simple profile"
    • Resolution: 640x304@30fps, 640x368@25fps or 640x480@(low)fps
    • Width and Height, each, must be multiples of 4


Getting Installed

First you need to download some files:

  • VirtualDub 1.4.11 (local cache)
    Get the newest version here: Official
    website
    . Download the Zip and extract all files into their own folder
    (if you can't read zip files, get Winzip).
  • DivX 5 (remote link) DivX 5 is
    probably the easiest codec for Mpeg4 - and you can get it free (download
    and install it - free version is fine).
  • Radium MP3 Codec (local cache) provides
    an alternative MP3 encoder if you can't get Lame to work. I've had
    some audio sync issues with Lame that seem to be fine with Radium. This
    is my current recomendation.
  • Lame MP3 (local cache) is one
    of the highest quality MP3 encoders available. This can be used instead
    of Radium of you like. Unpack the Zip into a temporary directory. Right-click
    the LameACM.inf file and select install.
  • SmartResizeFilter (local
    cache) VDub comes with a resize filter, but its quality isn't great. Use
    this one! Make a sub folder in the VDub directory called "plugins"
    and extract this Zip there.

Now lets see if you got those all installed right :). Run VirtualDub (by
double-clicking the VirtualDub.Exe icon).

DivX5 Check:

  • Go to the Video Menu
  • Select Compression
  • In the left pick-box, see if you can find: DivX 5.02 Codec
  • Select it.
  • Press the Configure Button
  • You should see a config screen with a nice big DivX logo

Lame MP3 Check:

  • Go to the Audio Menu
  • Select Full Processing Mode
  • Select Compression
  • Find LameMP3 in the list on the left.
  • Now a whole list of options appear on the right.

Radium MP3 Check (if you chose to use Radium instead of Lame MP3):

  • Go to the Audio Menu
  • Select Full Processing Mode
  • Select Compression
  • Find "MPEG Layer-3"
  • Now a whole list of options appear on the right

Smart Resize Check:

  • Go to the Video Menu
  • Select Filters
  • Click the Add button
  • Find Smart Resize by Donald Graft (thanks Donald!)
  • Select it and click the Ok button.

If you were able to go through all the checks, you're set to go!


Setting
Up for Converting a File with VirtualDub

This section gives explicit instructions for setting up VirtualDub's conversion settings. VDub can save these settings, but I'm not sure how well this works on all machines. You can try downloading this file: ShaneJBMM.vcf and, in VirtualDub, selecting File->Load Processing Settings to load it. If it works, you can probably skip this whole section. It seems to work on my machine, but every machine is different.

Start by opening the file. Go to File->Open or simply drag and drop an AVI or MPEG to VirtualDub. Sometimes VirtualDub can't open afile, but right now we aren't going to deal with that. If your file can't be opened, try another.

Now, lets see some info on your file. Select File->File Information. It should look like this:

You will see that there are two problems with my AVI - for playing on the JBM20. First, my file's resolution is 640x360. Second, my Audio Codec (the Compression line of the Audio stream section) is Windows Media Audio.

Setting Up the Video Conversion

If your video is already in DivX 5 format and is less than or equal to 352x288, you can choose not to re-encode your video. You can select Video->Direct Stream Copy. This is much faster, so if you can, you should probably use it. But, most the time you can't :). If you can't, make sure Video->Full Processing Mode is selected.

If your video is bigger than 352x288 (in any way) you must resize it. You need to add the smart resize filter.

  • Go to the Video Menu
  • Select Filters
  • Click the Add button
  • Find Smart Resize by Donald Graft (thanks Donald!)
  • Select it and click the OK button.

If your video is small enough, go to the Filters dialog box and remove
the resize filter - this will make things faster.

If you are not sure, or if you are going to convert lots of videos of different
sizes, go ahead and leave this filter setup. You can't go wrong with it on
:).

Setting Up Smart-Resize for JBM20s

When you Click OK to add the smart resize filter, you will see the following
box:

The easiest and best settings are the ones I've shown in the picture. Your input width and height will be different than mine, but everything else should match. The Filter mode selects the quality. Precise Bicubic is the best and slowest. Probably all of them are fine except for the first one: nearest neighbor (that is what the built-in virtual dub filter does). If you follow all the settings above, you won't have to worry about multiples of 4 or anything else related to size. This will (should) just work :).

Setting Up Smart-Resize for AV100s / AV300s

There are basically two ways you might want to setup your smart resize filter for your AV100/AV300. If you expect to primarilly view the video on the LCD, you can maximize quality while minimizing size by using the 320x240 resolution. Configure your smart-resize like:

If you want the maximum quality for playback on a television, and the video you are encoding meets one of the following requirements:

  • Runs at 25fps (or lower) and has an aspect ratio higher than 1.74:1 (all
    modern movies are 1.85:1 or higher and run at 24fps)
  • Runs at 25-30fps and has an aspect ratio higher than 2.10:1 (not many
    videos meet this requirement)

Pay close attention to the resulting "New Height" at the top (which is greyed out). If your source material is at 30fps (NTSC), then it shouldn't be more than 304 pixels high. If your source material is 25(PAL) or 24fps (film), then it shouldn't be more than 368 pixels high.

For more information on choosing encoding resolutions for your AV100 / AV300 - see my AV300 Video Resolutions FAQ.

Setting Up the DivX Video Codec

The last step in setting up the video end of the conversion is to setup the DivX codec:

  • Go to the Video Menu
  • Select Compression
  • In the white box, see if you can find: DivX 5.02 Codec (or newer
    :))
  • Select it.
  • Press the Configure Button

Now you should see something like this:



DivX 5.1 main config screen
The first thing you need to do is to configure DivX to create
Archos-compatible video. To do this, click the "Select Profile Wizard".
On the first screen, checkmark the "Disable profiles" checkbox like
this:




DivX 5.1 Archos-compatible profile settings Step 1of 2

Then, on the second screen, uncheck every option in MPEG4 tools
so your window matches mine below. Unfortunately, the none of the Archos players
support these enhanced encoding options yet.



DivX 5.1 Archos-compatible profile settings Step 2 of 2

Now, back to the main screen, you have some options for how you want DivX to encode your video. For you first time, I suggest you select 1-pass encoding (not 1-pass quality-based) under the Variable bitrate mode pull down. Then you can select your bitrate with the slider or just type it in. Higher bit rates mean higher quality. Lower bit rates mean smaller files. For this first encode, use 500kbps for 352x288 or lower resolution files, or 1000kbps for higher resolution files. The first DivX picture above clearly shows these options set.

Advanced Settings for DivX Video Codec

Skip this section if this is your first time encoding video for your Archos. However, if you want to tweak the most from your encoded video, try the following settings:

  • For 640xXXX resolutions (AV100 / AV300 only):
    1. For High-Quality video:
      • Use 1500kbps for 1-pass encoding
      • Use 1200kbps for 2-pass encoding
    2. For Low-Quality (but still quite watchable) Video:
      • Use 800kbps for 1 pass encoding
      • Use 500kbps for 2-pass encoding
  • For 352x288 or 320x240 resolutions (352x288 for JBM20 & AV100, 320x240
    for AV300)

    1. For High-Quality video:
      • Use 750kbps for 1-pass encoding
      • Use 500kbps for 2-pass encoding
    2. For Low-Quality (but still quite watchable) Video:
      • Use 500kbps for 1 pass encoding
      • Use 300kbps for 2-pass encoding

For even more detailed information on configuring DivX, be
sure to check out DivX.com's Official
5.1 Guide
(local mirror).
It covers all the DivX settings, what they do, and how to get the most out
of them - all in a very readable and easy to understand format. This guide
even has its own little VirtualDub tutorial. Well worth the read for the advanced
encoder. There are a few important notes you should keep in mind as you read
the Official DivX Guide if you are encoding for Archos PVPs:

  • Remember, the Archos JBM20, AV100, and AV300 do NOT support any of the following: Bi-directional frames, Quarter-pixel motion compensation, or Global motion compensation.
  • Psychovisual and Multi-Pass, however, work just fine with Archos PVPs.
  • For AVIs to work best on Archos PVPs, audio interleaving should be by "frame", not "every 500ms" as indicated in the Divx guide.

Setting Up the Audio Conversion

VirtualDub, unfortunately, doesn't make this as easy as it could be, but it isn't that bad. Here goes! If your source file already has MP3 audio, then you can select Audio -> Direct Stream Copy and skip the rest of the Audio conversion setup. Other wise, select Audio -> Full Processing Mode.

The first thing to decide is what quality audio you want. If you are concerned about quality, I suggest 160kbps. Otherwise, settings from 32kbps to 128kbps should suffice. If there is a lot of music in the clip, use higher bit rates. Lots of dialog? Lower bitrates are usually fine. If you have no idea, choose 128kbps.

Lets get the audio compression setup first:

  • Go to the Audio Menu
  • Select Full Processing Mode
  • Select Compression
  • Find LameMP3 in the list on the left (or "MPEG Layer-3"). For
    Radium, select "MPEG Layer-3" if you have more than one, try both.
    Radium is the one with more format options.
  • If you can, check mark the Show all formats option.

Find the bit-rate you want. You will notice that there may be several lines
with the same bit rate but other differences. Choosing stereo or mono is pretty
straight forward. After you've chosen stereo/mono and your bitrate, find the
bitrate with the best sample rate (kHz, the biggest number on the left). Make sure you a select CBR (constant bit-rate) setting. VBR won't work. Below
you can see that I've selected 128kbps bitrate, Stereo, at 48000kHz. This
is a good all-around setting.

Now, whatever setting you chose, remember the Stereo/Mono option and the kHz. We'll need this info next. Now we need to convert the audio. Actually, this happens first, but it is best to decide what your destination is (the MP3 settings we just did) before you setup conversion.

  • Go to the Audio Menu
  • Select Conversion

You should now see the dialog box pictured below. The key things are: make sure you convert to the same Stereo/Mono and kHz that you selected when we setup the MP3 encoder. Also, always select to convert to 16bit.

If you want, you can check-mark the High Quality check box - it'll be slower but sound better. Click OK and we are done setting things up!

You should also check your audio interleave options:

  • Go to the Audio Menu
  • Select Interleaving
  • Checkmark Enable audio/video interleaving
  • Set the Preload to 0
  • Set the Interleave audio every to 1 & frames
  • Set the Audio skew correction to 0

Finally! Convert Your AVI!

  • Go to the File Menu
  • Select Save As AVI
  • Select where you want to save the AVI (some place with lots of space)
    and Name it.
  • Click Okay and watch it go!

You can now open and convert many files without having to go through all the setup. The current Video and Audio settings will not be forgotten until you quit VirtualDub. So, when you startup VirtualDub the next time, you'll have to reset them back up.


Files

Here are the main files you need, an you should probably get the SmartResizeFilter
as discribed above:

  • VirtualDub 1.4.11 (local cached)
    Get the newest version here: Official
    website
    . Download the Zip and extract all files into their own folder
    (if you can't read zip files, get Winzip).
  • DivX 5 DivX 5 is probably the
    easiest codec for Mpeg4 - and you can get it free (download and install
    it - free version is fine).
  • Lame MP3 is one of the highest
    quality MP3 encoders available. Unpack the Zip into a temporary directory.
    Right-click the LameACM.inf file and select install.
  • Radium MP3 Codec provides an alternative
    MP3 encoder if you can't get Lame to work.

There are many SmartFilters you may want to try:


Using 2pass Encoding

2-pass encoding gives DivX a chance to make higher quality videos for the same (or less) file size. Further, and perhaps more importantly, two-pass allows you to get pretty close to the average bitrate you specify. However, 2-pass encoding takes literally twice as long to do. With 1-pass your final average bitrate is never the same as the one you specified. Personally I almost always use 2-pass these days - it really is that much better.

Below is a quick description of how to do 2-pass encoding with Virtual-Dub provided by Matthew Coulson:

  • In the DivX codec dialog, choose 2pass 1st pass. (Do this just before
    you are about to save the file).
  • Then, in VDub, select save as, type in any old filename, checkmark the
    box underneath that says "Add operation to Jobs List and defer processing",
    and click "Save".
  • Now, back in VDub, go back into the DivX codec, choose 2pass 2nd pass
  • Do the same thing to save it - type in the proper filename this time,
    checkmark the "Add to Jobs List" box again, and click "Save".
  • Now click on File, Job Control, and you should see the two jobs you've
    just created
  • Click on Start, and VDub will go off and process the two, and you'll end
    up with the two files specified.
  • You can delete the first one, and keep the second. Compare it to a 1pass
    encode and you will notice the difference

This article was originally posted to http://www.shanebrinkmandavis.com/homepage/archos/Main/VirtualDubTutorial/index.htm

 

Connect With Techlore