Seite 1 von 1
Resolve erstellt aus DNG-Sequenz keine zusammenhängenden Clips
Verfasst: So 16 Apr, 2017 08:39
von mschuelbe
Ich habe ein Problem mit DaVinci Resolve. Wenn ich einen Ordner mit einer zusammenhängenden DNG-Sequenz als Medium importiere, erstellt das Programm keinen ebenfalls zusammenhängenden Clip, sondern mehrere - gleich lange, sehr kurze - Einzelclips. Diese sind nicht mal in der richtigen Reihenfolge, wenn ich sie in die Timeline ziehe, sondern ich muss sie mühsam ordnen, um den ursprünglich zusammenhängenden Shot wieder zusammenzufügen.
Das kann doch nicht im Sinne des Erfinders sein.
Re: Resolve erstellt aus DNG-Sequenz keine zusammenhängenden Clips
Verfasst: So 16 Apr, 2017 08:49
von mschuelbe
Ach ja, und das Audio wird auch getrennt angezeigt. Witzig ist auch, dass der Import bei manchen Clips (aber selten) richtig funktioniert)
So sieht das dann aus:
Screenshot 2017-04-16 08.48.13.png
Links zwei richtig importierte Clips. Dann einmal Audio und vier zerhackstückelte Clips.
Re: Resolve erstellt aus DNG-Sequenz keine zusammenhängenden Clips
Verfasst: So 16 Apr, 2017 10:07
von cantsin
Woher stammt Dein Cinema DNG-Material?
Für mich sieht das so aus, als ob es da bei der Aufnahme Framedrops (wegen eines zu langsamen Aufnahmemediums) gegeben hätte, weshalb Resolve keine zusammenhängenden Clips mehr importieren kann. Überprüfen kannst Du das, indem Du den betroffenen Clip-Ordner öffnest und nachsiehst, ob die Nummerierung der DNG-Einzeldateien Lücken hat.
Re: Resolve erstellt aus DNG-Sequenz keine zusammenhängenden Clips
Verfasst: So 16 Apr, 2017 11:42
von klusterdegenerierung
Ja sehe ich auch so. Wenn es mit einem Shogun passiert ist, geht ja zb fasst nur die Sandisk Extreme Pro,
ansonsten passiert genau das was cantsin schreibt.
Sobald beim Shogun einmal das Kängeruh Symbol links erscheint, wars das.
Sehe Dir doch mal die Dateien in Bridge an und scroll sie mal wie ein film durch, dann kannst Du besser sehen ob frames fehlen.
Re: Resolve erstellt aus DNG-Sequenz keine zusammenhängenden Clips
Verfasst: So 16 Apr, 2017 11:56
von cantsin
Falls sich die Framedrop-Diagnose bestätigen sollte, hätte ich noch ein (in Perl) selbstgeschriebenes Mini-Utility, das alle fehlenden Frames eines CinemaDNG-Clips durch Kopieren des vorhergehenden Frames ersetzt:
Code: Alles auswählen
#!/usr/bin/perl
=head1 NAME
fixCinemaDNG - fixes CinemaDNG directories with dropped frames
=head1 SYNOPSIS
fixcinemadng <directory>
=head2 Examples
B<cd some_cinemadng_directory; fixcinemadng .>
Go into one CinemaDNG directory, fix all missing files.
=head1 DESCRIPTION
fixCinemaDNG scans a CinemaDNG directory for missing files/frames (according to the file numbering) and replaces each missing frame with the previous frame.
This will allow to open and process CinemaDNG in applications that only accpet CinemaDNG directories without missing DNG files, such as DaVinci Resolve.
=head1 AUTHOR
fcr <info@pleintekst.nl>
=head VERSION & LICENSE
v0.9, 2014
Public domain
=cut
use File::Copy qw(copy);
if (@ARGV) {$dir = $ARGV[0] ; $dir =~ s/\|//g } else {$dir = '.'}
opendir (DIR, $dir) or die ("Could not access current directory.\n");
while ($file = readdir(DIR)) {
if ($file =~ /dng$/i) {
$frame_number = $file;
$frame_number =~ s/(.*_)([0-9]+)\.dng/\2/;
if ($counter == 0) {
$file_name_prefix = $1;
}
push @frames, $frame_number;
$counter++;
}
}
closedir (DIR);
$counter = 0;
@frames = sort {$a <=> $b} @frames;
foreach $frame_number(@frames) {
if ($counter > 0) {
$frame_diff = $frame_number-$frame_number_old;
if (($frame_diff) > 1) {
print "filling dropped frames between frame $frame_number_old & $frame_number...\n";
$old_file = $file_name_prefix . $frame_number_old . '.dng';
for ($x = ($frame_number_old+1); $x < $frame_number; $x++) {
$new_file = $file_name_prefix . sprintf("%06d", $x) . '.dng';
copy $old_file, $new_file;
}
}
}
$frame_number_old = $frame_number;
$counter++;
}
Das Script kann auch
hier heruntergeladen werden.
(Auf MacOS und Linux einfach sichern und auf der Kommandozeile mit "perl fixcinemadng <ordner>" ausführen. Kurzanleitung per "perldoc fixcinemadng". Bei Windows braucht man eine Perl- oder Cygwin-Installation, um das Script ausführen zu können.)
Re: Resolve erstellt aus DNG-Sequenz keine zusammenhängenden Clips
Verfasst: Mo 17 Apr, 2017 15:38
von mschuelbe
Also Leute, vielen Dank, vor allem für das Script – das werde ich mal ausprobieren.
Dummer Anfängerfehler, ich hätte die Optionen "Stop Record if Card drops Frame" und "Record RAW on 2 Cards" auswählen müssen.
Natürlich habe ich mehrere SanDisk Extreme.
Re: Resolve erstellt aus DNG-Sequenz keine zusammenhängenden Clips
Verfasst: Di 18 Apr, 2017 15:49
von mschuelbe
Ich habe auf dem PC "Strawberry" und "Perl64" installiert, aber es funktioniert leider nicht. Ich meine, das Script startet überhaupt nicht.
Was mache ich falsch?
cantsin hat geschrieben: ↑So 16 Apr, 2017 11:56
Falls sich die Framedrop-Diagnose bestätigen sollte, hätte ich noch ein (in Perl) selbstgeschriebenes Mini-Utility, das alle fehlenden Frames eines CinemaDNG-Clips durch Kopieren des vorhergehenden Frames ersetzt:
Code: Alles auswählen
#!/usr/bin/perl
=head1 NAME
fixCinemaDNG - fixes CinemaDNG directories with dropped frames
=head1 SYNOPSIS
fixcinemadng <directory>
=head2 Examples
B<cd some_cinemadng_directory; fixcinemadng .>
Go into one CinemaDNG directory, fix all missing files.
=head1 DESCRIPTION
fixCinemaDNG scans a CinemaDNG directory for missing files/frames (according to the file numbering) and replaces each missing frame with the previous frame.
This will allow to open and process CinemaDNG in applications that only accpet CinemaDNG directories without missing DNG files, such as DaVinci Resolve.
=head1 AUTHOR
fcr <info@pleintekst.nl>
=head VERSION & LICENSE
v0.9, 2014
Public domain
=cut
use File::Copy qw(copy);
if (@ARGV) {$dir = $ARGV[0] ; $dir =~ s/\|//g } else {$dir = '.'}
opendir (DIR, $dir) or die ("Could not access current directory.\n");
while ($file = readdir(DIR)) {
if ($file =~ /dng$/i) {
$frame_number = $file;
$frame_number =~ s/(.*_)([0-9]+)\.dng/\2/;
if ($counter == 0) {
$file_name_prefix = $1;
}
push @frames, $frame_number;
$counter++;
}
}
closedir (DIR);
$counter = 0;
@frames = sort {$a <=> $b} @frames;
foreach $frame_number(@frames) {
if ($counter > 0) {
$frame_diff = $frame_number-$frame_number_old;
if (($frame_diff) > 1) {
print "filling dropped frames between frame $frame_number_old & $frame_number...\n";
$old_file = $file_name_prefix . $frame_number_old . '.dng';
for ($x = ($frame_number_old+1); $x < $frame_number; $x++) {
$new_file = $file_name_prefix . sprintf("%06d", $x) . '.dng';
copy $old_file, $new_file;
}
}
}
$frame_number_old = $frame_number;
$counter++;
}
Das Script kann auch
hier heruntergeladen werden.
(Auf MacOS und Linux einfach sichern und auf der Kommandozeile mit "perl fixcinemadng <ordner>" ausführen. Kurzanleitung per "perldoc fixcinemadng". Bei Windows braucht man eine Perl- oder Cygwin-Installation, um das Script ausführen zu können.)
Re: Resolve erstellt aus DNG-Sequenz keine zusammenhängenden Clips
Verfasst: Di 18 Apr, 2017 17:19
von cantsin
mschuelbe hat geschrieben: ↑Di 18 Apr, 2017 15:49
Ich habe auf dem PC "Strawberry" und "Perl64" installiert, aber es funktioniert leider nicht. Ich meine, das Script startet überhaupt nicht.
Was mache ich falsch?
Perl-Scripts laufen nur in einer Terminal-Kommandozeilenumgebung wie dem Windows Command Prompt, der Windows Power Shell oder Cygwin. Du musst das Skript per Tastatureingabe im jeweiligen Terminal ausführen (und dabei auch die Grundbedienung der Kommandozeilenumgebung kennen).