Suchergebnisse

Suchergebnisse 1-21 von insgesamt 21.

  • Benutzer-Avatarbild

    Hi, ich versuche einen Screen Recorder zu programmieren. Im Schritt 1 werden dazu in einer Schleife Screenshots gezogen und diese in .png Dateien gespeichert. Im Schritt 2 werden diese Dateien dann in ein Video Format konvertiert Den Schritt 1, das Sammeln von Screenshots, habe ich wie folgt kodiert: VB.NET-Quellcode (38 Zeilen) Pro Sekunde ziehe ich mit einem Timer zwei Screenshots ... und das klappt auch zunächst problemlos. Die erstellten .png Dateien sehen blendend aus. Aber irgendwann ist S…

  • Benutzer-Avatarbild

    Vielen Dank erst mal für eure Ratschläge 1 Zitat von mausekeks: „der Fehler in bezug auf Graphics wird im normalfall bei Bitmaps ausgegeben wenn einer der werte 0 annimmt.“ An der Debug Ausgabe erkennt man, dass die Werte für area ok sind. Die bleiben während der gesamten Verarbeitung unverändert. Daran liegt es also nicht. Zitat von RodFromGermany: „Wahrscheinlich läuft der Cache voll und dann knallt es,“ Ich habe jetzt eingefügt: VB.NET-Quellcode (2 Zeilen) Damit tritt der Abbruch bisher nicht…

  • Benutzer-Avatarbild

    Super ! Na, das probiere ich aus ! Jetzt habe ich aber erst noch ein Problem mit dem Speicher. Ich habe jetzt mit 20 Frames pro Sekunde 15.000 .png Dateien gesammelt und würde die einfach mal als Preview mit einem Timer in einer picBox ansehen wollen VB.NET-Quellcode (14 Zeilen) Das Timer Inteval steht gemäß der FrameRate auf Timer1.Interval = 50 (50 ms = 20 Tics pro Sekunde). Das klappt auch prima ... das sieht aus als würde man das Dingens als Video abspielen ... hehehe ! Aber leider ist nach …

  • Benutzer-Avatarbild

    ok, erst mal Danke für eure Ratschläge ! Jau, mit picFrameImage.Dispose funktioniert das dann .. die Preview über die Frames läuft jetzt hervorragend. Allein die Datenmenge ist halt prohibitiv ! Jetzt habe ich angefangen die Konvertierung in eine .avi Datei zu basteln ! Da habe ich den Hinweis von RFG aufgegriffen und die Klassen Avi und AviWriter aus dem Spoiler kopiert. Das funzt ohne Probleme. Den Aufruf realisiere ich wie folgt: VB.NET-Quellcode (47 Zeilen) Bei kurzen Samplings klappt das so…

  • Benutzer-Avatarbild

    Jau, das hab ich mir schon so gedacht. Da bleibt mir wohl nix anderes übrig als die hakelige ffmpeg Geschichte zu installieren. Hab halt vorher nachfragen wollen, ehe ich in den sauren Apfel beiße ... LG Peter

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Da wird nix installiert“ Na ja, man entpackt den ZIP File und erweitert ggf. die %PATH% Umgebungsvariable ... das ist für mich auch ein Install. Iss halt eine Frage der Definition. Aber um das Thema abzurunden: ffmpeg funktioniert für meine Zwecke hervorragend. Den AVI_WRITER habe ich ad acta gelegt. Allerdings ist das eine Konsolanwendung und deshalb basiert die Syntax auf Command Line Arguments. Und die sind mehr als hakelig. Aber man kann damit leben. Die Laufzeit i…

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „mit dem ich TS-Dateien nach MP4 konvertiere“ TS-Dateien ? ... also .avi nach .mp4 ? Ist das einfach zu realisieren ?

  • Benutzer-Avatarbild

    Auf den Dreh mit der Batch Datei bin ich auch schon verfallen. Das Problem ist, dass die Laufzeit des ffmpeg meist sehr lang ist. Und ungeduldige Menschen wie ich minimieren dann das Fenster ! Wenn man ffmpeg über Process.Start aufruft, dann wird die DOS Box beim Programmende geschlossen. Und davon bekomme ich nix mit ! Mit einer Batch Prozedur kann ich nach ffmpeg den Befehl "Pause" aufrufen und damit wird die DOS Box nicht geschlossen. Zitat RFG Du generierst per Code eine Batch-Datei und star…

  • Benutzer-Avatarbild

    Ich hab die Sache mit dem Event Handler versucht umzusetzen und im Wesentlichen den Code von Vaporized übernommen. VB.NET-Quellcode (1 Zeile) VB.NET-Quellcode (4 Zeilen) Der Convert läuft auch problemlos durch. Allein, die vermaledeite Message erscheint nicht ! Egal ob die DOS Box sichtbar ist oder nicht, wenn ffmpeg endet. Egal ob ich den ConvertProcess als lokale oder als Klassen Variable definiere. ffmpeg endet, das DOS Fenster wird sofort geschlossen ... und das wars ! Was könnte ich denn fa…

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Du musst dem Prozess sagen, dass er Events senden soll:“ OmG .... jaaaaaa ... jetzt poppt diese Messagebox endlich auf ! Hurraaaa ! Allerdings bin ich immer noch nicht so ganz glücklich ... das Dingens erscheint nicht "Topmost" ... d.h. wenn ich andere Fenster offen habe, bleibt die Messagebox dahinter verborgen ... Also ... wahrscheinlich, muss ich eine eigene Form mit der Eigenschaft "Topmost" aufrufen ... Das kpnnte etwa so aussehen: VB.NET-Quellcode (4 Zeilen) Und …

  • Benutzer-Avatarbild

    mmmmmh ... Klasse! Das hatte ich gesucht ... Also so funzt das jetzt nach meinem Geschmack: VB.NET-Quellcode (11 Zeilen) Danke RFG ! Ich hoffe, ich bin nicht gar zu unverschämt. Aber jetzt stört mich natürlich noch, dass das Log der DOS Box (also die Ausgabe vom ffmpeg) ersatzlos verschwindet. Ich würde natürlich gern noch die Meldungen irgendwohin speichern (in einen File .. oder eine Variable ... ) ... damit ich bei Bedarf nachsehen kann, ob alles ordentlich gelaufen ist. (s.Anhang) Ich hab ve…

  • Benutzer-Avatarbild

    Jau, mit einer .bat Datei und "pause" könnte ich das Schließen des ffmpeg windows verhindern. Die Diskussion hatten wir ja schon. Aber eigentlich bin ich ganz froh, dass ich das blöde DOS Fenstern nicht an der Backe habe. Im Normalfall will ich das gar nicht sehen ... Eine Idee wäre die Ausgabe mit Pipe umzuleiten .... also "ffmpeg ... > myOutput.txt" Aber das funktioniert nicht. Weiß der Teufel wo ffmpeg hinschreibt. ConvertProcess.StandardOutput ist eine ReadOnly Property ... auch da lässt sic…

  • Benutzer-Avatarbild

    Danke erst mal für den .zip File ! Hmm ... ganz offen gestanden, habe ich keine Ahnung, was deine Anwendung macht und wie man sie bedient. VB.NET-Quellcode (21 Zeilen) Das soll wohl als erstes aufgerufen werden. Läuft auch. Aber die Ausgabe sagt mir erst mal nix ... Das ist dann wohl die nächste Funktion, die aufgerufen weren soll. VB.NET-Quellcode (4 Zeilen) Tja ... und da habe ich dann keine Ahnung, was ich in TextBox1.Text eingeben soll ... irgendwie fehlt mir da der Bezug zu meiner .avi Date…

  • Benutzer-Avatarbild

    ok ... dann kriege ich eine längliche Ausgabe einer hierarchischen Struktur ... (s. Anhang) Und was jetzt ?

  • Benutzer-Avatarbild

    Also ... tree c: gibt mir den Verzeichnisbaum des c-Laufwerks aus ... Aber das ist ja wohl nicht das, was ich haben möchte. Soll ich jetzt in das kleine Eingabefeld den länglichen ffmpeg Befehl reinquetschen ... ? Offen gestanden, habe ich immer noch keine Ahnung, wie dein Snippet funktioniert ... Was macht denn der Connect, z.B. ?

  • Benutzer-Avatarbild

    ok ... das habe ich verstanden Und was gebe ich jetzt in das Eingabefeld ein, um die Datei hugo.avi in hugoline.mp4 zu konvertieren ?

  • Benutzer-Avatarbild

    Also ... ich hab das jetzt einmal gemacht .... Der "send" wird angenommen ... aber dann passiert nichts weiter .... wenn ich dann unterbreche, ist die Anwendung im Haltemodus ! Also ganz offen gestanden, habe ich auch nicht die geringste Ahnung, wie das überhaupt funktionieren soll ? Woher soll denn deiner Anwendung bekannt sein, dass ich meine .avi nach .mp4 konvertieren möchte ??? Wo wird die .mp4 Datei dann abgespeichert ??? ... Wie wird die .mp4 Datei heißen ??? Ich hab das Gefühl wir reden …

  • Benutzer-Avatarbild

    Jetzt verstehe ich endlich was hier los ist ! Ich benötige überhaupt keine Konversion. Ich gebe einfach für die Ausgabe Datei die Extension .mp4 mit ... und schon wird dieses Format auch generiert. Ich hatte gedacht ffmpeg kann nur .avi erzeugen ! Gut dass wir darüber gesprochen haben. Jetzt ist diese Wissenslücke also geschlossen und meine Frage nach der Konversion erst mal gegenstandslos. Ich erzeuge in meinem Programm einfach .mp4 und "habe fertig", um es mit Trappatoni zu sagen ... Mein eige…

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „TS ist TransportStream, wird vom terrestrischen TV gesendet.“ Gut ... das habe ich jetzt verstanden. Aber das terrestrische TV hat ja mit der Aufgabe eine .avi nach .mp4 zu konvertieren möglicherweise nicht gar so viel zu tun. Meine Frage ist immer noch offen. Wie schaffe ich die Verbindung meiner zu konvertierenden "hold.avi" mit deinem Programm. Wenn das Dingens nicht über hellseherische Fähigkeiten verfügt, dann muss ich diesen Namen doch irgendwie bekannt machen ! …

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Den Ziel-Namen kannst Du aus dem Ausgangsnamen berechnen“ ehem ... den ZIELNamen muss ich doch gar nicht berechnen. Den setze ich doch selber fest ! "hold.avi" ist die QUELLE .. und den Namen der Quelle kann das Programm nicht berechnen ! Denn dieser Name kann irgendwie lauten ! Also nochmal: wie teile ich deinem Programm mit, woher es die Eingabedaten nehmen soll ... die könnten ja durchaus in "T:\jodelpop\susi\breitmueller\unsertolles.avi" stehen ! Und wie weise ich …

  • Benutzer-Avatarbild

    Also gut .... ich brauche mithin nix weiter als einen ffmpeg Aufruf mit den Parametern: Eingabe Datei: infile.avi Ausgabe Datei: outfile.mp4 Dann erkennt ffmpeg die Eingabe als .avi ... und generiert .mp4 als Ausgabe. Das habe ich natürlich ausprobiert: ffmpeg.exe -y -i T:\...\o_Hold5.avi T:\...\new_Hold5.mp4 Und das ist die Ausgabe .... (s.Anhang) Ok ... aber jetzt verstehe ich wenigstens endlich was du vorschlägst ... Du konvertierst einen .avi File in einen .mp4 File .. indem du ffmpeg aufruf…