(gelöst) vlc audio via script

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

(gelöst) vlc audio via script

Beitrag von fischig » 02.07.2020 09:58:53

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.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: vlc audio via script

Beitrag von smutbert » 02.07.2020 10:09:24

das sollte glaube ich zum Beispiel funktionieren :wink:

Code: Alles auswählen

vlc --aout alsa --alsa-audio-device "hw:Loopback,0" Videodatei.mp4

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: vlc audio via script

Beitrag von fischig » 02.07.2020 10:19:13

Danke sehr! ich probier's heute nachmittag. Der Dateiname ist auf meiner VLC+ecasond-Script-Baustelle der 1. Parameter. :wink:

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: vlc audio via script

Beitrag von fischig » 02.07.2020 14:02:02

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:

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
Wenn ich das mit

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
in vlc+ecas mache, dann tut er das auch, aber ich will den Dateinamen nicht händisch eingeben.
Wo überlistet mich die Bash-Syntax?

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: vlc audio via script

Beitrag von fischig » 02.07.2020 15:35:05

fischic hat geschrieben: ↑ zum Beitrag ↑
02.07.2020 14:02:02
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:

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
Wenn ich das mit

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
in vlc+ecas mache, dann tut er das auch, aber ich will den Dateinamen nicht händisch eingeben.
Wo überlistet mich die Bash-Syntax?
edit:
gelöst: "${1}" statt ${1}
Ist wahrscheinlich auch wieder vom Rücken aus durch die Brust ins Knie geschossen, funktioniert aber. :wink: Meine Herren, immer wenn ich diese Syntax anfassen muss, klappen sich erstmal alle Fuß- und Fingernägel hoch! :mrgreen:

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: (gelöst) vlc audio via script

Beitrag von smutbert » 02.07.2020 16:35:49

Ich vermute das Skript tut nicht das, was du beabsichtigst. Um das etwas klarer zu machen, habe ich einen (bedeutungslosen) Zeilenumbruch entfernt:

Code: Alles auswählen

vlc "${1}" --aout alsa --alsa-audio-device "hw:Loopback,0" && sleep 5

~/asoundrc-versuche/ecas-wahl3
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 5s
~/asoundrc-versuche/ecas-wahl3

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: (gelöst) vlc audio via script

Beitrag von fischig » 02.07.2020 16:45:11

Du wolltest vermutlich eher vlc starten und 5 Sekunden danach das ecasound-Skript.
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 ...“ :wink: Keine Ahnung, wo in meinem Hinterkopf ich das Doppel-„&“ hatte.

Danke für die Korrektur!

Antworten