Auja - danke Dir, kommt aufn Tach nich an... Der Rest läuft einfach top - yavdr eben!

[ANNOUNCE] pulsecontrol 0.1.9 - Pulseaudio aus dem OSD heraus steuern
-
-
-
Vielen lieben Dank, das läuft wunderbar (auch ohne sleep)...
-
Ich stehe vor einem ähnlichen Problem, komme mit der beschriebenen Lösung leider nicht weiter. Jedes Mal beim Reboot vergisst der VDR meine Standardeinstellung. Nach dem Reboot habe ich in lsnk folgendes:
Codemod@HTPC-WZ:~$ sudo svdrpsend plug pulsecontrol lsnk 220 HTPC-WZ SVDRP VideoDiskRecorder 2.2.0; Sat Feb 20 12:41:48 2016; UTF-8 900- sink 1: alsa_output.pci-0000_00_1b.0.analog-stereo 900 *sink 0: alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1 221 HTPC-WZ closing connection
Nun wäre das Kartenprofil "sink 0" das Richtige, das Ausgabegerät um Ton zu bekommen muss aber (lt. OSD-Menü) alsa_output.pci-0000_01_00.1.hdmi_surround-extra3 heißen. Fragen:
- mit welchem Befehl kann ich die unterschiedlichen Ausgabegeräte listen ?
- welchen Befehl aus der Commandline muss ich absetzen um auf das gewünschte Profil umzuschalten.
Ob ich es dann mit startup.script, mit Upstart oder sonstwie löse entscheide ich, wenn ich die richtigen Schritte zum Ziel gefunden habe,Ich muss Taipan schon recht geben wenn er schreibt:
Das wirkt sich auf den WAF sehr negativ aus, wenn beim Start kein Ton da ist...
Danke
-
Vermutlich:
Mit list-cards die Kartennamen anzeigen lassen (einmalig)
Mit set-card-profile das richtige Profil setzen (vermutlich hdmi_surround-extra3).
Mit set-default-sink dann die Ausgabe setzen.Im startup.script sollte set-card-profile mit Kartennamen funktionieren (dann ist man unabhängig von der Initialisierungsreihenfolge), in der system.pa muss man wahrscheinlich den Kartenindex benutzen.
Lars
-
Hi mini73,
Hast vielleicht nen Tip für mich ?
Krieg hier die simultane Ausgabe also einmal den Ton per Soundcard und nochmal den Ton per nvidia hdmi nicht hin.
Besser gesagt es funktioniert schon, jedoch nach jedem Reboot des Systems (yavdr-0.6) bleibt der Ton aus also alles stumm.
Starte ich dann entweder den Vdr neu oder speicher übers WebIf pulseaudio erneut ab is der Ton dann immer sofort da auf beiden devices.
Klingt nach dem hier im Thread erwähnten Timing Problem jedoch hab ich einiges probiert und kriegs aber leider nicht hin.svdrpsend plug pulsecontrol list-cards zeigt das;
Code
Display More220 Yavdr-WZ SVDRP VideoDiskRecorder 2.2.0; Fri Feb 19 21:00:10 2016; UTF-8 900-card 1: alsa_card.pci-0000_00_1b.0 900- name: HDA Intel 900- desc: Built-in Audio 900- profile: input:analog-stereo 900- *profile: output:analog-stereo 900- profile: output:analog-stereo+input:analog-stereo 900- profile: output:analog-surround-40 900- profile: output:analog-surround-40+input:analog-stereo 900- profile: output:analog-surround-41 900- profile: output:analog-surround-41+input:analog-stereo 900- profile: output:analog-surround-50 900- profile: output:analog-surround-50+input:analog-stereo 900- profile: output:analog-surround-51 900- profile: output:analog-surround-51+input:analog-stereo 900- profile: output:analog-surround-71 900- profile: output:analog-surround-71+input:analog-stereo 900- profile: output:iec958-stereo 900- profile: output:iec958-stereo+input:analog-stereo 900- profile: off 900-card 0: alsa_card.pci-0000_01_00.1 900- name: HDA NVidia 900- desc: HDA NVidia 900- profile: output:hdmi-stereo 900- profile: output:hdmi-surround 900- *profile: output:hdmi-stereo-extra1 900- profile: output:hdmi-surround-extra1 900- profile: off 900-card 2: alsa_card.usb-Microsoft_Microsoft___LifeCam_Cinema_TM_-02-CinemaTM 900- name: Microsoft® LifeCam Cinema(TM) 900- desc: LifeCam Cinema 900- *profile: input:analog-mono 900 profile: off 221 Yavdr-WZ closing connection
Demnach hab ich in die /etc/pulse/system.pa am Ende folgendes eingetragen;
Codeset-card-profile alsa_card.pci-0000_00_1b.0 output:analog-stereo set-card-profile alsa_card.pci-0000_01_00.1 output:hdmi-stereo-extra1 load-module module-combine-sink set-default-sink combined
Das Startup Script in /var/lib/vdr/plugins/pulsecontrol mit Namen startup.script hab ich wie folgt angelegt;
Gruss
Bert -
Zu meinem Problem , das sich mit ähnlichen anderer User deckt bin ich zu dem Ergebnis gekommen, dass die sauberste Lösung jene mit Upstart ist. Allerdings verwende ich kein
- das ist nicht notwendig. Und ich verwende den Befehl
Codesvdrpsend plug pulsecontrol set-card-profile alsa_card.pci-0000_01_00.1 output:hdmi-surround-extra3
Lieber wäre mir das startup.script bzw. /etc/pulse/system.pa gewesen, doch das sind m.E. mit den jetzigen Restriktionen potentielle Problemträger.
Gründe:- mein startup.script endet nach reboot mit rc -4, nach restart funktioniert alles
- die Einträge in der /etc/pulse/system.pa können keine Kartennamen sein (soweit ich weiß) und von daher kann bei unterschiedlicher Initialisierung die Kartennummer unterschiedlich sein.
Danke an alle die hier geholfen haben.
-
-
In das Upstart Script. Aber bitte aufpassen: die Kartennamen entsprechen MEINER Konfiguration. Bitte deine Karten/Outputnamen entsprechend mit den Befehlen "lsnk" und "list-cards" herausfinden (siehe auch meine anderen posts in diesem Thread) !
Mein Upstart sieht dann so aus:
-
Sorry ich steh immer noch auf dem Schlauch. Die Antwort ist wahrscheinlich zu einfach.
Wo liegt das Upstart Script?
in /var/lib/vdr/plugins/pulsecontrol/startup.script?
in /etc/init/vdr.conf?
in /etc/init/pulseaudio.conf?Danke!
-
Es ist ein neues Upstart-Script, den Namen darfst du dir aussuchen.
Es muss unter /etc/init liegen und auf .conf enden.Lars.
-
Kurzanleitung:
1. Outputname/Kartenname ermitteln:
Ausgabe:Code220 hdvdr SVDRP VideoDiskRecorder 2.2.0; Tue Feb 23 15:54:03 2016; UTF-8 900 sink 2: alsa_output.pci-0000_00_08.0.hdmi-stereo 221 hdvdr closing connection
Ausgabe:Code
Display More220 hdvdr SVDRP VideoDiskRecorder 2.2.0; Tue Feb 23 15:58:27 2016; UTF-8 900-card 0: alsa_card.pci-0000_00_08.0 900- name: HDA NVidia 900- desc: Built-in Audio 900- profile: input:analog-stereo 900- profile: output:analog-stereo 900- profile: output:analog-stereo+input:analog-stereo 900- profile: output:iec958-stereo 900- profile: output:iec958-stereo+input:analog-stereo 900- *profile: output:hdmi-stereo 900- profile: output:hdmi-stereo+input:analog-stereo 900- profile: output:hdmi-surround 900- profile: output:hdmi-surround+input:analog-stereo 900 profile: off 221 hdvdr closing connection
Ergebnis:
2. Datei mit Script erstellen:
Inhalt: -
Hallo Zusammen,
ich habe auf meiner ZBOX das interne Audio Device und den Nvidia Sound Controller:
Code
Display Morehd-vdr@HD-VDR:~$ svdrpsend plug pulsecontrol list-cards 220 HD-VDR SVDRP VideoDiskRecorder 2.2.0; Sun Oct 16 13:07:42 2016; UTF-8 900-card 0: alsa_card.pci-0000_00_1b.0 900- name: HDA Intel 900- desc: Built-in Audio 900- profile: input:analog-stereo 900- profile: output:analog-stereo 900- profile: output:analog-stereo+input:analog-stereo 900- profile: output:iec958-stereo 900- *profile: output:iec958-stereo+input:analog-stereo 900- profile: off 900-card 1: alsa_card.pci-0000_03_00.1 900- name: HDA NVidia 900- desc: High Definition Audio Controller 900- profile: output:hdmi-stereo 900- profile: output:hdmi-surround 900- profile: output:hdmi-stereo-extra1 900- profile: output:hdmi-surround-extra1 900- profile: output:hdmi-stereo-extra2 900- profile: output:hdmi-surround-extra2 900- profile: output:hdmi-stereo-extra3 900- profile: output:hdmi-surround-extra3 900 *profile: off 221 HD-VDR closing connection
Angeschlossen ist eine Anlage über SPDIF und ein Kopfhörer über "Analog out". Also beides Profile der KArt "HDA Intel". Deshalb habe ich die NVidia KArte abgeschaltet.
Mein startup.script sieht folgendermaßen aus:
Codeset-card-profile alsa_card.pci-0000_03_00.1 off set-card-profile alsa_card.pci-0000_00_1b.0 output:iec958-stereo+input:analog-stereo set-card-profile alsa_card.pci-0000_00_1b.1 output:analog-stereo+input:analog-stereo set-default-sink alsa_output.pci-0000_00_1b.0.iec958-stereo+input:analog-stereo set-sink-formats alsa_output.pci-0000_00_1b.0.iec958-stereo "pcm;ac3-iec61937;eac3-iec61937;mpeg-iec61937;dts-iec61937;mpeg2-aac-iec61937"
Ich würde jetzt gerne mit einer einzigen Taste auf der FErnbedienung zwischen Anlage und Kopfhörer hin- und herschalten, also in etwa was "move-sink-input next" anbietet, ABER dies verschiebt die Ausgabe zwischen den beiden Soundkarten, nicht zwischen Profilen der gleichen KArte. (wie auch die README beschreibt :"The special sink name "next" selects the next sink from the list returned by list-sinks.". Bzw. da ich die zweite Karte auf "off" stehen habe, bietet mir "list-sinks" sowieso nur einen einzigen sink an:
Codehd-vdr@HD-VDR:~$ svdrpsend plug pulsecontrol list-sinks 220 HD-VDR SVDRP VideoDiskRecorder 2.2.0; Sun Oct 16 13:20:05 2016; UTF-8 900 sink 10: alsa_output.pci-0000_00_1b.0.iec958-stereo 221 HD-VDR closing connection
Gibt es eine Möglichkeit zwischen den Profilen einer einzelnen "sink" zu "togglen"? bzw. beide als "sinks" zu definieren?
Noch eine andere Frage, sind ide Anführungszeichen bei den passthrough DEfinitionen richtig/nötig? Finde das in der Doku nicht und im OSD sind immer alle passthrough auf "nein" gesetzt, egal was ich mache.
Danke für eure Hilfe!
Tim
-
Wenn du zwischen zwei Profilen wechseln willst, müsste es mit set-card-profile eigentlich gehen. Da es dann aber abhängig vom aktiven Profil sein soll, musst du dieses erst bestimmen.
Ungetestet:
Bash#!/bin/bash if [[ $(svdrpsend plug pulsecontrol list-cards | grep "*profile: output:iec958-stereo+input:analog-stereo") ]] then svdrpsend plug pulsecontrol set-card-profile alsa_card.pci-0000_00_1b.1 output:analog-stereo+input:analog-stereo elif [[ $(svdrpsend plug pulsecontrol list-cards | grep "*profile: output:analog-stereo+input:analog-stereo") ]] then svdrpsend plug pulsecontrol set-card-profile alsa_card.pci-0000_00_1b.1 output:iec958-stereo+input:analog-stereo fi
Und das dann auf eine Taste der Fernbedienung legen.Lars.
-
Noch eine andere Frage, sind ide Anführungszeichen bei den passthrough DEfinitionen richtig/nötig? Finde das in der Doku nicht und im OSD sind immer alle passthrough auf "nein" gesetzt, egal was ich mache.
Im startup.script sollte es nicht nötig sein, auf der Shell allerdings schon, weil das Semikolon ein Trenner zwischen zwei Befehlen ist.
Steht irgendwas im syslog, evtl. sowas wie "error in formats"?Lars.
-
Im startup.script sollte es nicht nötig sein, auf der Shell allerdings schon, weil das Semikolon ein Trenner zwischen zwei Befehlen ist.
Steht irgendwas im syslog, evtl. sowas wie "error in formats"?Lars.
hm, habe sie im startup.script weggelassen und bekomme im syslog keinerlei Fehlermeldungen. Im OSD sind aber alle Passthrough-Einträge zu den verschiedenen Formaten auf "nein". hm....Tim
-
Wenn du zwischen zwei Profilen wechseln willst, müsste es mit set-card-profile eigentlich gehen. Da es dann aber abhängig vom aktiven Profil sein soll, musst du dieses erst bestimmen.
Ungetestet:
Bash#!/bin/bash if [[ $(svdrpsend plug pulsecontrol list-cards | grep "*profile: output:iec958-stereo+input:analog-stereo") ]] then svdrpsend plug pulsecontrol set-card-profile alsa_card.pci-0000_00_1b.1 output:analog-stereo+input:analog-stereo elif [[ $(svdrpsend plug pulsecontrol list-cards | grep "*profile: output:analog-stereo+input:analog-stereo") ]] svdrpsend plug pulsecontrol set-card-profile alsa_card.pci-0000_00_1b.1 output:iec958-stereo+input:analog-stereo fi
Und das dann auf eine Taste der Fernbedienung legen.Lars.
Danke für Deine schnelle Reaktion!
hm. irgendwas hängt noch im skript, selbst wenn ich es manuell ausprobiere:Code./skript_pulsecontrol_audio_sink_wechseln: Zeile 7: Syntaxfehler beim unerwarteten Wort »fi« ./skript_pulsecontrol_audio_sink_wechseln: Zeile 7: `fi'
falsche syntax? falsche konsole? Ich kenne mich da leider viel zu schlecht aus mitwie würdest Du das denn dann integrieren? über keymakros.conf? oder wenn ich im pulsecontrol plugin richtig gesehen habe (und mich korrekt erinnere), gab es auch dort eine Möglichkeit eigenen Code auszuführen?
DAnke für Deine Hilfe!
Tim
-
hm, habe gerade mal das Kommando zum Umschalten getestet:
Codehd-vdr@HD-VDR:~$ svdrpsend plug pulsecontrol set-card-profile alsa_card.pci-0000_00_1b.1 output:analog-stereo+input:analog-stereo 220 HD-VDR SVDRP VideoDiskRecorder 2.2.0; Sun Oct 16 16:03:52 2016; UTF-8 900 Ok 221 HD-VDR closing connection
hat aber leider keinen Effekt(wobei das Umschalten im OSD unter "Wechsel Kartenprofil" funktioniert und auf den Kopfhörer umschaltet)
Tim
-
Nach der Zeile mit dem elif fehlt noch ein then, hab ich oben ergänzt.
Wenn es im OSD klappt, aber über svdrp nicht, dann hab ich auch spontan keine Idee. "Eigentlich" wird dann immer der gleiche Code ausgeführt.
Lars
-
In Sachen Fernbedienung bin ich auch nicht ganz firm, aber keymacros taugen nur bedingt dafür, wenn ich mich richtig erinnere. Es gibt aber Wege, umm bei Tastendruck beliebige Programme ausführen zu lassen, das passiert aber außerhalb des vdr.
Lars
-
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!