Converting Real's RM to AVI isn't as straight forward as it should be, mainly because the RM video format differs too much to the AVI format (eg. RM can have multiple FPS properties in 1 file, whereas AVI cannot). But there is a tool that makes RM to AVI conversion quite easy, and that tool is called TINRA (This Is Not Real Anymore).
Here are the app names to use to convert protected RM to avi :
TINRA - A MS-DOS command line program to convert RM video to uncompressed AVI
VirtualDub - for fixing synch/framerate and re-compression to DivX
Extract TINRA and TINRA GUI to the same directory, and click on TINRAgui.exe to start.
The next screen (see picture below) should ask you to install shell extensions. A shell extension is all the options that you see when you right click on a file (eg. WinZIP installs the "Zip to ..." shell extension, and some Virus scanners install the "Scan this file for a virus" extension). Select the file formats that you are likely to convert on a regular basis (or leave nothing selected), and press the "next" button.
This is the heart of the TINRA GUI - it really can't get any simplier can it?
After pressing the big "Convert" button, the conversion should begin and after a while, you should have a large uncompressed AVI file (please note that there is a 2 GB limit for AVI files under Windows 9x, so you'll only be able to convert about a half hour of video at a time, depending on resolution). You'll now need to use VirtualDub to encode the uncompressed AVI file to a (eg. DivX) compressed AVI file. You can also use VirtualDub to synch audio or change the framerate.
If your AVI file plays back very slowly (ie. the length of the video is wrong), then you'll need to ensure the video matches the audio in VirtualDub. To do this, load in your AVI file into VirtualDub, from the Video menu, select "Full Processing Mode" and then select the "Framerate" option. Select the "Change so video and audio durations match" option and press OK.
Tinra is very CPU or disk intensive (wherever the bottleneck comes
from first). What Tinra does is use the original RealNetworks DLLs to
decode the stream in real-time as the latter do, so frames are dropped
if the CPU or the disks can't keep up with the flow. This makes it so
the resulting AVI is often of a much lower quality than the original
RM clip (sorry for putting the words "quality' and "RealMedia" in the
A simple test can be made. Make two conversions, one with both the
input and output clips on the same disk (or run a CPU intensive task
in the background), the other where you put the AVI clip on another
disk and an idle system. You'll end up with two AVI clips of the
same duration, but in test 1 the AVI will be much smaller and of a
On my system, a PIII-733/512MB PC-133/WinME, reading from a SCSI1 disk
into a SCSI-U2W disk results in too many dropped frames for the result
to be worth it. I have found some fairly high-quality RM clips to
assess the results, problem is that HQ RM clips also generate a huge
data flow... and Tinra generates an uncompressed AVI that is up to
100x the size of the RM... so it seems there is no way out of this
loop with our current hardware (and I don't want to upgrade to
SCSI-160 for the sake of converting RM clips).
The best solution I have found so far for small RM clips is to use a
RamDisk program, like VRamDir. It creates a virtual disk in memory
(heh, there was a time when this came bundled with DOS). I copy the
input file in there and generate the output in that location also.
You'll see a big boost in AVI size (i.e. less frames are dropped) and
the quality seems to be much closer to the original.
Also 'Real Producer Plus', the RealNetworks official clip creation
software, can be used to cut RM clips into smaller chunks, but
don't ask me how to buy it, it was all done for testing purposes:)
This does not change anything to the nice guide on RM2AVI converting,
but I think some things should be emphasized before people discard
the whole idea of RM2AVI converting as trash, until someone writes a
convertor that would not use RealNetworks DDLs and would work 'not in