Repair or recovery
One often reads reports of someone attempting to recover a video file, but being told that it was probably corrupted, and so could not be recovered. Most of these reports we don't totally believe. If you read the previous section on GoPro file structures you will see that the video file is not stored sequentially, so that when the FAT is lost after file deletion, there is no simple way to recover the data, unless you use GoPro recovery software.
The repair route may take an unplayable file and reconstruct the meta data and make the video playable. However, the data may well be incomplete or corrupted. It is impossible to repair corrupted video, but only repair corrupted <moov> atoms.
Many video cameras have the same non sequential issue, but GoPro have a bigger problem with repair in that Hero3 and Hero 4 cameras typically record low and high resolution videos at the same time. We have seen 'repaired' videos where the video kept jumping between the two streams of video. Fixing this would be a very tedious manual job! The solution is to do a correct recovery in the first place. GoPro Recovery understands the interleaving of low and high resolution and can recover each one independently. The result are two playable video files, just recorded, ie an MP4 and LRV file.
When is repair necessary
There are times when repair is valid solution, and this is when a video has not been finalised. ie there is no <moov> atom. This is an option in the forensic version of GoPro Recovery, but unlike many programs, the low and high resolution streams are extracted first, and then reindexed. The GoPro Recovery program does not actually repair, but just reindexes.