08.02.03




h o m e : n e w s : r e v i e w s : d o w n l o a d s : a r t i c l e s : d i s c u s s i o n : l i n k s : a b o u t : a d s








"NV35 Specifications"

Intel Canterwood Chipset reviews

Radeon 9600 Pro reviews

First Mobile 9200 and Geforce Go 5200 benchmarks

Geforce FX 5800 Reviews

ATI announces AIW 9800 Pro

NVIDIA to show a First Look at E3

OpenGL Meeting Notes

Ignore the left column links

Radeon 9800 Pro review from Guru3d




<< archive
news >>




How many GeForce boards do you own? Choose below.

More than 10!

5-10

1-5

None








home : articles : Vidomi FAQ




Joe Glass
March 27, 2002

Vidomi FAQ
Vidomi makes encoding/transcoding easier than ever!

This is an on-going FAQ for Vidomi. Vidomi is an AVI/MPEG1/MPEG2 encoder/transcoder and player for Windows. You can convert AVIs and MPEGs to any codec such as DivX 5 or Xvid!

Version 2! Updated for use with Vidomi .469+!

You can get Vidomi here.

Navigation:


How to Network with Vidomi
The networking option in Vidomi allows one to encode multiple jobs and a single job that would span 2cds or more to other computers for processing.

Requirements:
  1. You need at least 2 computers running Windows 9x/2k/ME/XP. The more computers the better. One computer is the master controlling the whole thing. The other is a slave.

  2. Each computer should have the SAME installation of Vidomi and the same codecs installed. So make sure you install .469 Vidomi or greater installed on your master and slaves. If you're using DivX 5, make sure DivX 5 is installed on your slaves and on your master.

  3. You must be using TCP/IP as your network protocol. Not NetBUI or Novell IPX/SPX.

  4. Your computer that has the source AVI/MPEG2 files must have Windows file sharing turned on and the directory containing those files must be an open public share with read permissions. In other words, your slaves must be able to read the source files to encode over the network.
Step 1
Pick your master machine. This machine is where you control all the settings and the job lists. This computer sets up all the work to be sent to the slaves.

Step 2
Install the SAME version of Vidomi on your master computer and all your slaves.

Step 3
Install all the codecs you plan to use on your master and all your slaves. They must be the same versions on each system. Example: DivX 4, DivX 5, Xvid, Radium MP3 codec.. etc. Don't install DivX 4 on one system and DivX 5 on the other. It must be identical!

Step 4
Edit the "encodeslave-example.txt" on your master computer with a text editor program in the folder Vidomi is installed in. It's usually in C:\Program Files\Vidomi You'll see some example information there and the following line:
"Local Machine" = 127.0.0.1
This is the reference to your master computer. If you decide to leave this entry in, Vidomi will use your master computer as a job processor. If you remove the line, then the Vidomi master will use the slaves for job processors and you master will just control. I would recommend leaving it in to get the extra processing power of you master system into the loop.

To add your slaves, the syntax is (make sure you include the quotes):
"Your fun computer name" = Your_IP_Address

or

"Your fun computer name" = WINS_Computer_Name
Example:
"My Slave #1" = 192.168.1.1
"My Slave #2" = tango
The WINS computer name is the name of your computer you would normally see in Network Neighborhood if you look in your domain or workgroup. If you have DHCP set up, it would be easier to use the WINS name because the IP is dynamic.

If you want to comment the entry out, put a pound sign # in front of the entry:
Example:
#"My Slave #1" = 192.168.1.1
Vidomi will ignore the entry.

Once you edit your settings, save the file with the name "encodeslaves.txt" in the same folder Vidomi is installed.

Step 5
Start your slaves. On each slave computer, make sure its up and running on your LAN with TCP/IP. Ping your master computer from your slave to test for connectivity.
Example:
On your slave computer, go to a command prompt.
Win9x/ME: Start>Run>command
Win2k/XP: Start>Run>cmd

Type:
ping IP_or_WINS_NAME_of_Master_Computer

Example:
ping 192.168.1.1

It might look like this:
Pinging vaio [192.168.1.1] with 32 bytes of data:

Reply from 192.168.1.1: bytes=32 time<1ms TTL=128
Reply from 192.168.1.1: bytes=32 time<1ms TTL=128
Reply from 192.168.1.1: bytes=32 time<1ms TTL=128
Reply from 192.168.1.1: bytes=32 time<1ms TTL=128

Ping statistics for 192.168.1.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
This tells you your slave computer can see the master computer. This is what you want.

Start the slave application.
Start>Programs>Vidomi>Slave
You'll see a little Vidomi icon popup on your system tray near your clock. Now run this program on all your slaves. Ping the master on each of your slaves or vice-versa ping the slaves from your master to test connectivity.

Step 6
Make the source video files available on your master to your slaves. Your slaves must have access to your source files in order to encode them right? Right. So, first off, on the computer which contains the source files (typically your master), make sure you enable Windows File Sharing. Then find the folder which contains the files you want your slaves to access. Enable a "share" on that folder. I'm not going to outline that here since each version of Windows does it differently. Please read up on it elsewhere. Make sure your slave has read persmissions to the share.
Example:
If you have a computer called Tango on 192.168.1.5 and you set your share folder name to videos, it would look like this:

\\Tango\videos

or

\\192.168.1.5\videos
This is called a UNC (Universal Naming Convention) path. Notice the double backslash. That must be there in order for it to be a valid UNC path. Read it up elsewhere to learn more. You can type that UNC path on your address bar in Explorer and Internet Explorer to view that share from your slave.

Enable write permissions on that share if you wish Vidomi to save the encoded files to the same share. You may choose to save it elsewhere on a different share on a different computer. Ideally, you could set Vidomi to save your encoded files elsewhere on a different computer than the source share in order to reduce network bandwidth to the source computer.

Step 7
In Vidomi .469, there are two ways to set up a network master.
1. The traditional way i.e. the Vidomi encoder is the master and delegates the slave jobs.
Pros: It's less confusing to set up. Has very informative encoding statistics for the server and slaves.
Cons: You can't add new jobs until an existing job queue is completed.

2. Run the Vidomi encode server program.
Pros: You can add jobs from the encode slaves to the server while the queue is being worked on. It's statistics information is limited compared to the traditional method.
Cons: It's a little more complicated to set up.

If you choose to do the traditional way, launch the Vidomi encoder (Start>Programs>Vidomi>Vidomi then switch to the encoder) on your master computer with the encode-slave.txt already set up. Then set up the job queue.

If you want to use the server program, go to Step 8 - Encode Master Method.

Step 8 - Traditional Method
You will use UNC paths as your input and output. To do that, when you browse for your files, go to the top of the tree and select Network Neighborhood or My Network Places and dig down to the computer and folder share containing the source files. Pick your file. It might look like this.
Example:
\\TANGO\\videos\tenchmuyo.mpeg

Vidomi might put this in the output path/folder:
\\TANGO\\videos\tenchmuyo.divx
This is where you can change the location of the output files to the same as the source folder or elsewhere on a different computer. It's up to you.

If you look in Options>Network Options, you should see a check box with Hyper Encode enabled and a drop down listing of computer slaves you entered in "encodeslaves.txt". If you don't see anything, make sure you edited that file correctly and it exists or go back to step 4 and try again. Now setup your video to encode with your personal settings.

If you just want to do a single encode, then press Start Encoding. Remember that Hyper Encode option? If your outputted compressed file is bigger than a single CD (650mb), Vidomi will break the file into two encodes and send an encode job to one of your slaves. If you left "Local Machine" as a job processor, your master will also compress the video too.

If you want to encode multiple videos, setup each video, but this time go the Job Control Menu at the top and select Add to Job List. Your encode job will be added to a big job list and disappear from the main window. This list is what Vidomi uses to send out jobs to other slaves to work on. If you don't have a job listing, then Vidomi won't use the slave computers.
Note: Vidomi has no way to set priorities to certain slaves. It's a first come first serve basis. If you have a fast slave (Athlon) and a slower slave (Pentium II), which ever is available first on your computer listing will be used. It might pick the slower slave over the faster one. I think Marty is working on making slave priority available.
Once you have your jobs set, click Start Encoding. Go to Window>Output Statistics to monitor each job. Use the drop down to monitor the slaves and see if they are getting utilized. The statistics window is very usefull so watch it to see if the slaves are working correctly. Remember: Network encoding works on a per JOB basis not on a single file across multiple slaves. It doesn't work that way and I don't think it ever will. Only if the output encoded file exceeds one CD (Hyper Encode).

Step 8 - Encode Server Method
On you master system, launch the encode master Start>Programs>Vidomi>Encode Server. A black window will popup showing the server initilizing. Notice the "Found X Slaves in File" line. The encode server loaded the encode-slaves.txt file to get information about your slaves you setup. If if failed, then you forgot to setup this file up correctly. Go to step 4 to do this. If everything is setup correctly, the encode server will be listening for job requests. It will show its status every five seconds of how many slaves and jobs are left in the queue. Next you need to setup jobs for the server to process. To setup a job, you must run the encoder (Start>Programs>Vidomi>Vidomi then switch to the encoder). You can run the encoder on the master, on a slave, or on a computer that isn't a slave or a master. Setup you job queue with the encoder as you normally would/

You will use UNC paths as your input and output. To do that, when you browse for your files, go to the top of the tree and select Network Neighborhood or My Network Places and dig down to the computer and folder share containing the source files. Pick your file. It might look like this.
Example:
\\TANGO\\videos\tenchmuyo.mpeg

Vidomi might put this in the output path/folder:
\\TANGO\\videos\tenchmuyo.divx
This is where you can change the location of the output files to the same as the source folder or elsewhere on a different computer. It's up to you.

If you look in Options>Network Options, you should see a check box with Hyper Encode enabled and a drop down listing of computer slaves you entered in "encodeslaves.txt". If you are running the encoder on the same computer as the encode server, you will see a list of machines found in a drop down list, but ignore this. There is another option for the Encoder Server. Check this and then put the computer name (example: tango) or IP address (example: 192.168.1.1) of the encoder server into the box given. Don't put a UNC path into this box (example: \\tango or \\192.168.1.1). We're not referencing files here. Now setup your video to encode with your personal settings.

If you just want to add a single encode job, press the Job Control button and select Show Job Control Window. Then in the popup window, select Encode Server, then Submit Job List to Encode Server. If you want to encode multiple videos, setup each video, but this time go the Job Control Menu at the top and select Add to Job List. Your encode job will be added to a big job list and disappear from the main window. This list is what Vidomi uses to send out jobs to other slaves to work on. If you don't have a job listing, then you can't submit jobs to the slave computers.
Note: Vidomi has no way to set priorities to certain slaves. It's a first come first serve basis. If you have a fast slave (Athlon) and a slower slave (Pentium II), which ever is available first on your computer listing will be used. It might pick the slower slave over the faster one.
Once you have your jobs set, click Submit Job List to Encode Server from the Encode Server Menu. Go to Encode Server>Get Encode Server Status to monitor each job. The statistics window isn't as usefull as the traditional method but there are tradeoffs. You can always add more jobs to the Encode Server queue from any computer any time. I would recommend sticking to one computer as the job queue creator. This keeps your settings consistent as you create jobs. If you start jumping around to different computers to send jobs, you could possibly setup inconsistent settings and get different results per job. Remember: Network encoding works on a per JOB basis not on a single file across multiple slaves.

How to monitor performance
You can go to your slaves and monitor the CPU performance. If you have Win2k or WinXP on your slave, go to task manager (CNTRL-ALT-DELETE), and look at the CPU utilization. There should be an application process called slave.exe. That's the Vidomi slave doing its encoding. If you have a fast machine, sometimes it doesn't max out 100%. If your computer with the source files is serving many files (Example: 5 or more MPEG2 files), it might not be sending maximum data to your slave to keep your slave busy. Your slave is encoding data faster than it can receive it.

To improve performance:
The best possible network senario would use a Gigabit Ethernet network that is using a switch. This is not economical, so the next best configuration is a 100baseT network on a switch. MPEG2/AVI files are huge so all that traffic going over your network eats major bandwidth. A switch does make a difference over a hub. If you have a hub, I'd recommend getting a switch to improve performance. A switch helps seperate TCP/IP packets per ethernet port and improves overall aggregate bandwidth. The faster network you have, the faster your network encoding will take place. Read it up to learn more about network topologies and Ethernet.

Another way to improve performance, each source video or half of your videos could be spread across two or more computers. The reasoning behind this is that if you have ALL your slaves accessing the source files from the same computer, the source computer will slow down more and more with each source file it provides to a slave. Example: If I have ten computers all processing jobs and accessing ten different source videos from my source computer, the source computer is most likely maxing out at 100mb/s transfer rate and its CPU is probably maxed out as well. Not to mention if you set that source computer as a slave, it will also be doing an encode. If your source computer is also your master, it gets worse because it has to monitor all the slaves. The more you can break up the jobs accross a switched network, the better your performance will be. On a switched 100baseT network, things can get really slow once you start adding 5 or more slave computers to process jobs. Break it up and performance will increase.

That's all for now. Let me know if you have any questions.

—Joe Glass, Editor-in-Chief

Email the author.

Visit Vidomi's Website for more information.










a Filnet solution



Copyright 2000 pcrave. All rights reserved. Privacy Statement. Terms of Use.
Site Design by Filnet, Inc.