Ich hab eigentlich das gleiche Problem… nur will es bei mir nicht so wirklich.
Ganz konkret habe ich folgendes vor:
Ich besitze eine Dreambox und kann mit VLC auf dem Rechner über mehrere m3u files mit Streamparametern zu den einzelnen TV Sendern fernsehen. Jetzt wäre es cool das auch auf dem iPhone schaun zu können. Wegen Datenmenge hab ich nun gegoogelt und gesehen, dass man VLC auch über das Terminal (von Mac OS X) ansprechen kann.
Das sieht dann in Beispiel Pro7 so aus:
Code: Alles auswählen
/Applications/_Multimedia/VLC.app/Contents/MacOS/VLC -I rc http://192.168.1.191:8001/1:0:1:445D:453:1:C00000:0:0:0: --sout='#transcode{vcodec=h264,vb=180,vfilter=canvas{width=480,height=320},acodec=mpga,ab=128}:standard{mux=ts,dst=,access=http}'
Das beinhaltet erst mal den Pfad zu VLC, dann den StreamPfad+Parameter für Pro7 und letztendlich den sout Parameter für das umcodieren / reduzieren der Datenmenge.
Alleine ausgeführt klappt das wunderbar.
Jetzt wollte ich den sout Parameter eigentlich gerne als Variable vorab definieren und verwenden.
Im ersten Schritt in der selben Pro7.command Datei. Später dann ausgelagert um es für alle anderen Sender auch verwende zu können.
Leider klappt das schon nicht.
Das sah so aus:
Code: Alles auswählen
#!/bin/sh
transVideo="vcodec=h264,vb=180,vfilter=canvas{width=480,height=320}"
echo $transVideo
transAudio="acodec=mpga,ab=128"
echo $transAudio
soutSetting="'#transcode{${transVideo},${transAudio}}:standard{mux=ts,dst=,access=http}'"
echo $soutSetting
execString="/Applications/_Multimedia/VLC.app/Contents/MacOS/VLC -I rc http://192.168.1.191:8001/1:0:1:445D:453:1:C00000:0:0:0: --sout=$soutSetting"
$execString
echo end of script
Es startet wohl was vom VLC Prozess aber er gibt mir fehler zurück.
Wenn ich mir $execString mit echo ausgebe und kopiere und ausführe gehts wieder ?!?
Warum nicht direkt?