Ich habe nach einer Anleitung für benutzerdefinierte Schnitte gesucht, aber keine gefunden, und ich stoße auf eine Frage, wie es funktioniert. Ich verwende comskip manuell vor meinen Konvertierungen und bearbeite normalerweise die resultierende EDL-Datei, daher war ich interessiert, als ich benutzerdefinierte Schnitte gesehen habe, aber es scheint nicht das zu tun, was ich will.
Ich öffne das Video und die EDL wird gleichzeitig geladen. Wenn ich also beispielsweise Zeile 2 auswähle, klicke ich mit der linken Maustaste, damit der Schieberegler bewegt wird, und passe ihn nach Bedarf an. Ich klicke auf „Start Cut“ und erwarte, dass sich der Wert in der aktuellen Zeile ändert, aber das tut er nicht. Soweit ich das beurteilen kann, muss ich die Zeile entfernen und eine völlig neue hinzufügen, aber dabei verliere ich die End-Cut-Position, also lohnt es sich nicht.
Gibt es eine Möglichkeit, die Werte über die GUI zu bearbeiten, die ich übersehe? Wenn ich diese kleinen Anpassungen vornehmen und die resultierende Datei einfach speichern könnte, wäre es perfekt.
Ich bin mir nicht sicher, ob es funktioniert – zumindest nicht so, wie ich es erwartet habe. Das erste Problem ist eher nebensächlich: Wenn ich das Video öffne, beginnt der erste Schnitt meist korrekt bei 0.00, also klicke ich einfach auf „Cut End“, warte bis der Schieberegler läuft und justiere dann – aber ich kann „Cut End“ nicht betätigen, weil anscheinend zuerst „Cut Start“ gesetzt werden muss. Das könnte ich wohl hinnehmen.
Das größere Problem: Ich setze den Schieberegler zurück auf 0, klicke „Start Cut“, dann „Cut End“, warte bis der Schieberegler auf den aktuellen EDL-Wert springt, justiere etwas – aber wenn ich nun „End Cut“ anklicke, erscheint ein Popup: „Invalid End Cut – End of cut has to be after start cut“. Das ist es aber, daher weiß ich nicht, woran es liegt. In der Tabelle steht „Cut Start: 0.00“, „Cut End: 00:01:23.980“. Der „End Cut“-Button ist aktiv, der Schieberegler steht bei 00:03:12.988, doch ein Klick auf „End Cut“ zeigt weiterhin diese Fehlermeldung. Die Meldung ist also falsch, denn der Start liegt bei 0.
Um den Schnitt zu ändern, bearbeite den Schnitt-Zeitstempel manuell, indem du auf den Eintrag doppelklickst, den du schneiden möchtest.
Start und Ende funktionieren nur paarweise, um neue Schnitte hinzuzufügen; du brauchst einen Start, dem ein Ende folgt. Alle späteren Bearbeitungen müssen durch manuelles Editieren der Schnitt-Tabelle erfolgen.
Ein Vorschlag für zukünftige Builds – ich bin mir nicht sicher, ob es möglich ist – aber könntest du es so einrichten, dass ein Klick auf die Startzeit (unter dem Video, nicht in der Tabelle) diese in die Zwischenablage kopiert? Ich habe bisher manuell editiert, aber oft arbeite ich an einem kleinen Monitor und mache dabei Tippfehler, und meine Erinnerung ist miserabel; das Problem ist, dass ich die Zeiten vergesse, sobald ich mit dem Editieren beginne, ändert sich die Startzeit. Auf diese Weise könnte ich den Wert kopieren und einfach über die Start- oder Endzeit einfügen, die ich ersetzen möchte.
Ich habe es gerade installiert, aber bei mir stürzt Custom Cuts ab, wenn ich auf den Schieberegler klicke und dann mit den Pfeiltasten nach links oder rechts bewegen will. Ich klicke auf den Schieberegler, um ihn zu fokussieren, versuche dann, mit der Pfeiltaste zu bewegen, und nichts passiert – d. h. der Zeitgeber bewegt sich nicht, aber nach etwa 3–5 Sekunden schließt sich das Fenster einfach ohne Meldung.
Aus dem Ereignisprotokoll:
Anwendung: MCEBuddy.CustomCutsGUI.exe
Framework-Version: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund einer nicht behandelten Ausnahme beendet.
Ausnahmeinfo: System.Runtime.InteropServices.COMException
bei System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32, IntPtr)
bei System.Windows.Clipboard.Flush()
bei System.Windows.Clipboard.CriticalSetDataObject(System.Object, Boolean)
bei System.Windows.Clipboard.SetDataInternal(System.String, System.Object)
bei MCEBuddy.CustomCutsGUI.MainWindow.timeSlider_KeyDown(System.Object, System.Windows.Input.KeyEventArgs)
bei System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
bei System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
bei System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
bei System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs)
bei System.Windows.Input.InputManager.ProcessStagingArea()
bei System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs)
bei System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport)
bei System.Windows.Interop.HwndKeyboardInputProvider.ReportInput(IntPtr, System.Windows.Input.InputMode, Int32, System.Windows.Input.RawKeyboardActions, Int32, Boolean, Boolean, Int32)
bei System.Windows.Interop.HwndKeyboardInputProvider.ProcessKeyAction(System.Windows.Interop.MSG ByRef, Boolean ByRef)
bei System.Windows.Interop.HwndSource.CriticalTranslateAccelerator(System.Windows.Interop.MSG ByRef, System.Windows.Input.ModifierKeys)
bei System.Windows.Interop.HwndSource.OnPreprocessMessage(System.Object)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
bei System.Windows.Threading.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority, System.Delegate, System.Object)
bei System.Windows.Interop.HwndSource.OnPreprocessMessageThunk(System.Windows.Interop.MSG ByRef, Boolean ByRef)
bei System.Windows.Interop.ThreadMessageEventHandler.Invoke(System.Windows.Interop.MSG ByRef, Boolean ByRef)
bei System.Windows.Interop.ComponentDispatcherThread.RaiseThreadMessage(System.Windows.Interop.MSG ByRef)
bei System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
bei System.Windows.Application.RunDispatcher(System.Object)
bei System.Windows.Application.RunInternal(System.Windows.Window)
bei MCEBuddy.CommercialCutsGenerator.App.Main()
Dieser Fehler tritt auf, weil deine Zwischenablage von einer anderen Anwendung blockiert wird. Es sollte trotzdem nicht abstürzen, danke fürs Melden. Ich habe einen Patch eingebaut, der die Ausnahme ordnungsgemäß behandelt und weitermacht.
Ok, musste warten, bis eine Konvertierung fertig war. Der Absturz tritt nicht mehr auf, aber ich würde sagen, die Ergebnisse sind gemischt. Der PC, den ich benutzte, ist nicht der, auf dem ich normalerweise Custom Cuts verwende; er war mit einer Aufnahme beschäftigt, also installierte ich es auf einem anderen. Nach der Installation und einem Neustart passiert der Absturz nicht mehr, aber ich glaube, die Zwischenablage zeigt aus irgendeinem Grund noch als gesperrt an. Es ist aber nichts anderes geöffnet außer MCEBuddy selbst.
Ich habe es auch auf dem PC ausprobiert, den ich normalerweise nutze (nachdem meine Aufnahme fertig war), und auf diesem scheint es zu funktionieren. Ich öffne die Datei, stelle den Schieberegler ein und klicke auf die Zeit, und dann kann ich einfügen. Ich bin mir also nicht sicher, warum es auf dem anderen PC nicht funktioniert, aber es könnte andere Leute betreffen. Normalerweise mache ich die Schnitte auf meinem Aufnahme-PC, da Custom Cuts dort leistungsmäßig besser zu funktionieren scheint als auf meinem Konvertierungsrechner. Gleiches Betriebssystem, aber unterschiedliche Grafikkarten. Der, auf dem es funktioniert, nutzt die onboard Intel-Grafik, der andere eine AMD Radeon R9 200-Serie. Ich bin mir nicht sicher, ob das eine Rolle spielt, aber das Springen von Position zu Position in einer TS-Datei lädt schneller auf der Intel-Onboard-Grafik.
Ein kleiner Fehler ist mir beim Kopieren der Zeit aufgefallen. Wenn du den Schieberegler ganz nach rechts bewegst, wird beim Klicken die Zeit nicht kopiert; es bleibt einfach das zuletzt in der Zwischenablage Gespeicherte stehen. Ganz links klappt das Kopieren hingegen – man erhält 00:00:00.000.
Soweit ich sehen kann, kopiert ein Klick auf das rechte Zeit-Element nie, nur das linke funktioniert.