Davinci Resolve Audiospur auslesen und per Python Script Text+ Elemente hinzufügen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Rubinsky7
User
Beiträge: 5
Registriert: Sonntag 24. November 2024, 15:31

Hallo liebe Python Freunde,

ich nutze Davinci Resolve und habe eine Audiospur bestehend aus 174 Audio-Teilen. Zu jedem Audio-Teil möchte ich ein "Text+" Element in die Videospur einfügen in der Länge der jeweiligen Audiospur, per Script. Da kommt jetzt Python ins Spiel. Wie mache ich das am Besten? Habe Python 3.13 installiert, aber keine Programmierkenntnisse. Der Sinn ist es, den gesprochenen Text als Schrift im Video angezeigt zu bekommen. Leider werde ich in Zukunft diese Arbeit wiederholt erledigen müssen, deswegen mache ich mir lieber jetzt die Mühe, dass zu automatisieren. Tausende von Text+ Feldern händisch einzufügen und der länge nach der Audiospur anzupassen ist eine sehr monotone Arbeit.

Chat-GPT hat mir ein Script vorgeschlagen, dass die Audiospur ausgelesen wird und dann anhand dessen die "Text+" Elemente eingefügt werden.

Programmcode Vorschlag von Chat-GPT:
import DaVinciResolveScript as dvr

def main():
# Verbindung zur DaVinci Resolve API herstellen
resolve = dvr.scriptapp("Resolve")
project_manager = resolve.GetProjectManager()
project = project_manager.GetCurrentProject()
timeline = project.GetCurrentTimeline()

if not timeline:
print("Keine Timeline ausgewählt.")
return

# Audiospur auswählen
audio_track_number = 1 # Wähle die gewünschte Audiospur (z. B. Spur 1)
audio_clips = timeline.GetItemListInTrack("audio", audio_track_number)

if not audio_clips:
print(f"Keine Clips in Audiospur {audio_track_number} gefunden.")
return

# Videospur für Text+ Clips
video_track_number = 2 # Wähle die gewünschte Videospur (z. B. Spur 2)

print(f"Erstelle Text+ Clips für {len(audio_clips)} Audio-Clips auf Audiospur {audio_track_number}.")

for audio_clip in audio_clips:
# Start- und Endzeit des Audio-Clips ermitteln
start_frame = audio_clip.GetStart()
end_frame = audio_clip.GetEnd()

# Text+ Clip erstellen
text_clip = timeline.CreateFusionTitleClip("Text+")
text_clip.SetTrack(video_track_number)
text_clip.SetStart(start_frame)
text_clip.SetEnd(end_frame)

# Optional: Text anpassen
text_clip.SetProperty("Text", "Dein Text hier") # Beispieltext

print("Text+ Clips erfolgreich erstellt.")

if __name__ == "__main__":
main()

Hat das jemand mal gemacht? Weiß jemand weiter? Vielen Dank!
Rubinsky7
User
Beiträge: 5
Registriert: Sonntag 24. November 2024, 15:31

Hallo liebe Python Freunde,
bisher gab es keine Antwort, keinen Hinweis. Woran liegt es? Ist die Frage zu speziell? Habe ich mich missverständlich ausgedrückt, dass nicht nachvollzogen werden kann worum es geht? Ist die Frage zu frech, weil ich keine Programmierkenntnis habe und dennoch Frage? Oder bin ich unhöflich, weil ich etwas möchte, aber noch nicht Angeboten habe, den Kaffeevorrat über eine Woche auf mich zu nehmen? ;-) Würde mich interessieren, und wenn es auch ein Hinweis auf eine andere Webseite wäre, wo mir weitergeholfen werden kann. Denn das Aufgabenfeld liegt weiterhin vor mir, wofür ich eine Lösung brauche. Für jedes kurzes Feedback bin ich dankbar.
Sirius3
User
Beiträge: 18270
Registriert: Sonntag 21. Oktober 2012, 17:20

Hallo Rubinsky7,

um die Frage beantworten zu können, muß man DaVinci kennen, was in einem generellen Python-Forum selten zu finden ist.
Wende Dich mit Deiner Frage am besten an ein Video-Editier-Forum. Kurze Suche ergab das hier: https://forum.blackmagicdesign.com/viewforum.php?f=21
Rubinsky7
User
Beiträge: 5
Registriert: Sonntag 24. November 2024, 15:31

Hallo Sirius3,
vielen Dank für deine Antwort und Hinweis zu einem anderen Forum. Hatte gedacht, dass DaVinci und Python näher bei einander sind, aber da habe ich micht getäuscht. Ich kann deinen Hinweis nachvollziehen, stimmt.
Alles Gute!
Benutzeravatar
Kebap
User
Beiträge: 776
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Rubinsky7 hat geschrieben: Dienstag 26. November 2024, 08:37 Hallo liebe Python Freunde,
bisher gab es keine Antwort, keinen Hinweis. Woran liegt es?
Grundsätzlich helfen wir gerne Programmieranfängern. Möchtest du denn überhaupt programmieren lernen? Oder suchst du eher jemanden, der dieses Skript für dich schreibt, das du dann benutzen kannst, und dann wars das schon? Ja, man kann DaVinci mit Python steuern. Beim Ansatz von GPT würde mich stören, dass es nur eine Spur verarbeitet, und man die Nummer im Programmcode eingeben muss. Besser wäre ja, wenn es automatisch alle nacheinander verarbeitet.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Rubinsky7
User
Beiträge: 5
Registriert: Sonntag 24. November 2024, 15:31

Hallo Kebap,
ich suche jemanden, der mir dieses Skript schreibt und/oder ich es mir selbst schreiben kann, je nach dem was früher eintrifft. Ich kann nicht einschätzen, ob und wie viel Aufwand es ist, so ein Skript zu schreiben. Was für Geübte in wenigen Minuten abgearbeitet ist, ist für Anfänger tagelange Arbeit. Toll wäre es auch, wenn man die Text+ Felder direkt mit Inhalten füllen könnte, z. b. aus einer .txt Datei. Z. b. die erste Zeile der .txt-Datei kommt ins erste Text+ Feld, die zweite Zeile der .txt-Datei kommt ins zweitie Text+ Feld. Aber ich fange an zu träumen, es würde mir viel Arbeit erleichtern.
Benutzeravatar
noisefloor
User
Beiträge: 4191
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hast du das Skript denn mal an einem Testprojekt ausprobiert? Läuft das ohne Fehler durch? Testen kannst am Ende nur du das, weil, wie Sirius3 schon sagt, hier wohl kaum einer Davinci auf seinem Rechner hat.

Wenn das Skript fehlerfrei läuft hättest du halt schon mal einen Basis, auf die man Aufbauen kann.

Gruß, noisefloor
Benutzeravatar
Kebap
User
Beiträge: 776
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Rubinsky7 hat geschrieben: Freitag 29. November 2024, 15:18 ich suche jemanden, der mir dieses Skript schreibt und/oder ich es mir selbst schreiben kann, je nach dem was früher eintrifft.
Üblicherweise, wenn man möchte, dass Andere etwas für einen tun, würde man ihnen bspw. etwas Geld dafür bezahlen. Bist du dazu bereit?
Andersherum, wenn du es selbst schreiben möchtest, müsstest du lernen und bspw. Hinweise ausprobieren und prüfen. Bist du dazu bereit?
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Rubinsky7
User
Beiträge: 5
Registriert: Sonntag 24. November 2024, 15:31

@noisefloor Ich bekomme das Script nicht ans laufen, daher bin ich auf Hilfe angewiesen, von jemanden der sich mit Python auskennt und Davinci selbst nutzt, damit ich gut angeleitet werden kann. Wie ich bereits verstanden habe, gibt es davon wohl wenige bzw. niemanden.

@Kebap Deswegen meinen Hinweis den Kaffeevorrat für eine Woche zu übernehmen. Die Nennung von Geldbeträgen wird oft nicht gerne gesehen. Und natürlich bin ich bereit, mich im Rahmen meiner Möglichkeiten mit Python zu beschäftigen. Vor 20 Jahren habe ich noch mit Borland Delphi 8 gelernt, das Wissen ist heute leider nicht mehr viel Wert, abgesehen vom Grundverständnis der Programmierlogik.
Benutzeravatar
__blackjack__
User
Beiträge: 14047
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Rubinsky7: Was für Probleme gibt es denn das zum laufen zu bekommen? Gibt es irgendwo eine API-Dokumentation? Ich habe auf die Schnelle nur eine Wikiseite gefunden wo die Formatierung ziemlich im Eimer ist.

Das Grundverständnis ist doch schon mal was. Und Delphi-Kenntnisse sind auch heute noch was Wert, wie alle Programmiersprachenkenntnisse wo irgendwann mal viel Software mit geschrieben wurde. Erfahrungsgemäss gibt es da dann auch ”für immer” Programme die gepflegt und aktualisiert werden müssen, oft auch erweitert. Das sind halt nicht die Massen an Programmierjobs, sondern eine Nische, die sich dann aber wiederum auszahlen kann, weil man da nicht den ganzen frischen Uni-Abgängern konkurriert, die ”nur” aktuelle Sprachen kennen. 🤓
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
noisefloor
User
Beiträge: 4191
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

welche Fehlermeldung bekommst du den, wenn das o.g. Skript ausgeführt wird? Bitte die _volle_ Fehlermeldung hier in einem Codeblock posten.

Gruß, noisefloor
Antworten