Forum: PC-Programmierung Frame extrahieren und mit Audio-Waveform versehen


von Timm R. (Firma: privatfrickler.de) (treinisch)


Angehängte Dateien:

Lesenswert?

Hallo,

ich frage mich, ob es eine relative simple Möglichkeit gibt, zB mit 
Python oder ... die Frames aus einem Video zu extrahieren, die Bilder 
zuzuschneiden, in jedes Bild die Frame-Nummer zu schreiben und 
schließlich noch die zum Frame gehörige Audio-Waveform in das Bild zu 
malen.

Ich mache das im Moment mit Mathematica, das ist recht trivial, unten 
angehängt. Ein Ergebnisbild ist auch angehängt (Die Ellipse ist nat. nur 
zur Anonymisierung für diesen Beitrag, die soll da nicht reingemalt 
werden).

Mein Problem ist, dass ich das nach Möglichkeit gern in einer 
Unterrichtsstunde live machen würde und da habe ich kein Mathematica.

Vielleicht weiß ja jemand, ob es eine recht einfache Lösung gibt?

Vielen Dank

 Timm

Mathematica: Ist leider immer etwas unübersichtlich, eigentlich ist das 
nur eine Zeile :-) Table hat hier die Funktion einer For-Loop (die es 
auch gibt).
1
Table[
2
 Export["~/Desktop/Frame " <> ToString[t] <> ".jpg",
3
  Overlay[{
4
    ImageRotate[
5
     ImageCrop[
6
      VideoExtractFrames[movie, Quantity[t, "Frames"]],
7
      {800, 800}, Right
8
      ],
9
     -90 \[Degree]],
10
    AudioPlot[
11
     AudioTrim[
12
      audio,
13
      {t/60, ((t + 1)/60)}
14
      ],
15
     PlotTheme -> "Minimal",
16
     PlotRange -> {Automatic, {-0.1, 0.1}},
17
     ImageSize -> 800],
18
    Rasterize[
19
     Style[t, FontFamily -> "Veneer", 60], Background -> None
20
     ]
21
    },
22
   Alignment -> Bottom
23
   ]
24
  ],
25
 {t, 374, 400}
26
 ]

von Peter D. (fenstergucker)


Lesenswert?

Ich habe vor einiger Zeit viel mit AviSynth gearbeitet, um Videos für 
Ausstelllungen usw. aufzubereiten. Es benötigt etwas Einarbeitungszeit, 
geht aber sozusagen 'live'. Es gibt eigentlich nichts, was nicht geht.

http://avisynth.nl

: Bearbeitet durch User
von Oliver S. (oliverso)


Lesenswert?

Und das ganze unter virtualdub.

Oliver

von c-hater (Gast)


Lesenswert?

Timm R. schrieb:

> ich frage mich, ob es eine relative simple Möglichkeit gibt, zB mit
> Python oder ... die Frames aus einem Video zu extrahieren, die Bilder
> zuzuschneiden, in jedes Bild die Frame-Nummer zu schreiben und
> schließlich noch die zum Frame gehörige Audio-Waveform in das Bild zu
> malen.

Nein, gibt es nicht.

> Mein Problem ist, dass ich das nach Möglichkeit gern in einer
> Unterrichtsstunde live machen würde und da habe ich kein Mathematica.

Dann kauf' es dir oder lerne, selber zu programmieren.

Leider: bis du das soweit kannst, wie es Mathematica bezüglich dieses 
konkreten Problems kann, musst du mindestens einige Manntage 
veranschlagen. Und wenn deine Vorkenntnisse sich wirklich auf 
Mathematica und Python beschränken, dann könnten daraus auch sehr leicht 
Mannmonate werden...

von Timm R. (Firma: privatfrickler.de) (treinisch)


Lesenswert?

musst Du eigentlich unbedingt immer so passiv aggressiv sein? Das nervt.

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Timm R. schrieb:

> musst Du eigentlich unbedingt immer so passiv aggressiv sein? Das nervt.

???

Wenn du die Wahrheit nicht lesen willst, dann solltest du deine Fragen 
in Zukunft vielleicht mit einem entsprechenden Warnhinweis versehen.

Z.B.:

"WARNUNG: Ich bin unwissend und lernunwillig, habe auch kein Geld, will 
aber ALLES und zwar SOFORT.

Damit vermeidest du dann ganz sicher Postings von mir. Denn dann ist die 
Sachlage von vorherein glasklar und braucht nicht mehr auf den Punkt 
gebracht zu werden...

Du kannst den Warnhinweis natürlich gern variieren, je nachdem wie sich 
deine Preferenzen ändern. Aber Vorsicht: insbesondere wenn der explizite 
Ausdruck der Lernunwilligkeit wegfällt, hast du mich sofort wieder auf 
dem Hals. Naja, jedenfalls, wenn ich zum Problem was zu sagen habe...

von Timm R. (Firma: privatfrickler.de) (treinisch)


Lesenswert?

lieber kleiner C-Hass-Mann,

ginge vielleicht auch ein Warnhinweis wie: "WARNUNG: Ich habe zwar eine 
Frage gestellt, möchte aber nicht von misanthropischen A**** belästigt 
werden"? Würde der auch funktionieren? Das würde es besser treffen.

Und was Du "auf den Punkt" bringen nennst, nennen andere F60.2.

Das darf doch wohl wirklich nicht wahr sein, nur weil man fragt ob es 
ein Framework o.ä. gibt, ist man lernunwillig, hat keine AHNUNG, will 
alles und zwar SOFORT. Krass.

Und nein, das Problem ist einfach nicht groß genug für ein paar tausend 
€ Lizenkosten und auch nicht für mehrere Manntage. Ganz simpel.

: Bearbeitet durch User
von Rolf M. (rmagnus)


Lesenswert?

Timm R. schrieb:
> ich frage mich, ob es eine relative simple Möglichkeit gibt, zB mit
> Python oder ... die Frames aus einem Video zu extrahieren, die Bilder
> zuzuschneiden, in jedes Bild die Frame-Nummer zu schreiben und
> schließlich noch die zum Frame gehörige Audio-Waveform in das Bild zu
> malen.

Du könntest dir mal MoviePy anschauen.

c-hater schrieb:
> Nein, gibt es nicht.

Du scheinst dich ja sehr gut mit Video-Verarbeitung mit Python 
auszukennen, wenn du so eine pauschale Aussage darüber treffen kannst. 
Hast du dich damit wirklich schon eingehend beschäftigt, oder ist das 
vielleicht einfach nur eine aus der Luft gegriffene Behauptung, und du 
hast in Wirklichkeit keinen blassen Schimmer davon?

Timm R. schrieb:
> Das darf doch wohl wirklich nicht wahr sein, nur weil man fragt ob es
> ein Framework o.ä. gibt, ist man lernunwillig, hat keine AHNUNG, will
> alles und zwar SOFORT. Krass.

Er ist halt mit seinem Assembler gewöhnt, dass alles kompliziert und 
umständlich ist. Wenn man etwas verwendet, das einfach zu benutzen ist 
und wo man nur wenige Codezeilen braucht, ist das aus seiner Sicht 
automatisch ein Eingeständnis, dass man keine Ahnung hat. Das braucht 
er, um seine Fixierung auf Assembler rechtfertigen zu können.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.