From LinuxTVWiki
Revision as of 01:54, 3 May 2009 by Jimbley (talk | contribs) (Added category: Software, Technology)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Cleaning a stream means to remove errors from it.

Usually the MPEG stream received by an antenna contains some errors as 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 MPlayer and gxine are quite tolerant). Therefore, cleaning is mostly interesting if you want to post-process/recode your recording.


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 MPEG-2 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


It is possible to clean up a stream using the GUI (and console) features of ProjectX.