From LinuxTVWiki
Revision as of 22:06, 15 July 2006 by Lak loho (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Cleaning a stream means to remove errors from it.

Usually the MPEG stream that you recieved over an aerial contains some errors as the reception is not always perfect. Such slightly damaged streams might crash your video editing software if you want to edit it after (although players like gxine are quite tolerant).

Cleaning a Stream with mencoder

A good way of cleaning up a corrupted stream is to run it through mencoder. The following will clean up the structure of a program stream:

 $ mencoder -forceidx -lavdopts er=4 -vc ffmpeg12 -of mpeg \
 -oac copy -ovc copy \
 original_ps.mpeg -o cleaned_ps.mpeg

This forces mencoder to read the file as an MPEG2 stream and uses aggressive error detection and correction, but otherwise just copies the audio and video stream (so no re-encoding and it's quite fast).

You can also use this method to extract specific pids from a transport stream and produce a clean program stream, by using the -aid and -vid options to mencoder to select the audio and video pids repectively:

 $ mencoder -forceidx -lavdopts er=4 -vc ffmpeg12 -of mpeg \
 -oac copy -ovc copy -aid 600 -vid 601 \
 original_ts.mpeg -o cleaned_ps.mpeg