If you watch video and transmit the audio with Airfoil, you will notice a distinct delay between the local on-screen video and the remote audio playback. This delay between local and remote playback is inherent to the AirPlay (formerly AirTunes) protocol used by the AirPort Express and Apple TV, and can not be removed. Audio received by these devices is always buffered and held for approximately 2 seconds before being played back. The end result is that if you use Airfoil with most video players, the local video plays about two seconds ahead of remote audio.
To solve this issue on Mac OS X 1, we created Airfoil Video Player. Airfoil Video Player takes control of the video it supports and decouples the audio and the video. The video playback is delayed for the same 2 seconds, then played on-screen in sync with the remote audio.
The end result is that you get remote audio and local video in sync with one another. Supported video includes Web video from sites like Hulu, Netflix, and YouTube, most types of local video files2, and DVDs.
To play videos in sync with Airfoil, you must use Airfoil Video Player. Airfoil Video Player is included free with Airfoil itself.
To use Airfoil Video Player:
1) Set your source in Airfoil to "Airfoil Video Player" and then connect to your remote speakers.
2) When Airfoil Video Player launches, select the video you wish to play.
3) Press play, and enjoy local video with remote audio, all in sync.

That should be all you need, but for more details, read the Using Airfoil Video Player page of the Airfoil manual, found under the Help menu in Airfoil.
Footnotes
1. At this time, Airfoil Video Player is only available for Mac OS X. We'll be considering supporting Windows in the future. ↩
2. Because it is impossible to control playback of DRMed iTunes Store videos, they can't be played with Airfoil Video Player. ↩