Parameter für cvlc können nicht in einem Skript angegeben werden

4270
VxJasonxV

Ich erstelle ein Skript, das ein paar Curl-Befehle ausgibt, um auf einen zeitgeschützten MMS-Stream-Link zuzugreifen, und dann ein Relais mit cvlc (der Befehlszeilenschnittstelle von vlc) für meinen eigenen Gebrauch auf einem nicht-nummerierten Player einrichten.

Der Curl-Aspekt davon funktioniert, da ich als Browser laufen und nebeneinander laufen kann und dieselbe Zugriffs-URL bekomme. (Die Zeit ist gesperrt, was bedeutet, dass der Stream für immer funktionieren wird, aber Sie müssen schnell eine Verbindung herstellen, da die URL das Zeitlimit überschreitet.)

Ganz am Ende des Skripts wird der Befehl ausgegeben, den ich ausführen werde, woraufhin "exec $ CMD" folgt.

Wenn ich $ CMD echo, bekomme ich:
cvlc --sout '#standard' mms://[...]

Manuelles Kopieren / Einfügen dieses Befehls funktioniert wörtlich einwandfrei, aber als Teil eines Skripts sagt die Ausführungsausgabe von cvlc:

[0x9743d0] Hauptschnittstellenfehler: kein geeignetes Schnittstellenmodul
[0x962120] Hauptlibvlc-Fehler: Initialisierung der Schnittstelle "globalhotkeys, keine" fehlgeschlagen.
[0x9743d0] Dummy-Schnittstelle: Verwendung des Dummy-Schnittstellenmoduls ...
[0xb16e30] Fehler stream_out_standard stream out: kein Mux angegeben oder gefunden durch Erweiterung
[0xb16ad0] Hauptstromausgabefehler: Stream-Kette für `standard '"}'
[0xb11cd0] Haupteingabefehler: Stream-Ausgangsinstanz kann nicht gestartet werden. Abbruch von
[0xb11f70] signalisiert Schnittstellenfehler: Gefangenes Interrupt-Signal wird beendet ...

Warum verhält sich --sout auf eine Weise in einem Skript (nicht interaktive Shell?) Gegenüber einer anderen im Vordergrund (interaktive Shell)?

0

1 Antwort auf die Frage

2
harrymc

Der Thread VLC von einem Skript aus aufrufen hat am Ende diese lustige Antwort:

OK, ich habe es behoben. Experimente haben mir gezeigt, dass die Antwort lautet:

#!/bin/bash VLCCMD="cvlc source.mp3 --sout "#duplicate}"" echo VLC Command:$VLCCMD $VLCCMD 

An meinem ursprünglichen Skript gibt es zwei Änderungen:

  • Entfernen Sie die Anführungszeichen aus dem MP3-Dateinamen
  • Ändern Sie das einfache Anführungszeichen um das # -Duplikat in ein doppeltes Anführungszeichen
Hmmm. Aber diese inneren Anführungszeichen sind unverhüllt ... VxJasonxV vor 13 Jahren 0
HEILIGE MIST ARBEITET ES. ... HOLY CRAP ........ warum funktioniert es? O_o. Die Prämie gehört Ihnen .......... in 18 Stunden. VxJasonxV vor 13 Jahren 0
Dies ist wahrscheinlich ein Fehler beim Parameter-Parsing von cvlc. Sie können dies in den [VideoLAN-Foren] (http://forum.videolan.org/) melden. harrymc vor 13 Jahren 0