dbraner Posted October 6, 2012 Posted October 6, 2012 Hallo, ich gebe derzeit für AudioA den Ton über HDMI an den Fernseher aus, während er 5.1 Ton per SPDIF mit AudioB an den DD-Verstärker geschickt wird. Daher habe ich für AudioA und B unterschiedliche Renderer eingestellt (TV/HDMI und SPDIF). Der Nachteil an diesem Konstrukt ist, dass ich zwischen AudioA und B manuell bzw. per Fernbedienung umschalten muss. Mein Ziel ist aber, dass bei Auswahl der AC3 Tonspur bei TV oder Video automatisch der SPDIF-Renderer ausgewählt wird. Mit der AutoB Bedingung geht dieser automatische Switch ja nicht (hat wohl irgendwas mit dem Filtergraphen zu tun). Kann man eine solche automatische Umschaltung des Audiorenderers über Graphpresets lösen? Wenn ja, hat mal jemand ein Beispiel dafür? Quote
Tjod Posted October 6, 2012 Posted October 6, 2012 Ich glaube nicht dass das geht. Da die GraphPresets nur die Bedingungen zur Auswahl unterstützen die es auch für Video/Audio A/B gibt. Mit etwas Glück geht in der nächsten Version mehr oder weniger einfach über channelchange.vbs und die A/B Umschaltung. Christian wollte gucken was er da machen kann. Mindestrens ein dauerhafter Indikator ob A oder B aktiv ist oder jeweils eine Action ID für jede Richtung sollte denke ich möglich sein. Quote
dbraner Posted October 7, 2012 Author Posted October 7, 2012 Ich glaube nicht dass das geht. Da die GraphPresets nur die Bedingungen zur Auswahl unterstützen die es auch für Video/Audio A/B gibt. Mit etwas Glück geht in der nächsten Version mehr oder weniger einfach über channelchange.vbs und die A/B Umschaltung. Christian wollte gucken was er da machen kann. Mindestrens ein dauerhafter Indikator ob A oder B aktiv ist oder jeweils eine Action ID für jede Richtung sollte denke ich möglich sein. Ok, danke für die Info. Das mit dem channelchange.vbs Script würde wohl nur bei TV was bringen. Es müsste einen Indikator geben, der über die Auswahl der Tonspur informiert. Das würde dann auch bei DVD oder allgemein der Medienwiedergabe funktionieren. So ne Art OnAudioChange Event. Aber warten wir erst mal ab, was die nächste Version hinsichtlich Audio-Auswahl bringt. Die getrennte Behandlung von AudioA/B per ActionId bzw. die Abfrage, was gerade aktiv ist, wäre auf jeden Fall schon mal eine große Hilfe. Quote
BALOU Posted October 7, 2012 Posted October 7, 2012 Also ich betreibe das mit separaten Audio A und B Befehlen(also nicht über die Auswahl der Audiospur). In der Senderliste habe ich alle ac3 Spuren auf die erste Stelle gesetzt und so auch in die Favoriten übernommen. Wird also generell die ac3 Spur verwendet. Das ganze geht m.M ausgezeichnet mit EG und sendcommand2. Quote
dbraner Posted October 7, 2012 Author Posted October 7, 2012 Also ich betreibe das mit separaten Audio A und B Befehlen(also nicht über die Auswahl der Audiospur). In der Senderliste habe ich alle ac3 Spuren auf die erste Stelle gesetzt und so auch in die Favoriten übernommen. Wird also generell die ac3 Spur verwendet. Das ganze geht m.M ausgezeichnet mit EG und sendcommand2. Mir geht es auch um die Medienwiedergabe (DVDs, ISOs, etc.). Habe mir jetzt mal die Events angeschaut, die beim Wechseln der Audiospur geschickt werden. Scheint als gäbe es immer einen OnPlaystateChange Event. Wenn ich den jetzt abfange und dann per COM den Audiomode ermittle, weiß ich, auf welche Spur umgeschaltet wurde. Dann muss ich nur noch (per SendCommand) auf AudioA/B umschalten. Dabei würde eine separate ActionId für A und B helfen. Man kann zwar die Datamanager Variable #Info abfragen, das funktioniert aber in diesem Fall (d.h. bei OnPlaystateChange Events) nicht zuverlässig, da diese Variable bei anderen Aktionen überschrieben werden kann und nur direkt nach dem Wechsel AudioA/B einen Text enthält, der auf den Audio-Modus hinweist. Quote
BALOU Posted October 7, 2012 Posted October 7, 2012 (edited) Ok,außer Live TV schaue ich nur .mkv da funktioniert das für mich gut.Einen Fehler bei mkv hatte ich da schon(also bei Dateiwiedgabe den ich aber mit EG umgehen konnte) Aber sehen wir mal was Version 5 bringt vielleicht behebt die ja schon wie angekündigt das ein oder andere Problem. Vorgehen -sendcommand gibt nur das Event für EG ab(für a oder B ) -in EG zwei makros für A und B in denen jeweils vor der Umschaltung zu A oder B die ActionID 133(Audio A/B ) ausgelöst wird das sollte dann eigentlich funktioneren. Edited October 7, 2012 by BALOU Quote
wedok Posted October 7, 2012 Posted October 7, 2012 (edited) Der Nachteil an diesem Konstrukt ist, dass ich zwischen AudioA und B manuell bzw. per Fernbedienung umschalten muss. Mein Ziel ist aber, dass bei Auswahl der AC3 Tonspur bei TV oder Video automatisch der SPDIF-Renderer ausgewählt wird. reclock kannst du unterschiedliche soundkarten für directsound (gpu hdmi audio) und waveout (realtek onboard spdif) definieren. sobald ein bitsreamfähiges format bei reclock ankommt gibt ers über den waveout wieder alles andere über directsound. Edited October 7, 2012 by wedok Quote
dbraner Posted October 8, 2012 Author Posted October 8, 2012 reclock kannst du unterschiedliche soundkarten für directsound (gpu hdmi audio) und waveout (realtek onboard spdif) definieren. sobald ein bitsreamfähiges format bei reclock ankommt gibt ers über den waveout wieder alles andere über directsound. Interessant. Dann sollte man sowas doch eigentlich auch in den DVBViewer direkt einbauen können, zumal der DVBViewer ja weiß, ob es Stereo oder AC3 ist. Reclock hatte ich früher mal installiert, hatte aber immer wieder das Problem, dass manchmal gar kein Ton kam oder aber übler Bild/Ton Versatz. Ich warte jetzt mal auf die nächste DVBViewerr Version und werde mir dann wahrscheinlich mit einem kleinen Plugin die oben beschriebene Lösung mit dem OnPlaystateChange Event bauen. Quote
Griga Posted October 8, 2012 Posted October 8, 2012 Mit der AutoB Bedingung geht dieser automatische Switch ja nicht (hat wohl irgendwas mit dem Filtergraphen zu tun). Der DVBViewer GE kann das: http://www.DVBViewer.com/griga/Wiedergabe.html#DirectShow Siehe Abschnitt Video/Audio A/B und Auto B-Bedingungen Allerdings musste es etwas "krumm" implementiert werden, da die AutoB-Bedingungen nur bei einem kompletten Neuaufbau des Filtergraphen greifen, der bei einem Wechsel der Audiospur jedoch nicht stattfindet - dabei wird höchstens der Audiodecoder gemäß den Vorgaben in den DirectX-Optionen ausgetauscht. Der DVBViewer GE überprüft deshalb bei einem Wechsel der Audiospur, ob dabei eine AutoB-Bedingung relevant ist. Falls ja, baut er den ganzen Filtergraphen neu, was dann etwas länger dauert. In den DVBViewer Pro wurde das Verfahren bislang nicht übernommen. Quote
dbraner Posted October 8, 2012 Author Posted October 8, 2012 Der DVBViewer GE überprüft deshalb bei einem Wechsel der Audiospur, ob dabei eine AutoB-Bedingung relevant ist. Falls ja, baut er den ganzen Filtergraphen neu, was dann etwas länger dauert. In den DVBViewer Pro wurde das Verfahren bislang nicht übernommen. Mit der Verzögerung wg Aufbau des Graphen könnte ich gut leben. Wenn ich das recht verstehe, wird beim manuellen Umschalten von AudioA auf B der Graph sowieso neu aufgebaut, zumindest wenn ich unterschiedliche Audiorenderer (HDMI und SPDIF) eingestellt habe. Die Verzögerung ist zu verschmerzen, da man die Tonspur sowieso nur einmal am Anfang eines Films ändert. Da ist die momentane Lösung mit Auswahl der Tonspur und danach Umscahlten auf AudioB deutlich umständlicher, zumal man am Ende eines Films (z.B. bei Medienwiedergabe) wieer auf AudioA zurück schalten muss. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.