My GoPro video files seem to be corrupted. But are they really?
Spoiler alert: My files weren’t really corrupted but all error messages made it sound like they were but I was still able to view the files just fine. If this is the case for you, you might want to read this. Or if you’re into some really absurd shit, then you might want to grab a drink so you can snort it out in a few minutes.
So, it all started when I got home after shooting some dope footage. I checked out the footage with GoPro player and immediately enabled the Reelsteady stabilization. Reelsteady Go has been a vital part of my delivery process so the integrated GoPro workflow is really nice to me. The shots looked really good!
I shot this using my new GoPro Hero 11 so there were a couple of potential gotcha’s here:
It is a new camera running the latest GoPro labs version so you’re always exposing yourself to a bit of a risk when using Labs software. However over the course of the past 4 years, I’ve never had a critical issue that ended up rendering my footage corrupted and unusable so I do feel comfortable running this software for production shoots.
It was incredibly cold outside and when running the camera off a cold battery, the GoPro would shut off since the battery would be too cold to actually deliver enough juice for the GoPro to keep up with the high processor demands to capture 4K at 60FPS in a 8:7 ratio with 10bit. Lifehack: when you get to the shoot, take a few GoPro batteries and put them in your pants pockets. Your body heat will keep the batteries at a good temperature for the GoPro to work correctly. If your GoPro sits still for a while, make sure to exchange the battery in the GoPro for a nice hot one that was still in your pants pockets.
It was the first time I set the camera up with a couple of new labs features which I wondered might have contributed to corrupting the files (spoiler alert: they didn’t).
When I set up my GoPro Player Batch Export window and hit the start render part, only one file rendered correctly: The one that was only 3 seconds long. It was one of those accidentally-pressed-record videos. All other files were unable to render.
I wasn’t sure what was wrong with the files so before panicking, I opened up Gyroflow and pulled all the files into the render queue. Gyroflow has never let me down, unless the files are actually REALLY damaged. But right after I hit the render button, Gyroflow gave me the exact same result: Files seemed to be corrupted. The error message made me even more concerned.
At this point I thought that perhaps the files were incorrectly closed upon hitting the stop-record button on the GoPro. I am a Mac user so I usually quickly trim videos by just opening them up in Quicktime player and trimming the video with the built-in trim feature. When I tried to open a one of the files, the Quicktime logo momentarily appeared in the dock… then disappeared again. Did Quicktime just crash on me? Yes it did. It definitely did. I know because I tried it 3 times.
Okay, back to GoPro player and try to trim the file from there. I opened a GoPro Player window with a file loaded, this time NOT in the Batch Export window. I applied Reelsteady Go and selected a part of the video to trim. Since I want to have the most footage of the shot exported, I chose from the 2nd second to just after I landed the drone (thus trimming away a couple of seconds from the end, leaving me with 3 minute of solid flight footage). When hitting the export button from that screen, I got another error referring to potentially corrupted files.
Okay, if even GoPro Player is unable to trim the file, we are in trouble. It’s safe to say that now I’m getting worried. Let’s open up the file with VLC. VLC is a dope piece of software. If there was something wrong with the file, VLC would tell me. It would also not give a damn and fix it and allow me to render out the files into a valid file. But VLC just opened the file and kept it’s log window closed. Because there was nothing there to report. According to VLC the file was fine.
At this point, it was clear to me that something was wrong. This is what I knew at this point in time:
GoPro Player can open the files and play them back, even after applying Reelsteady Stabilization.
GoPro Player can not export the files from the Batch Export window
Gyroflow can open the files and play. them back, even with stablization.
Gyroflow can not export the files from the render queue.
Quicktime crashes upon opening the files.
GoPro Player cannot trim the file.
VLC reports files are okay.
Sigh… Okay, let’s try a smaller step. Let’s try trimming one more time with GoPro player, this time NOT using the Reelsteady Go stabilization turned on. As I hit the ‘trim ok’ button, I get a little pop-up asking me whether I want to immediately export the file or create a trimmed document first. This means that it just creates a trimmed file in memory before you chose to save the file. I’m not sure why I wouldn’t just export straight away but this gives me an additional step to debug this problem, so yes: let’s do it.
As I click the option to created a trimmed document of the video that was perfectly playing just a second ago, I get greeted with yet another error message. However this time, it revealed the actual problem to me: The disk of my laptop was full.
So I right clicked the trash, hit the ‘empty trash’ option and waited while 500GB gets freed up. Then I tried to export the file again.
Works like a charm.
I go back to the Batch Export window where my queue from earlier on is still ready to go. I hit the ‘play’ button to start rendering the queue, I wait for a second while I watch the process… 2%… 3%… 4%…. Yes. It now keeps going.
So next time you get greeted with ‘file potentially corrupted’ while …
… you know the SD cards are reliable
… you know the files were closed correctly on the GoPro (no power loss etc)
… the files play fine on your machine
Perhaps check the amount of free disk space on your machine before hitting the ‘export’ button.
Or even better: Hey GoPro, why would you not give better error reporting to your users about free disk space. It’s not like it’s difficult to suggest emptying the trash on a machine with a total free space of 300MB…
Anyway, I hope this helps somebody in the future!