Ich versuche gerade VLC as Streaming Server (Forwarder) für meinen Lieblingsradiosender zu verwenden. Der Stream ist MP3 128 kbps. Abgespielt wird meistens im Strawberry Player. Der Grund, wieso ich mit VLC das von Aussen streamen will und an Strawberry weitergeben ist, dass wenn im Radio was kommt, das ich nicht hören will und auf meine MP3-Feiles umschalte beim zurückschalten auf den direkten Radiostream immer eine halbe Minute Werbung zu ertragen ist. Nun ist es so, dass ich den VLC-Stream als Systemd-Service mit VLC-Interface http (als root) betreiben will, da ich als Benutzer VLC nur in eine Instanz starten kann, was ich sinnvoll und ich nicht ändern will (möglich wäre es). Die VLC-Befehle sind auf der Root-Konsole problemlos absetzbar und der VLC-Streamingserver funktioniert hervorragend:
sed -i 's/geteuid/getppid/' /usr/bin/vlc && /usr/bin/vlc -I http -vvv https://stream.radio1.ch/128k --sout="#transcode{acodec=mp3,ab=128,channels=2}:http{mux=mp3,dst=:8080/stream.mp3}" --sout-keep
Der sed-Befehl ist wegen der Berechtigungen notwendig. Aufgrund dieses Befehl habe ist eine Systemd-Service Datei erstellt:
[Unit]
Description=VLC Streaming Server für Radio 1
After=network.target # Optional: Stellen Sie sicher, dass das Netzwerk bereit ist
[Service]
ExecStartPre=sed -i s/geteuid/getppid/ /usr/bin/vlc
ExecStart=/usr/bin/vlc -I http -vvv https://stream.radio1.ch/128k --sout="#transcode{acodec=mp3,ab=128,channels=2}:http{mux=mp3,dst=:8080/stream.mp3}" --sout-keep
Type=oneshot # Oder weitere Optionen, je nach Bedarf
[Install]
WantedBy=multi-user.target
Alles anzeigen
Der sed-Befehl kann in einen Systemd-Script nicht anderen Befehlen mit && gekoppelt werden, das diese Befehle nicht auf eine einzigen Shell ausgeführt werden. Trotzdem funktioniert der Dienst nicht, ich bekomme folgende Meldungen wenn Systemctl status eingebeSep 11 18:46:30 linux (vlc)[65819]: Vlc-Server.service: Unable to locate executable '/usr/bin/vlc': Permission denied
ZitatSep 11 18:46:30 linux (vlc)[65819]: Vlc-Server.service: Failed at step EXEC spawning /usr/bin/vlc: Permission denied
Sep 11 18:46:30 linux systemd[1]: Vlc-Server.service: Main process exited, code=exited, status=203/EXEC
Sep 11 18:46:30 linux systemd[1]: Vlc-Server.service: Failed with result 'exit-code'.
Ich habe gesucht, aber mit diesen Angaben nichts anfangen. Die Frage ist, ob ich einfach ein Shell-Script machen soll, das ich über diesen Service aufrufe.
Vielen Dank für Eure Hilfe.