Programm zum Extrahiern von Frames

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

  • Programm zum Extrahiern von Frames

    hi
    ich suche ein programm womit man automatisch alle frames eine videos extrahieren kann und diese dann am besten als jpeg speichert

    ich hatte mal ein programm wo man außerdem auch noch einstellen konnte
    den wie vielten frame er immer extrahiert also zb. alle 6 frames ein bild oder so

    wäre schon wenn ihr mir helfen könntet

    mfg xparet0209
    [SIZE="4"][FONT="Comic Sans MS"]Ich knalle keine Menschen ab, sonder treffe die Hitbox eines Polygonmodells.[/FONT][/SIZE]
  • ImageWriter() ..genau.. den habe ich gesucht gehabt, wusste doch, dass ich sowas in der Art auch schonmal in Verwendung hatte.. denke aber mal, das Tool wird für ihn unkomplizierter sein, gerade wenn man noch nicht viel mit Avisynth zu tun hatte, wobei man da natürlich vorher noch Filtern könnte um die Qualität eventuell was zu erhöhen, da ja die Einzelbilder bekanntlich nicht so eine gute Qualität haben, je nach Source natürlich.

    MDKeil
  • wie sieht denn so ein script z.b mit image writer aus?
    wie kann ich dort alle 10 frames extrahieren?
    geht das mit einer schleife wie bei den normalen programmier sprachen
    oder muss ich dort jeden einzelnen frame angeben...
    [SIZE="4"][FONT="Comic Sans MS"]Ich knalle keine Menschen ab, sonder treffe die Hitbox eines Polygonmodells.[/FONT][/SIZE]
  • Quellcode

    1. #LoadPlugin("...\DGDecode.dll") #Wird benötigt bei Nutzung von MPEG2Source("")
    2. #input=AVISource("",false).ConvertToRGB() #Source ist ein Avi-File
    3. #input=MPEG2Source("").ConvertToRGB() #Source ist ein Mpeg-File
    4. #input=DirectShowSource("", audio=false).ConvertToRGB() #Source ist weder Avi noch
    5. function ImageWriterPro(clip c,int count, string file, int start, int end, string type, bool info)
    6. {
    7. c = SelectEvery(c,count,0)
    8. return ImageWriter(c,file, start, end, type, info)
    9. }
    10. output=ImageWriterPro(input,10,"C:\temp\frame",0,0,"jpeg",false)
    11. return output
    Alles anzeigen


    type kann sein jpg/jpe/jpeg, pal, pcx, png, pbm/pgm/ppm, raw, sgi/bw/rgb/rgba, tga, tif/tiff, bmp, dds, ebmp*

    file dort muss der Pfad zum initialen Filenamen hin ..bei mir z.B. "C:\temp\frame" ..werden dann fortlaufend nummeriert

    ..die 10 Stellt den count da, d.h. es wird jedes 10te Frame gespeichert, beginend von 0.. also 0, 9, 19 .. mit start und end kannst du auch direkt noch einen Abschnitt festlegen, wo er aufzeichnen soll.. momentan verarbeitet er das ganze input-Material

    Einfach den Codeblock kopieren und in eine *.avs-Datei speichern.. Diese dann mit VirtualDubMod öffnen und unten auf Play "Input" klicken.. dann warten, bis er fertig ist :)

    ..Avisynth muss natürlich installiert sein.

    MDKeil

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MDKeil ()

  • Ich nehme mal an Du hättest einen avi file : test.avi.
    und möchtest jeden 10.frame als jpg file speichern.
    Öffne deinen Text-Editor, kopiere oder tippe folgende Zeilen:

    AviSource("test.avi") #öffnet das Video
    ConvertToRGB24() #konvertiert in anderen Farbraum (für jpg)
    SelectEvery(10,0) #gibt nur jeden 10.frame wieder
    ImageWriter("G:\pics\",33,36"jpg") #speichert frame 330,340,350,360

    Voraussetzung :
    Dieser text file wird mit der Endung ".avs " gespeichert und zwar im selben Ordner indem Dein test.avi liegt.
    Die Erklärungen hinter der Raute kannst Du mitkopieren oder nicht.
    (AviSynth ignoriert alles was hinter dieser Raute steht)
    Der Ordner G:\pics muss vorhanden sein.
    stoppel

    P.S. Diesen irgendwas.avs file kannst Du mit VirtualDub oder MediaPlayerClassic laden
    und abspielen; erst dann werden die Bilder erzeugt.

    Rückmeldung wäre schön !

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von stoppel ()