Seite 1 von 1

RunProgram funktioniert immer nur zeitweise

Verfasst: 14.07.2019 17:07
von Sommertv
Hallo,
mit RunProgramm hab ich ständig Probleme.
Wenn ich ein Programme aufrufe (mplayer, ffmpeg, Mencoder) und denen einen Arbeitsstring übergebe funktioniert das bei 10 Aufrufen vielleicht 4-5x, dann muss ich das Programm killen und wenn ich Glück habe gehts danach wieder.
Wenn ich aber eine ausführbare Datei mit dem kompletten String erzeuge z.B.:
mplayer -slave -geometry 470:490 -vf scale= 352x288 -input file=/tmp/mplayer-control /home/internet/Downloads/Movie.mkv
das dann mit RunProgram aufrufe klappt es jedesmal problemlos
Das ist zwar umständlicher aber wenigstens funktionierts damit...
Kann es sein, dass RunProgramm nur halbherzig integriert ist?

Schöne Grüsse
Kurt

Re: RunProgram funktioniert immer nur zeitweise

Verfasst: 14.07.2019 17:11
von RSBasic
Ich kann mir nicht vorstellen, dass es an RunProgram() liegt.
Wie sieht dein Aufruf normalerweise aus?
Benutzt du vielleicht relative Pfade für deine mkv-Datei? SetCurrentDirectory()?
Was passiert, wenn es fehlschlägt? Hängt sich das Programm auf oder gibt es eine Fehlermeldung?

Re: RunProgram funktioniert immer nur zeitweise

Verfasst: 14.07.2019 17:44
von Sommertv
Beispiel:

Code: Alles auswählen

ShellPrg= RunProgram("/usr/bin/mplayer", "-slave -geometry 470:490 -vf scale=352:288 -input file=/tmp/mplayer-control /home/internet/Downloads/Movie.mkv", "",  #PB_Program_Open | #PB_Program_Write | #PB_Program_Read | #PB_Program_Error)           
funktioniert zwar immer, aber damit kann ich keine Dateinamen, Auflösung usw übergeben

Code: Alles auswählen

Movie$ = "-slave -geometry 470:490 -vf scale=352:288 -input file=/tmp/mplayer-control /home/internet/Downloads/Movie.mkv"
ShellPrg= RunProgram("/usr/bin/mplayer", Movie$, "",  #PB_Program_Open | #PB_Program_Write | #PB_Program_Read | #PB_Program_Error)         
funktioniert wenn dann nur zufällig

Code: Alles auswählen

DummyDatei$="/home/internet/MplayerStart"
If CreateFile(0, DummyDatei$)
WriteString(0, "/usr/bin/mplayer " + Movie$)
CloseFile(0)
; Error Handling

ShellPrg= RunProgram("/home/internet/MplayerStart", "", "", #PB_Program_Open | #PB_Program_Write | #PB_Program_Read | #PB_Program_Error)
funktioniert immer
Muss natürlich zuvor MplayerStart ausführbar machen...

--Nachtrag: Eine Fehlermeldung kommt nicht, das Video startet einfach nur nicht, kann sein dass es dann beim 4. oder 5. Aufruf dennoch funktioniert