[FFmpeg-user] Fwd: OBS and OBS Portable Recording Into Same File Simultaneously

Moritz Barsnick barsnick at gmx.net
Fri Jun 26 11:38:38 EEST 2020


On Wed, Jun 24, 2020 at 10:59:51 -0400, David Bayles wrote:
> In OBS and OBS Portable, my video technician had the save location set to
> the same exact folder (this was not how I intended it to be, but he made a
> last minute change to accomadate what he suspected was a faulty hard
> drive). We also had a hotkey to start recording on both apps
> simultaneously. We left the auto naming scheme in place for both instances
> of OBS since they were supposed to be saving to two totally different
> external hard drives (we have since changed this). This perfect storm
> resulted in both recordings being written into a single file (see link
> above), instead of two files as intended. It is unplayabe in VLC.

Assuming that both programs appended to the file (and didn't overwrite
each other at the same file position), you would have double the data,
interleaved on operating system / file system level.

To properly disassemble at least one of the two halves, you would
probably need to operate of block level, understanding how large the
blocks were, and trying to fiddle out the ones from the one program and
the ones from the other, while making sense to a decoder.

I consider that ffmpeg gives you some results at all a coincidence - it
could just as well we confused at the first inconsistency. (I assume
Matroska allows for some of this recovery.

I do understand that you would like to use ffmpeg to re-assemble the
original video, especially as extracting audio looks somehwat
promising. Yet the video's block sizes will not correspond to the file
system's block sizes, and ffmpeg will keep encountering inconcistencies
to the point of giving up, unless you take away the conflicting
segments.

> My life would saved if there is a way to extract good video/audio from this
> corrupted file. Any help would be greatly appreciated, thanks in advance!

You could try to observe at which point ffmpeg detects the first errors
(the showinfo filter will indicate the byte position ffmpeg is
operating on), and from there remove blocks of 512, 1024, 2048 bytes,
hoping that after removal of some of them, you hit a proper block
again, and ffmpeg will no longer "lose sync" at that point, until again
a later point in the file.

Just a wild suggestion.

Oh, and if the two OBS overwrote each other's data, I'm pretty sure
you're lost.

Cheers,
Moritz


More information about the ffmpeg-user mailing list