Page 1 of 1

How to reconstruct subclips when bins have gone missing

PostPosted: Fri Jun 24, 2016 11:01 pm
by Scott Gilbertson
As I reported elsewhere (https://forum.blackmagicdesign.com/viewtopic.php?f=21&t=44227#p285693), I had all my bins go missing. I'm running version 12.5.0.052 on Windows 10.

I wanted to see if there's some way to recover the timelines and subclips that had been present in the now-missing bins, rather than re-doing the entire project completely from scratch. I'm posting a progress report here, in case somebody either knows more about it than I do or can benefit from what little I do know.

There was a timeline visible when I opened the project, with all missing clips. I was able to sort-of rescue that one by converting to a compound clip, whereupon it's in the project. That way I can get it back later by decomposing the compound clip into a new timeline.

The main things I figured out is that the "SeqContainer" directory contains the deleted timelines, and that those timeline files contain some information about the subclips. In my case that directory is:
Code: Select all
C:\ProgramData\Blackmagic Design\DaVinci Resolve\Support\Resolve Disk Database\Resolve Projects\Users\scott\Projects\1067 Soft Case and Carry Strap\SeqContainer


The files have gobbledigook names:
Code: Select all
04870484-467d-4622-b86f-b2709710b89a.xml
0eec86e1-009a-4787-8573-ad0402d8bc33.xml
31f9e547-6946-482e-83f6-4613db129f08.xml
3bbee701-1785-4470-b18d-fe498ba40789.xml
79a7430f-e7ae-4b9c-be42-253f664c41f7.xml
7e9c3ce7-a49e-4940-a592-9a770cce8083.xml
ea0e846b-6c3d-4fd6-a96d-4b828938e6e3.xml


Each one contains a similarly unreadable sequence ID:
Code: Select all
<Sequence>f6c2cbde-d572-4ac5-9591-86b5bf77a02c</Sequence>


Over in Project.xml, searching for "Sm2Sequence" finds only the ones that were not obliterated by the bin-dropping bug:
Code: Select all
<Sm2Sequence DbId="2de3e6c1-42aa-4f65-b7ae-2e9689e86c91">


So the spuriously-deleted timelines are still there, just not linked to Project.xml.

Within each "SeqContainer" file, searching for "Subclip</Name>" gets you to the subclip entries (each inside a Sm2TiVideoClip element), and you'll find stuff like:
Code: Select all
<Name>1B01_1C04_DSC3162.MOV Subclip</Name>
<Start>109572</Start>
<Duration>629</Duration>
...
<MediaStartTime>91.76</MediaStartTime>


What I think I know is:
  • The "Name" field tells you which original clip the subclip was excerpted from (just ignore the "Subclip" part.
  • The "Start" time is within the timeline -- no use for re-creating the subclip.
  • The "Duration" field is in source frames. In this case the clip was 25fps, so 629 frames is 25.16 seconds.
  • The "MediaStartTime" field is seconds. In the case above 91.76 seconds is 91 seconds and 19 frames, so 1:31:19 as expressed in the viewer on the Media page.

I believe in that case I can reconstruct the particular subclip thus:
  • Add 1B01_1C04_DSC3162.MOV to the project on the Media page.
  • In that clip, set an "in" point at 91.76 seconds = 1:31:19 in the viewer.
  • Set an "out" point at 91.76 + 25.16 = 117.92 seconds = 1:57:23 in the viewer.
  • Save as a subclip

Repeat for every subclip referenced in the timeline. Then open my compound clip in a new timeline, decompose in place, and if my stars are lined up just right, all the clips should conform properly to the re-created subclips. I plan to write a little script that pulls out all the information and converts the time formats, so I can print out a checklist.

Can anybody confirm, refute or add to that?

In particular, am I missing some obvious-in-retrospect far simpler solution?

Re: How to reconstruct subclips when bins have gone missing

PostPosted: Mon Jun 27, 2016 4:40 pm
by Scott Gilbertson
In case anybody cares about this very strange, rare edge-case, I can confirm that the method I described basically worked. I wrote a little AWK script to extract the timing information into CSV, printed that out and used it as a checklist to re-create all my subclips.

Then I grabbed a delivered MOV I had previously made from the timeline (before all my bins went missing), and set it as a reference clip for the recovered timeline.

Then I did 54 iterations of:
  • Using the name shown on the timeline clip, select the corresponding subclip in the media list.
  • Right-click / Force Conform With Media Pool Clip
  • Repeat as necessary selecting different subclips, in cases where there was more than one per source clip, to find the correct subclip.
  • Occasionally adjust the timing a little bit, to match the reference video. I don't know why that was needed.

Yes, only 54. It's a short instructional video.

It took four hours or so to recover what was originally something like 10-12 hours of work, which isn't too bad I guess. More importantly, I don't have to get re-approval of the recovered timeline, because it matches the render folks had already reviewed.