Premiere Elements „Debug-Ereignis“: Keyframe-Fehler

Ich bin auf einen wahrscheinlichen Fehler in Premiere Elements 10 gestoßen, und glücklicherweise habe ich auch eine Problemumgehung gefunden, weshalb ich unten meine eigene Antwort geschrieben habe. Aber da ich das zugrunde liegende Problem nicht lösen konnte, würde ich mich sehr über weitere Ideen zur Behebung des Problems freuen. Hier nun die Frage:

Wie kann ich eine Premiere Elements-Projektdatei (.prel) retten, die aufgrund des folgenden Fehlers nicht geöffnet werden kann:

Premiere Elements Debug Event
Premiere Elements has encountered an error:
[d:\pre\mediacore\mediafoundation\api\inc\Keyframe/Keyframe.h-142]

Dieser Fehler scheint sporadisch bei Nicht-US-Versionen von Windows aufzutreten. Es gibt während der Bearbeitungssitzung keinen Hinweis darauf, dass etwas nicht stimmt (Speichern und automatisches Speichern funktionieren einwandfrei), aber beim nächsten Neustart kann das Projekt nicht geöffnet werden. Andere Projekte scheinen nicht betroffen zu sein.

Laut anderen Benutzern, die denselben Fehler gesehen haben (Google nach "Premiere Debug Keyframe" und Sie werden einige finden), könnte es einen Zusammenhang mit der Einführung von DVD-Menüs in das Projekt geben, aber ich spekuliere hier nur.

Antworten (2)

Die Analyse der Dateien, die sich nicht öffnen lassen, im Vergleich zu denen, die sich problemlos öffnen lassen, zeigt ein eklatantes Problem: Alle Zeilen in der project.prelDatei (die nur eine XML-Datei ist), in denen Dezimalzahlen <StartKeyframe>oder <Keyframe>Tags enthalten sein sollten, sind beschädigt. Beispiel:

Korrekte Version:

<StartKeyframe>-91445760000000000,100.,0,0,0.,0.,0.,0.</StartKeyframe>

Defekte Version:

<StartKeyframe>-91445760000000000,100,,0,0,0,,0,,0,,0,</StartKeyframe>

Anscheinend wurde Premiere Elements irgendwann von den europäischen Gebietsschemaeinstellungen verwirrt und entschied sich, Dezimalwerte mit dem europäischen Dezimaltrennzeichen (Komma) anstelle des US-Dezimaltrennzeichens (Punkt) zu speichern. Natürlich ist es dann unmöglich, diese Datei jemals wieder korrekt zu öffnen.

Glücklicherweise gibt es zumindest in meinen Tests nur drei Arten von Dezimalwerten in .prelDateien:

  1. ganzzahlige Gleitkommazahlen: 1., 0.,100.
  2. der Einzelwert0.5
  3. Schwimmer mit doppelter Genauigkeit: 0.16666666666666666,1.000000000000000000000000

Dadurch ist es möglich, die Datei mit einem regulären Ausdruck zu ersetzen. Wenn Ihr Editor reguläre Ausdrücke im Perl-Stil unterstützt, können Sie nach suchen

,(?:(?=[,<]|\d{10})|(?<=\b0,)(?=5\b))

und alle durch ersetzen

.

Dadurch werden alle fehlerhaften Dezimalkommas ersetzt (dh diejenigen, denen entweder ein weiteres Komma, eine öffnende spitze Klammer, ein Dezimalbruch von mindestens 10 Ziffern oder die Zahl 5 folgt (aber nur, wenn diesem Komma die einzelne Ziffer 0 vorangestellt ist). ) mit einem Dezimalpunkt.

Danach (sichern Sie .prelvorher unbedingt Ihre Datei!) lässt sich die Datei wieder korrekt öffnen. Sobald es jedoch erneut gespeichert wird, wird der Fehler erneut eingeführt.

Wenn also jemand eine Idee hat, wie man dieses Problem tatsächlich beheben kann, anstatt es mit einer zugegebenermaßen wackeligen Regex zu reparieren, wäre ich sehr dankbar.


Ein Hinweis, was das zugrunde liegende Problem sein könnte: Ungefähr zu der Zeit, als der Fehler eingeführt wurde, öffnete Premiere spontan ein kleines Dialogfenster, das (auf Deutsch) so etwas sagte

"Premiere Elements is updating a component. Information is being transmitted..."

Während dieses Fenster angezeigt wurde, tauchten zwei Win7 UAC-Boxen auf, die mich aufforderten, dem Windows-Regserver zu erlauben, mein System zu aktualisieren. Die eigentlichen Befehle, für die eine Genehmigung erforderlich war, waren

C:\Windows\System32\regsvr32.exe /s 
   "C:\Program Files\Adobe\Adobe Premiere Elements 10\mc_dec_mpa_ds.ax" 
   "C:\Program Files\Adobe\Adobe Premiere Elements 10\mc_dec_mp2v_ds.ax"

und

C:\Windows\SysWOW64\regsvr32.exe /s 
   "C:\Program Files\Adobe\Adobe Premiere Elements 10\32\mc_dec_mpa_ds.ax" 
   "C:\Program Files\Adobe\Adobe Premiere Elements 10\32\mc_dec_mp2v_ds.ax"

(Zeilenumbrüche zur Verdeutlichung eingefügt).

Beim ersten Mal habe ich diese Aktionen zugelassen (was im Nachhinein vielleicht eine schlechte Idee war ...); Jetzt passiert dies jedes Mal, wenn ich versuche, eine "gepatchte" Projektdatei zu öffnen. Egal, ob ich es jetzt zulasse oder ablehne - Premiere schreibt in jedem Fall eine beschädigte Projektdatei, wenn ich mein Projekt speichere.

Dieser reguläre Ausdruck ist brillant - hat mir viel Zeit gespart, als ich eigentlich keine Hoffnung hatte, dieses Projekt wiederherzustellen! Obwohl ich keine Ahnung habe, was dazu geführt hat, dass das Projekt auf diese Weise gespeichert wurde, ist das bei mir nur einmal passiert.
Ich würde dir einen riesigen Preis geben für das, was du getan hast. Das ist einfach bemerkenswert.

1. Stellen Sie defekte Dateien wieder her

Ich fand diese Online-Bewerbung sehr hilfreich.

http://www.vibait.com/software/premiere-fix-keyframe.h-142/

Laden Sie einfach Ihre Premiere Elements-Datei hoch und Sie erhalten eine gefixte Version zurück. Speichern Sie es auf Ihrer Festplatte und öffnen Sie es.

Bei einer Datei bekam ich einige Male Fehlermeldungen wie diese:

Parse-Fehler in Zeile 1431. 8 Werte erwartet, 9 erhalten

Alter Wert: 116050644638,87,5,0,0,25,791250419642971,0,16666666666666666,1,2731148504048133,0,16666666666666666

Neuer Wert: 116050644638,87,5,0,0,25,791250419642971,0,16666666666666666,1,2731148504048133,0,16666666666666666

Mit einem Editor habe ich nach einigen der genannten Nummern in der XML-Datei gesucht und einfach das XML-Element gelöscht (alle Nummern gelöscht).

2. Beheben Sie es (dh eine Problemumgehung)

Auf einigen Webseiten wurde erwähnt, dass die Zahlenformate der Ländereinstellungen (insbesondere , und .) an diesem Problem beteiligt sein könnten. Nach dem Setzen von "." Als Dezimaltrennzeichen hatte ich dieses Problem nicht mehr.