Solution 1:

Method 1:

I believe Untrunc is the perfect tool to fix your broken video file.

The Untrunc package can

restore a damaged (truncated) mp4, m4v, mov, 3gp video. Provided you have a similar not broken video.

You can install the package following the Readme in the repository, either compile it yourself or use the Docker container method.

Then, you can use the command

./untrunc /path/to/working-video.m4v /path/to/broken-video.m4v

to fix your broken video.

Then it should churn away and hopefully produce a playable file called broken-video_fixed.m4v.

Method 2:

The online server Restore.Media has a very similar capability. You upload the broken video and another working video taken by the same device. The website can generate a low resolution repaired video for preview without charge. But you need to pay if you want to download the full repaired video.

Solution 2:

Try this:

Launch "VLC media player".
Go to "Media"
Select "Convert or Save"
Add "corrupt .mov file" to be fixed.
Press "Convert or Save"
Provide the file name for the destination file
Select the desired Codec from the profile list.
Press “Edit Selected Profile” button to check a specified profile settings
You can also select to add a new profile or delete any existing profile
Press "Start"

Or

Create a copy of the "corrupt .mov file"
Rename the copy of .mov file to .avi file
Launch the "VLC media player"
Select "Preferences"
Press "Input or Codecs"
Select "Always Fix next to Repair avi files"
Press "Save"