(gelöst) vlc audio via script
(gelöst) vlc audio via script
Ich möchte VLC über ein Shell-Script mit bestimmtem Audioeinstellungen starten. Es geht um das, was man auf der GUI unter Werkzeuge/Einstellungen/Audio unter „Ausgabe“ findet, also „Ausgabemodul“ und „Gerät“. Falls es sie gibt: Wie heißen die Optionen, bzw. wo findet man die beschrieben?
Zuletzt geändert von fischig am 02.07.2020 15:35:52, insgesamt 1-mal geändert.
Re: vlc audio via script
das sollte glaube ich zum Beispiel funktionieren
Code: Alles auswählen
vlc --aout alsa --alsa-audio-device "hw:Loopback,0" Videodatei.mp4
Re: vlc audio via script
Danke sehr! ich probier's heute nachmittag. Der Dateiname ist auf meiner VLC+ecasond-Script-Baustelle der 1. Parameter.
Re: vlc audio via script
Hmm...
Wenn ich meinem Dateinmanager (xfe) via Rechtsklick sage, dass er eine Datei mit dem Script home/[benutzername]/vlc+ecas öffen soll, dann tut er das, wenn in vlc+ecas steht:
Wenn ich das mit
in vlc+ecas mache, dann tut er das auch, aber ich will den Dateinamen nicht händisch eingeben.
Wo überlistet mich die Bash-Syntax?
Wenn ich meinem Dateinmanager (xfe) via Rechtsklick sage, dass er eine Datei mit dem Script home/[benutzername]/vlc+ecas öffen soll, dann tut er das, wenn in vlc+ecas steht:
Code: Alles auswählen
#!/bin/sh
# In dieser Form funktioniert das script, wenn man ein Video im Dateimanager xfe via „Öffnen mit“ startet.
# Offenbar wird dabei der angeklickte Dateinamen an vlc übergeben, sodass vlc im folgenden Kommando mit diesem
# Dateinamen als erstem (und einzigen) Parameter gestartet wird.
vlc ${1} &&
sleep 5
# Ob ein sleep überhaupt nötig ist wäre zu testen
~/asoundrc-versuche/ecas-wahl3
Code: Alles auswählen
#!/bin/sh
vlc [Dateiname] --aout alsa --alsa-audio-device "hw:Loopback,0" &&
sleep 5
# Ob ein sleep überhaupt nötig ist wäre zu testen
~/asoundrc-versuche/ecas-wahl3
Wo überlistet mich die Bash-Syntax?
Re: vlc audio via script
edit:fischic hat geschrieben:02.07.2020 14:02:02Hmm...
Wenn ich meinem Dateinmanager (xfe) via Rechtsklick sage, dass er eine Datei mit dem Script home/[benutzername]/vlc+ecas öffen soll, dann tut er das, wenn in vlc+ecas steht:Wenn ich das mitCode: Alles auswählen
#!/bin/sh # In dieser Form funktioniert das script, wenn man ein Video im Dateimanager xfe via „Öffnen mit“ startet. # Offenbar wird dabei der angeklickte Dateinamen an vlc übergeben, sodass vlc im folgenden Kommando mit diesem # Dateinamen als erstem (und einzigen) Parameter gestartet wird. vlc ${1} && sleep 5 # Ob ein sleep überhaupt nötig ist wäre zu testen ~/asoundrc-versuche/ecas-wahl3
in vlc+ecas mache, dann tut er das auch, aber ich will den Dateinamen nicht händisch eingeben.Code: Alles auswählen
#!/bin/sh vlc [Dateiname] --aout alsa --alsa-audio-device "hw:Loopback,0" && sleep 5 # Ob ein sleep überhaupt nötig ist wäre zu testen ~/asoundrc-versuche/ecas-wahl3
Wo überlistet mich die Bash-Syntax?
gelöst: "${1}" statt ${1}
Ist wahrscheinlich auch wieder vom Rücken aus durch die Brust ins Knie geschossen, funktioniert aber. Meine Herren, immer wenn ich diese Syntax anfassen muss, klappen sich erstmal alle Fuß- und Fingernägel hoch!
Re: (gelöst) vlc audio via script
Ich vermute das Skript tut nicht das, was du beabsichtigst. Um das etwas klarer zu machen, habe ich einen (bedeutungslosen) Zeilenumbruch entfernt:
vlc wird also gestartet, aber das && bedeutet, dass danach gewartet wird, ob sich vlc ohne Fehler beendet (dh mit einem Exitcode=0) und falls das der Fall ist, wird danach sleep 5 ausgeführt.
Erst dann wird das ecasound-Skript gestartet.
Wenn das Skript zumindest gelegentlich trotzdem das tut, was du erwartest, ist das Glück und liegt am Verhalten von vlc. Mit vlc lassen sich auch bereits laufende vlc-Instanzen steuern. Es kann also gut sein, dass der erste Befehl, zwar die Wiedergabe in vlc anstösst, sich aber sofort wieder beendet und nach 5 Sekunden das Skript gestartet wird.
Du wolltest vermutlich eher vlc starten und 5 Sekunden danach das acsound-Skript. Dazu müsstest du vlc mit einem & in den Hintergrund schicken:
Code: Alles auswählen
vlc "${1}" --aout alsa --alsa-audio-device "hw:Loopback,0" && sleep 5
~/asoundrc-versuche/ecas-wahl3
Erst dann wird das ecasound-Skript gestartet.
Wenn das Skript zumindest gelegentlich trotzdem das tut, was du erwartest, ist das Glück und liegt am Verhalten von vlc. Mit vlc lassen sich auch bereits laufende vlc-Instanzen steuern. Es kann also gut sein, dass der erste Befehl, zwar die Wiedergabe in vlc anstösst, sich aber sofort wieder beendet und nach 5 Sekunden das Skript gestartet wird.
Du wolltest vermutlich eher vlc starten und 5 Sekunden danach das acsound-Skript. Dazu müsstest du vlc mit einem & in den Hintergrund schicken:
Code: Alles auswählen
vlc "${1}" --aout alsa --alsa-audio-device "hw:Loopback,0" &
sleep 5s
~/asoundrc-versuche/ecas-wahl3
Re: (gelöst) vlc audio via script
Genau das war der Plan. Ich sag's ja: diese Syntax schafft mich. Und getreu meiner Devise: „Warum einfach, wenn's umständlich auch geht ...“ Keine Ahnung, wo in meinem Hinterkopf ich das Doppel-„&“ hatte.Du wolltest vermutlich eher vlc starten und 5 Sekunden danach das ecasound-Skript.
Danke für die Korrektur!