Beiträge von gispos

    Mich quält schon seit langen das öffnen und extrahieren von Bitmaps aus Videodateien.
    Beste Resultate erziele ich bisher mit direktem Zugriff auf die AviSynth.dll
    Funktioniert im Hauptthread der Anwendung oder über Synchronize in einem gesonderten Thread meist reibungslos.

    Probleme:
    1.) Korrupte Videodateien > Komplette Programminstanz friert ein.
    2.) Nicht lesbare Videodateien die nicht unbedingt korrupt sein müssen >
    Es wird bis zum Ende der Videodatei ohne Erfolg gelesen, was dauern kann.
    3.) Da das ganze im Hauptthread läuft, ist das Programm solange lahm gelegt.

    Hauptproblem:
    Mir ist es bisher noch nicht gelungen, das ganze in einem gesonderten Thread auszuführen. Womit es eben möglich wäre, diesen Thread nötigenfalls abzuschießen. Nicht gut, aber besser als das komplette Programm zu killen.
    Vor allem Videos die DirectShow verlangen (WMV, FLV, manche AVI je nach benötigtem Codec) wollen in einem gesonderten Thread einfach keine Frames hergeben.
    Mit InitializeCriticalSection hatte ich da bisher auch noch kein Glück.

    Nun meine Frage:
    Hat jemand Vorschläge, oder kennt gar eine Methode in einem gesonderten Thread Videos zu laden oder Frames zu extrahieren? (Delphi Code bevorzugt)
    Meine einzige noch nicht vollzogene Alternative, wäre eine extra Exe die bei Erfolg Frames ans Hauptprogramm sendet und nötigenfalls terminiert werden könnte. Aber…?

    In Hoffnung auf positive Antwort(en)
    Gruß gispos

    Im Wesentlichen geht es ja um das öffnen einer Datei mit dem damit verknüpften Programm, ohne die Registrie nach einem Programm durchsuchen zu müssen, und dann doch falsche Informationen zu lesen.

    Mit CreateProcess ist es aber nicht möglich eine Datei ohne die dazu erforderliche Anwendung zu öffnen. Genauer gesagt, CreateProcess verlangt nach einer ausführbaren Datei (exe, com, ???) und die muss man erst mal kennen.

    Ganz simpel:
    CreateProcess(nil, 'E:\Ablage\ReadMe.txt') das funktioniert nicht.
    CreateProcess('Editor.exe', 'E:\Ablage\ReadMe.txt') funktioniert, aber was wenn der User alle Text Dateien lieber mit Ultra-Edit.exe geöffnet hätte?
    ShellExecuteEx besorgt dies automatisch, da es hier wie bei ShellExecute möglich ist, nur die Text Datei als Parameter zu übergeben, aber eben mit diesem kleinen aber nützlichen Unterschied, ein Process Handle auf das ausführende Programm zu bekommen.

    TerminateProcess ist hier nicht erforderlich, besser währe hier ExitProcess, ist aber in diesem Beispiel ebenfalls nicht erforderlich. Gewünscht wird ja nur, dass das eigene Programm so lange wartet bis die Datei (Programm) wieder geschlossen wird, aber eben mit der Option dieses Warten abbrechen zu können.

    FR_AN:
    Also, wenn ich mich mit CreateProcess wieder erwartend irren sollte, dann poste bitte einen Beispiel Code, ich hab’s mit CreateProcess nicht hin bekommen.

    Da der erste Code noch nicht ganz ausgereift war:
    Überarbeiteter Code und Variante die auch ohne extra Thread zu gebrauchen ist:
    http://www.delphi-library.de/topic_Datei+oe…rten_77895.html

    Gruß gispos

    Ich habe hier mehrere AVI Dateien die insgesamt etwas größer sind als eine DVD.
    Gibt es ein Tool oder sowas in das ich alle Dateien laden kann und diese dann automatisch so recodiert, dass sie am Ende auf eine DVD passen?

    Wie viel ist etwas?
    Wenn’s nur ein paar MB sind musste ja nicht alle Filme sondern vielleicht nur einen
    neu codieren. Wenn’s den wirklich 1 DVD sein muß!
    Oder währen denn da nicht gleich 2 DVD’s mit noch ein paar extra Filmchen drauf, besser?
    Ich würde da das letztere bevorzugen!

    Gruß gispos

    Hallo zusammen, hatte mir mal Gedanken um das starten einer Datei mit Rückgabe des Handles aufs ausführende Programm gemacht.
    Mit CreateProcess ist dies ja nicht möglich, aber nach durchstöbern der Win-API bin ich auf ShellExecuteEx gestoßen. Ich zumindest hatte diese EX Version von ShellExecute nie beachtet. Was ein Fehler war!

    Anbei ein kleines Beispiel in Delphi, es ist nur wichtig das in fMask das Flag „SEE_MASK_NOCLOSEPROCESS” gesetzt wird.
    Für weitere Optionen bitte die API – Hilfe hierzu lesen, so kann z.B über "hInstApp"
    eine genauere Error Analyse erfolgen.
    Die Abbruch Variable ist Optional und wurde zum testen mit einem Extra Button gesetzt.

    Ist mir schon bewusst dass dies kein Delphi Forum hier ist, aber ich
    denke doch, dass dies für den einen oder anderen hier mal hilfreich sein könnte.

    ---------------
    Gruß gispos

    Danke für die CODE Formatierung, hatte ich völlig Übersehen.

    The CreateProcess function creates a new process and its primary thread.
    The new process runs the specified executable file in the security context of the calling process.

    Und weiter:

    lpApplicationName
    [in] Pointer to a null-terminated string that specifies the module to execute. The specified module can be a Windows-based application. It can be some other type of module (for example, MS-DOS or OS/2) if the appropriate subsystem is available on the local computer.

    If both lpApplicationName and lpCommandLine are non-NULL, the null-terminated string pointed to by lpApplicationName specifies the module to execute, and the null-terminated string pointed to by lpCommandLine specifies the command line.

    oder:

    If lpApplicationName is NULL, the first white-space – delimited token of the command line specifies the module name.

    Möchte da jetzt erst mal keine Behauptungen aufstellen, aber für mich liest sich die komplette Hilfe
    zu CreateProcess so als ob nur Ausführbare Dateien (z.B. EXE, COM) aufgerufen werden können.
    Werde aber bei Gelegenheit prüfen ob es möglich ist eine Datei aufzurufen, und dann das Handle aufs
    ausführende Programm zu bekommen, dies erscheint mir eher unwahrscheinlich?


    Wenn das Programm nicht weiterentwickelt werden soll ist es in der Rubrik Softwareentwicklung fehlplatziert.

    War nicht ganz so gedacht, entwickle immer gerne weiter wenn sich für mich neue Erkenntnisse auftun.
    Habe aber erkannt, dass kein Interesse oder Bedürfnis besteht, und wollte dieses Thema so beerdigen.

    Und zum Thema UPX sind die Meinungen schon seit Jahren sehr Unterschiedlich.

    Grüße gispos

    CreateProcess bietet doch nur Vorteile wenn ich das Video mit einem bestimmtes Programm,
    sagen wir mal WMPlayer.exe starten möchte, oder auf ein Programm bis zur Beendigung
    gewartet werden soll (WaitForSingleObject).
    Ich möchte aber nichts von beidem, das Video soll mit dem bevorzugtem Player des Users laufen.
    Da sehe ich also keine Vorteile von CreateProcess.

    Auf einem PC eines Bekannten, löste ein anderes Tool von mir das mit
    CreateProcess arbeitete seinen VirenScanner aus, das gleiche bei Tools
    die mit UPX komprimiert waren. Weiß aber nicht mehr was für ein Scanner
    das war. Die Tools waren 100% Viren frei. Deshalb verzichte ich auch
    auf UPX wenn ich ausführbare Exe’s auf CD/DVD’s brenne.

    Mit dem prüfen von Codecs, da müsste ich mich erst mal schlau machen.
    Und ob das den Einsatz Wert ist? Ich glaube nicht.
    Müsste wohl aus der Win-Reg ausgelesen werden.

    Das Teil habe ich schon seit Jahren in gebrauch, und da jetzt noch großartigen Aufwand betreiben?

    Gruß gispos


    Ein eigener Player ist natürlich mit den DSPack auch ohne weiteres möglich.

    Es könnte ja auch noch einen DVD-Player, Musik-Player, und Navigationssytem mit
    integrieren werden, und wenn die Filme vorüber sind, währe ein entspannendes
    Schachspiel noch ganz nett. :D Aber jetzt mal im Ernst.

    aVidRun.exe funktioniert zu 100 % und macht ganz genau das was ein Autostarter
    eben so macht. Er zeigt ein Auswahlmenü beim einlegen einer CD/DVD an.
    Ganz simpel, und zumindest nach meinem Geschmack, in einem Ansprechendem Design.

    1) Kurze Dateinamen braucht doch kein Mensch, und wenn doch, und wirklich Interesse
    besteht, ist das kein Problem und wird gerne nachgeholt. Und spezielle Software
    braucht's hierzu nicht. Katj.

    2) CreateProcess nein, das Teil soll den User nicht bevormunden sondern ein Video mit
    dem vom User bevorzugten Player abspielen. Und da der Zugriff von einem
    Wechseldatenträger erfolg, könnten VirenScanner bei CreateProcess auch einen
    Angriff vermuten.

    3) Nach Codecs prüfen? und installieren? Nein! um Himmels Willen, wer will so etwas?
    Dies war keine Frage, sondern wenn weiter gelesen wird, ein Hinweis an Katjarella.
    Irgendwelche Codecs automatisch zu installieren ist nicht in meinem Sinne.
    Hatte ich aber schon mal erwähnt: Codec mit CD brennen und im Auswahlmenü
    einen Link zum Setup des Codecs.

    Also, der Starter ist so wie er ist, Bugs oder „Normale Verbesserungsvorschläge“ werden
    gerne angenommen. Man (Frau) kann Ihn verwenden oder auch nicht.

    katjarella, bitte schön, hatte damals aber auch nicht an die Bildchen gedacht. :D
    http://forum.gleitz.info/showthread.php?t=34577

    Gruß gispos

    Katjarella erstmal danke für deine Bemühungen.
    Wie ich schon erwähnte, habe ich das Programm hin u. wieder etwas verändert und die letzte Version wurde eben mit Delphi v10 kompiliert, was die Delphi-Version erklärt.

    Voll und ganz geschlagen gebe ich mich bei den Bildchen, hatte eben diese Demo schon auf dem PC rumliegen, und dachte eine Demo zeigt mehr als 100 Bilder. Gut, mache ich nie wieder. Hatte auch ehrlich gesagt mit 0 FeedBack gerechnet.

    Bei den 8.3 Dateinamen muss ich ganz ehrlich gestehen, dass es mir den Aufwand nicht Wert erscheint? Tschuldige, aber das ist mir etwas zu alt, ist aber nicht böse gemeint!

    Hm… und das mit dem auf fremden Systemen nicht Abspielbar, also bitte verstehe es nicht falsch, aber wenn ich eine DVD am PC abspielen will, geht das auch nicht ohne die benötigten Codec’s. Bei älteren CD’s hatte ich damals noch den benötigten Codec mit gebrannt, und im Menü einen Link zur Installation hinzugefügt, was ich aber mittlerweile auch nicht mehr mache. Da kann ich dann nur hoffen das meiner Oma Ihr PC DVD tauglich ist. :D

    Aber mal ne Frage, wie könnte man das Problem mit den Codec’s umgehen?
    Das einzige was mir spontan dazu einfällt, wäre wohl eine recht aufwendige Prüfung auf Codec vorhanden > wenn nicht > dann von CD installieren oder aus dem WEB runterladen. Und das wäre keinesfalls in meinem Sinne oder diesem simplen Starter dienlich.

    Und um eine Datei zu öffnen, fällt mir auch nur die API Funktion ShellExecute ein, sonst müsste ja auch noch ein Player on Bord sein! Der aber wiederum von den installierten Codec’s abhängig währe! Oder nich?
    Und was du übersehen hast, das Programm sucht in der Win-Reg nach Verknüpften Programmen für die zu öffnenden Dateien, die unter Find Tool ausgewählt werden können.

    Programm ist nach erstem Titel stumm, richtig, hatte mir schon mal vorgenommen dies zu ändern… finde ich aber gar nicht so schlimm, und hat deshalb auch keine Priorität.

    Worauf es mir damals wie heute noch ankommt, ist ein schnelles und einfaches Handling beim erstellen des Autostartmenüs.
    Ich öffne einen Ordner in dem meine Videos u. Bilder die ich brennen will liegen, und das Programm macht fast alles automatisch. Verknüpft z.B. 120 Bilder zu den 6 dazugehörenden Videos, ohne das ich für jedes Video oder Bild einen Link vergeben muss. Das ganze ist dann in 20 Sek. Geschehen und ich kann brennen.

    Dein wissen in ehren, aber ich kann Dir bei der Behauptung halbfertiges Programm mit diversen Fehlern nicht zustimmen. Mag schon sein, dass es Bugs gibt, mir sind jedenfalls keine bekannt, und das Programm macht jedes Mal wenn ich eine CD/DVD einlege genau das was ich von ihm erwarte. Ist ja auch nicht viel.

    Und das solche Starter nicht mehr Zeitgemäß sind, mag auch nur Bedingt und je nach den Anforderungen des Einzelnen zutreffen.
    Allein der Vollständigkeit halber als Anhang ohne Installations- Routine
    aVidRun mit VidKonfig und noch ScreenShots.

    Das ganze ist dann doch ein zu großer Wirbel um diesen lächerlichen Starter,
    also nichts für Ungut, mit freundlichen Grüßen
    gispos

    Also erst mal,
    ein Viren-Verbreiter bin ich sicher nicht, ein gesundes Misstrauen oder Vorsicht
    ist sicher angebracht, aber katjarella, bei Dir hört sich das etwas feindselig an.
    Viren sind auf meinem Arbeits-PC nahezu auszuschließen, da
    1.) Ich nur über einen Virtuellen-PC ins Netz gehe
    2.) Alle Monate ein komplettes BackUp meiner Systempartition wieder herstelle.

    Screenshot… für was? Ne Demo sagt wohl mehr.

    Remake… kann schon sein, das Prog habe ich vor 8 Jahren geschrieben, und
    hin und wieder mal etwas geändert, zumindest habe ich nichts Ähnliches im
    Netz gefunden (Design, Bedienung)

    Was kann es mehr… keine Ahnung? Habe mir etliche andere Autostarter
    angeschaut und keiner hatte mir zugesagt oder war für meine Bedürfnisse
    der richtige. Das Design lässt sich anpassen, für ein Video können mehrer
    Bilder angezeigt werden, es gibt ein Konfigurations- Programm so das man
    nicht in der INI-Datei rumkritzeln muss. Vielleicht gibt’s ja bessere oder
    ähnliche… ganz im Vertrauen, ist mir völlig Schnuppe! Kein Kaufzwang!!

    Also Danke fürs Interesse, hatte mir keine Gedanken über die Notwendigkeit
    solcher Programme in der heutigen Zeit gemacht. Ich klatsche es aber immer
    noch auf meine DVD’s wenn ich gemischte Videoformate ohne DVD-DIVX
    Menüführung brenne, weil’s praktisch ist und es mir zusagt für ein Video
    mehrere Vorschaubilder automatisch zu verlinken und diese Bilder auch als
    Thumbnail-Vorschau anzuzeigen.
    Falls gewünscht werde ich den Anhang wieder löschen.

    Und noch was katjarella, das mit dem Autorun ist bei einem ordentlichen
    Virenscanner wohl nicht das Problem. Und wer mit seinem Arbeits-PC ins
    Netz geht, der hat selber Schuld.

    Habe die Ehre
    gispos

    Trotz DVD und was noch alles, ist ein Autostarter hin u. wieder doch recht nützlich,
    deshalb hier als Anhang ein Demo eines CD/DVD Autostarter mit etwas Design (Windows-Systeme)

    Zum starten einfach aVidRun.exe ausführen.
    In der Demo wird bei "Play" kein Video abgespielt (0 KB Dateien).
    Falls Interesse besteht, werde ich das Programm hier einstellen.

    Grüße gispos

    Keine Idee aber einen Tip,
    hatte einmal bei einer Aufnahme meinen Virtuellen PC im Hintergrund laufen
    der plötzlich 100 % Prozessor Last an sich zog. Der Erfolg war ein Video
    mit Aussetzern. Das habe ich zuerst durch ProjectX geschickt, und das Endergebnis
    war ein asynchroner Ton.
    2. Versuch, das Original durch VideoReDo geschickt, das Ergebnis war zwar
    mit Aussetzern, aber von vorne bis hinten völlig synchron. Strumento währe sicher
    auch mal einen Versuch wert.
    Normaler weiße ist ProjectX das Tool meines Vertrauens wenn’s um arge Fehler geht,
    aber je nach Fehlern scheint dann doch das eine oder andere Tool die besseren Ergebnisse
    zu liefern.

    Gruß gispos

    Dein Vorhaben erscheint mir fast ein Ding der Unmöglichkeit,
    wie soll zwischen Splitt und normalen Archiven unterschieden werden?
    Wie ich weiß gibt es da keine feste Regeln bei Namen oder Datei-Erweiterung.
    Da werden dann Archive mehrfach entpackt.

    Und beim dem Durcheinander von 500 Archiven die automatisch entpackt werden blickt doch kein Mensch mehr durch!

    Nachtrag:
    Die einzige Möglichkeit währe manuel eine Liste mit den Archiven zum entpacken zu erstellen
    und diese dann an WinRar zu übergeben. Schau mal wieder vorbei.

    3.Nachtrag:
    Massaguana > Nur noch in Talon enthalten.
    http://rapidshare.com/files/61103832/TalonEvo.v1.03b.rar

    Das mit dem "Nohavepassword" ist mir zwar etwas suspekt: :so-nicht:
    Also Password irendwas eintragen und Passwort abhaken und "Winrar keine Fehlermeldung" abhaken dann werden die Archive für die Du kein Passwort hast übersprungen. Genauer gesagt, es wird kein Dialog für die Passwortnachfrage erscheinen.
    Feedback wäre nett.

    Gruß gispos

    Hm...
    Das entpacken von mehreren Archiven kann doch WinRar!
    Einfach alle Archive markieren und WinRar arbeiten lassen.

    Mein Tool enpackt ein Archiv mit allen darin befindlichen Archiven,
    was WinRar eben nicht kann.
    Ich habe öffters mal Archive in denen dann 50 andere Archive stecken,
    deshalb dieses Tool. (Bitte gefixteVersion verwenden 1.03)

    Gruß gispos

    Also im Gerätemanager gibt es da keine Stromsparfunktionen für Festplatten.
    SATA hab ich keine. Habe 2 IDE (ATA) Platten fest eingebaut und ein externes Wechselgehäuse das ich nur
    bei bedarf einschalte (Backup etc.).
    Die 2 Platte am 1.IDE Controller (Slave) schaltet sich auch brav aus.
    Nur eben die Hauptplatte am 1.IDE Controller (Master) nicht, was sie aber
    vor dem SP2 update ebenso brav tat. Habe schon alle möglichen Patches von MS ausprobiert,
    wie ich schon geschrieben habe führte dies damals beim SP1 zum Erfolg, aber beim SP2 bisher nicht.

    Nachtrag:
    Würde mich nur mal interresieren ob andere die gleichen Probleme haben?
    Ob dies ein allgemeiner SP2 Bug ist.

    Gruß gispos

    Und bei Dir?
    Wie hast Du deine Platte eingestellt? Geht deine in den Ruhemodus?

    Nachtrag:
    Naja, werde mich wohl damit abfinden müssen. Unter diesen ganzen Windows
    Updates blickt ja äh keiner mehr Durch, und bei MS was zu finden ist ja schon
    von vorn herein aussichtslos. Der reinste Irrgarten.

    Na denn, Gruß gispos

    ACPI ist im Bios und Windows aktiviert.
    Kann man auch im Gerätemanager nachlesen.

    Mein Problem ist nicht das herunterfahren oder ausschalten
    des PC, sondern das die Festplatte nicht in den Ruhemodus geht.

    Die Festplatte läuft also ständig.

    Gruß gispos

    Versuche dies.
    Programmauszug aus laufendem Project.
    Batch extrahieren für WinRar.

    Nur noch in Talon verfügbar. Single Version hat Probleme mit Splitarchiven! (Wurde gelöscht)

    Talon:
    Unter "Extras", WinRarBatch starten u. Dateiliste laden.
    Oder:
    Um WinRarBatch Optionen einzustellen, wie oben WinRarBatch starten, danach WinRarBatch wieder schließen.
    Unter "Style" Ansicht "Details" auswählen. (Dateifilter auf "Alle" setzen)
    Zur besseren Übersicht kann unter Optionen "Dateinamen mit Erweiterungen anzeigen" gesetzt werden.
    Links im FolderExplorer Kontextmenü "Ordner mit Unterordner öffnen" auswählen.
    Alle Archive die entpackt werden sollen markieren. Achtung Splitarchive nicht mehrfach auswählen!
    Im Hauptfenster Kontextmenü "Selten gebraucht\An WinRarBatch senden" auswählen.
    Im Dialog Speicherort auswählen. WinRarBatch und WinRar arbeiten lassen.

    Talon experimentell:
    Im Kontextmenü "Selten gebraucht\Archive markieren" auswählen.
    Es werden alle Normal-Archive und von jedem Splitarchiv eines ausgewählt.
    Dann wieder im Kontextmenü "Selten gebraucht\An WinRarBatch senden" auswählen.

    Neue Version: Talon 1.03b - WinRarBatch v1.07 mit neuen Funktionen.
    Passwort lesen aus Textdatei hinzugefügt (USDownloader kompatibel),
    bitte hierzu „Programmpfad\Tools\WinRarBatch\liesmich.htm“ lesen.
    Bei Fehlern Wiederholung mit Passwort Nachfrage.

    Talon: http://rapidshare.com/files/61103832/TalonEvo.v1.03b.rar

    Gruß gispos