Stoppuhr in Videos

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Glaube mit After-Effects kann man das über ein Script lösen das je nach Position im Video einen Text ändert (um dann dort die Zeit anzuzeigen)...

    Ansonsten bleibt dir nur die manuelle Variante bspw. mittels AviSynth (über Google gefunden) "ShowSMPTE(x=105, y=150, font="Arial", size=84, text_color=$ffffff)", das zeigt aber nur den aktuellen Timecode an, alternativ eben einen Schwarzen Clip erzeugen und das ganze dann rendern und anschliessend mit einem NLE über das echte Video legen...
    ——YouTube————————————————————————————————————————————
    — Endlos-Projekte: Minecraft (SinglePlayer), Craft The World, Banished, Besiege, Sims4
    — ..Abgeschlossen: Leisure Suit Larry 6+7, Dishonored, Surface 2+3, Mirrors Edge, uvm
    — . Kurz- Projekte: The Tower, Fighting Is Magic, Euro Truck Simulator 2, uvm
    — ......Retro-Ecke: Day Of The Tentacle, Flight Of The Amazon Queen, NFS: HP2, uvm
    ————————————————————————————————————————————TbMzockt.de—
  • In AVISynth würde ich das sehr schön lösen und zwars so:

    Quellcode

    1. AVISource("xyz.avi", true).AssumeFPS(30, 1)
    2. ueberdecken=last
    3. Speedruntime(last, 0, 6806, "Comic Sans MS",130, $FFFFFF, 1760, 870)
    4. ueberlappen(ueberdecken, 1866,770, 2048, 880 ,0, last.framecount-1)
    5. Audiodub(last, ueberdecken)
    6. Function speedruntime (clip clip0, int sframe, int eframe, string font2, int size2, int color2, int x2, int y2) {
    7. clip1 = (sframe == 1) ? clip0.Trim(0, sframe-2) : clip0.Trim(0, sframe-1)
    8. clip2 = clip0.Trim(sframe, eframe).ShowTime(font=font2, size=size2, text_color=color2, x=x2, y=y2)
    9. clip3 = clip0.Trim(eframe+1, clip0.framecount-1)
    10. return (sframe == 0 && eframe == clip0.framecount - 1) ? clip2 : (sframe == 0) ? clip2++clip3 : (eframe == clip0.framecount - 1) ? clip1++clip2 : clip1++clip2++clip3
    11. }
    12. Function ueberlappen (clip clipx, clip clip0, int sw, int sh, int ew, int eh, int sframe, int eframe) {
    13. clip0 = clip0.Crop(sw, sh, -clip0.width + ew, -clip0.height + eh)
    14. return ApplyRange(clipx, sframe, eframe, "Overlay", clip0, sw, sh)
    15. }
    Alles anzeigen


    Das ist jetzt nur ein Beispiel.

    Wichtig sind die zwei Funktionen. Bestehend aus speedruntime und ueberlappen.

    Die Funktion speedruntime
    • clip clip0 - Das Clip wo die Zeit angezeigt werden soll
    • int sframe - Der Startframe ab wann das ganze losgehen soll zu zählen
    • int eframe - Der Endframe ab wann das ganze aufhören soll zu zählen
    • string font2 - Der Schriftzugname den man verwenden möchte
    • int size2 - Die Schriftgröße
    • int color2 - Die Schriftfarbe
    • int x2 - Die X Position des Timers auf dem Video
    • int y2 - Die Y Position des Timers auf dem Video

    Die Funktion ueberlappen
    • clip clipx - Das Video auf das gezeichnet wird
    • clip clip0 - Das Video was drauf kommen soll
    • int sw - X Flächenstart auf dem Zielvideo
    • int sh - Y Flächenstart auf dem Zielvideo
    • int ew - X2 Flächenende auf dem Zielvideo
    • int eh - Y2 Flächenende auf dem Zielvideo
    • int sframe - Der Startframe ab wann das ganze losgehen soll
    • int eframe - Der Endframe ab wann das ganze aufhören soll

    Was tut was?
    Also das Video was geladen wurde, wird erst in eine Variable gesteckt "ueberdecken".
    Dann wird die Funktion speedrun aufgerufen und zeichnet einen Timer in das Video hinein. Ausgabe erfolgt in HH:MM:SS:mmm. Ich glaube das die Funktion zu speedrun eigentlich soweit klar sind.

    Dann kommt die Funktion ueberlappen. Die kopiert die Fläche aus dem Originalvideo von X,Y - X2,Y2 herraus und fügt sie auf das neue Video mit dem Timer. Sinn dabei ist es die Angaben zu verdecken die nicht benötigt werden. Sowas wie die Millisekundenanzeige oder Sekundenanzeige. Oder aber man brauch die Stundenanzeige nicht. Die Funktion kann auch mehrmals hintereinander aufgerufen werden.

    Extra für Speedruns gebaut von mir. Halt mit der Angabe das man sagen kann ab wann das ganze losgehen soll. ^^