This page probably won't work great in Internet Explorer. We generally only support the recent versions of major browsers like Chrome, Firefox, Safari and Edge.
Please accept our apologies for not having up-to-date information about this topic.
Nevertheless, we keep offering repair services for this type of damaged footage — with same level of quality as ever — and we will continue to do so in the future.
Feel free to tell us about the content you would like to see in the revised page, using the feedback widget at the end of the page.
This article covers MPEG-1 and MPEG-2 video formats. For MPEG4, see dedicated article.
MPEG can be confusing as it refers to a standard, a
In this article, we will talk about MPEG media, video and audio.
MPEG-1 and MPEG-2 are two video formats that were defined and standardized in the 90's.
- Used in VideoCD, DVD, digital TV and Internet for distribution of contents.
- Used in some digital cameras and video cameras for capture. Not suited for edition.
- Used in some set-top box to record analog TV signal in your computer.
MPEG files can be Program Stream or Transport Stream.
How to repair a damaged MPEG file?
MPEG files are relatively easy to repair, because they were designed for robustness. One of the requisites was that a MPEG signal can be broadcasted (satellite, TV, internet) and decoded despite errors, interferences, small connection loss, ...
MPEG-1 file, 640x480, that was recovered by a data recovery software. It doesn't open.
In MPEG files, the data blocks start with 00 00 01 xx where xx indicates which kind of block it is.
The MPEG files shall start with a certain header, that gives information about what video and audio streams it contains.
00 00 01 BA ... is usually the first block (called Pack Header)
00 00 01 BB is a System Header, and should be found nearby. It describes the audio and video streams of the file.
00 00 01 C0 is an audio block
00 00 01 E0 is a video block header.
00 00 01 00 to 00 00 01 AF are consecutive video data blocks that form a frame.
The first video block header should be followed by those two blocks:
00 00 01 B3 is a Sequence Header. Mandatory before first frame
00 00 01 B8 indicates a Group of Pictures.
Therefore, a common method to repair an MPEG file, is to rebuild the System Header and Sequence Headers that are missing:
- Find a Pack Header (search for 00 00 01 BA) followed by a Group of Pictures (00 00 01 B8). Followed means that no other 00 00 01 E0 or 00 00 01 BA structure is found in between.
- Delete all the data from beginning of file until 00 00 01 BA, keeping 00 00 01 BA as first bytes of the file.
- Insert a valid System Header just after the Pack Header, i.e. just before the next 00 00 01. This system header is usually around 20 bytes in length, and starts with 00 00 01 BB. If you cannot find it in the damaged file, take it from a good file recorded with the same settings (format, pixel size, ...)
- Just before the first Group of Pictures (00 00 01 B8), insert a valid Sequence Header. This system header is usually around 100 bytes in length, and starts with 00 00 01 B3. If you cannot find it in the damaged file, take it from a good file recorded with the same settings (format, pixel size, ...)
- Save the file and give it a name with suffix .mpg
This procedure works in most cases.