

Note: this example in this article uses a snapshot of the ffmpeg subversion code from September 10, 2009. You can see the artifacts in the following images (click on the images to see the full-size versions, where the artifacts are very obvious): I use this as a worst-case scenario for testing various settings of the MPEG-2 encoder. In my tests of real-time encoding, I encountered one particular transition that was very difficult for ffmpeg to encode without artifacts.

UPDATE, : see this article for more details related to high-bitrate MPEG-2 encoding. Obviously, you can’t use any sort of two-pass encoding, either. When encoding a live source, performance is critical if ffmpeg can’t keep up with the live frames being captured, you may as well not even try to encode the video your live capture buffers will quickly fill up and bring down your encoding system.

preme integer (encoding,video): Set pre motion estimation. By “decent”, I mean a high enough resolution so that the video can survive the transcode to Web resolutions without too many re-encoding artifacts. lastpred integer (encoding,video): Set amount of motion predictors from the previous frame. The objective was to create video that was approximately 3 Mbps at a “decent” resolution this video would be manually edited and then converted to Web quality. I’ve done some significant experimentation with different options for encoding MPEG-2 video from a live video source with ffmpeg.
