Hallo,
Wie ist es möglich, Informationen aus Konsolen wie ffmpeg oder rtmpdump auszulesen?
Konsolen auslesen
-
- [ offen ]
-
Irrlicht -
22. Dezember 2010 um 18:34 -
Geschlossen -
Erledigt
-
-
Wenn du sie über Run o.Ä vom AutoIt Script aus startest, kannst du es mit StdoutRead versuchen ;).
-
für ffmpeg schaust du dir am besten [ offen ] ffmpeg progress bar ? an,
mfg autoBert
-
ohje ich glaub, das is mir zu kompliziert^^
-
Zitat
ohje ich glaub, das is mir zu kompliziert^^
[autoit]
Aha...$iPID = Run(@ScriptDir & "\Test.exe")
[/autoit]
Sleep(1000)
MsgBox(64, "Konsoleninhalt", StdoutRead($iPID, True))
Ob das funktioniert weiß ich allerdings nicht... Ggf. werden manche Daten auch nur über den Error Stream des Programms ausgegeben, also müsste man statt StdoutRead, StderrRead verwenden ;). -
funktioniert beides nicht ^__^
-
Ups... Ich hab ja auch noch was vergessen...
[autoit]
$iPID = Run(@ScriptDir & "\Test.exe", @ScriptDir, @SW_HIDE, 0x7)
[/autoit]
Sleep(1000)
MsgBox(64, "Konsoleninhalt", StdoutRead($iPID)) -
Hallo!
Für ffmpeg klappts inzwischen. Für Rtmpdump leider noch nicht.
Könntest du mir kurz erklären, für was 0x7 steht? -
Zitat von Twodollarbillie
Könntest du mir kurz erklären, für was 0x7 steht?
Dafür ist ja eigentlich die Hilfe da ;).Zitat von Hilfe zu RunAlles anzeigenopt_flag: [optional] Steuert verschiedene Optionen, die die Interaktion zwischen Parent- und Child-Prozess betreffen (STDIO).
0x1 ($STDIN_CHILD) = Stellt ein Handle zum STDIN-Stream des Child-Fensters bereit
0x2 ($STDOUT_CHILD) = Stellt ein Handle zum STDOUT-Stream des Child-Fensters bereit.
0x4 ($STDERR_CHILD) = Stellt ein Handle zum STDERR-Stream des Child-Fensters bereit.
0x8 ($STDERR_MERGED) = Stellt das selbe Handle für den STDOUT- und STDERR-Stream bereit (Setzt $STDOUT_CHILD und $STDERR_CHILD).
0x10 ($STDIO_INHERIT_PARENT) = Stellt dem Child-Fenster das Handle zum STDIO-Stream des Parent-Fensters bereit. Kann nicht mit einem anderen STDIO-Flag kombiniert werden. Dieses Flag ist nur dann sinnvoll, wenn die Parent-Anwendung als Kommandozeilenapplikation kompiliert wurde.
0x10000 ($RUN_CREATE_NEW_CONSOLE) = Der Child-Kommandozeilenprozess wird in einem eigenen Kommandozeilenfenster ausgeführt. Dieses Flag ist nur dann sinnvoll, wenn die Parent-Anwendung als Kommandozeilenapplikation kompiliert wurde.Zitat von TwodollarbillieFür ffmpeg klappts inzwischen. Für Rtmpdump leider noch nicht.
Es geht auch nicht bei jedem Programm.
Du kannst dich ja mal ein wenig über die Konsolenausgabe von Rtmpdump informieren, vielleicht findest du ja einen Anhaltspunkt. 