Einsteigerfragen zu XBMC für Fortgeschrittene

  • Mahlzeit!

    Ein paar Dinge zu meinem Projekt:
    Geplant ist ein HTPC, der Medien abspielen kann und zum Zocken von Unterhaltungsspielen wie Supertuxkart, Performous, Frets on Fire und so was taugt, kurz: So 'ne Art linuxbasierte "Playbox Wii". Wegen der schnellen Bootzeit habe ich mich für die neueste Ubuntu 11.04 entschieden und dieses in der Minimal-Konfiguration mit XBMC-Live und 64bit installiert. Und weil das ganze ein paar Jahre ohne Hardware-Wechsel laufen soll, kam für mich nur 'ne AMD-GPU in Frage. Derzeit zwar mit proprietärem Treiber, aber wenn die HD3200 in ein paar Jahren aus der Catalyst-Unterstützung rausfliegt, werden die freien Treiber einen guten Ersatz darstellen.
    Da Pulseaudio speziell bei Spielen immer wieder für Probleme mit der Soundausgabe sorgt (oder meinetwegen auch: andere Programme immer wieder nicht richtig mit Pulseaudio zusammenarbeiten wollen) und auch die CPU-Belastung durch Pulseaudio höher ist als bei anderen Sound-Dämonen oder ALSAs dmix, würde ich gerne auf Pulseaudio verzichten. Mein Onboard-Audio-Device wird mit den Treibern snd-hda-intel | snd-hda-codec-hdmi |snd-hda-codec-realtek angetrieben und ist - wenn man lspci glauben darf - ein "ATI Technologies Inc SBx00 Azalia (Intel HDA)" bzw. "ATI Technologies Inc RS780 Azalia controller". Meine Sound-Devices aus Kernel-Sicht:

    Der HDTV, mit dem das Ganze betrieben wird, ist ein "Grundig Vision 6" 26-Zöller(, weil das zu der Zeit, als ich einen neuen Fernseher gebraucht habe, das stromsparendste Gerät auf dem Markt war - oder zumindest das stromparendste, das ich finden konnte. :) ). Er ist über HDMI an den Computer angeschlossen. (Laut Anleitung kann er 1366x786 maximal darstellen. Über HDMI wird aber maximal 1280x720 angeboten da stimmen wohl die EDID-Daten des Fernsehers nicht. Aber das nur nebenbei.) Besonderheit: Der Fernseher lässt kein benutzerdefiniertes Audiorouting zu, d.h. für jeden Video-Eingang gibt es passende Audio-Eingänge. Intern wird nur die jeweils zum Video-Eingang passende Audio-Schnittstelle verstärkt, jeder andere Audio-Eingang wird kurzerhand stumm geschalten. Es ist also manuell unmöglich, den HDMI-Video-Eingang mit dem analogen PC-Audio-Eingang zu koppeln. Prinzipiell hätte ich nichts dagegen, den VGA-Eingang zu benutzen und ein nicht ganz so brilliantes Bild in Kauf zu nehmen, dummerweise schafft es der Fernseher beim Einsatz vom Catalyst-Treiber einfach nicht, das Bild zentriert und ausgefüllt darzustellen - egal, was für eine Auflösung gewählt wird.

    Zum eigentlichen Problem: Ich bin gerade dabei, mir ein eigenes Soundsetup mittels .asoundrc zusammen zu stellen, und stolpere hier und da über Sonderbarkeiten von XBMC, die mir gerade keine Ruhe mehr lassen. Deshalb zum Einstieg mal ein paar Fragen:

    Ubuntu verlässt sich beim Sound inzwischen komplett auf Pulseaudio, es ist also Out-Of-The-Box keinerlei Userspace-ALSA-Konfiguration aka ~/.asoundrc oder /etc/asound.conf vorhanden. In der Systemeinstellung von XBMC findet sich im Audio-Reiter trotz allem eine Vielzahl an Einstellungsmöglichkeiten. Als da wären:

    * Audio-Ausgabe: Analog | HDMI | Optisch/Coaxial
    * Audio-Ausgabegerät: Standards | iec958 | hdmi | HDA ATI SB Standards | HDA ATI SB iec958 | HDA ATI HDMI Standards | HDA ATI HDMI hdmi | Benutzerdefiniert
    * Digitales Ausgabegerät für Passthrough: iec958 | hdmi | HDA ATI SB iec958 | HDA ATI HDMI hdmi | Benutzerdefiniert

    Zunächst mal kapiere ich nicht, warum ein Unterschied zwischen "Audio-Ausgabe" und "Audio-Ausgabegerät" gemacht wird. Was steckt denn da dahinter?

    Nächstes Ding: So lange ich keine .asoundrc bzw. asound.conf habe, kann ich dort einstellen, was ich will: Es kommt schlicht kein Ton - zumindest über HDMI. Ton KÄME bei "Standards" über Analog (klar: erste Soundkarte, erstes Device), aber mein Fernseher sperrt - wie oben beschrieben - bei HDMI den analogen Eingang. Sobald ich eine .asoundrc bzw. asound.conf mit den Zeilen

    Code
    pcm.!default {
      	type hw
      	card 1
      	device 3
     }

    erstelle, erwacht der Ton in XBMC zum Leben. Zunächst die Oberfläche - und wenn ich in "Audio-Ausgabe" bzw. "Audio-Ausgabegerät" "Standards" angebe, kommen sogar Musik und Video über HDMI. Daraus schließe ich einfach mal, dass XBMC wohl aus (mindestens) zwei Komponenten besteht, die jede Ihre eigene Soundausgabe haben. Erstmal nich sonderlich schlimm. Komisch finde ich nur, dass bei DVDs alles richtig gemacht wird: Ton und Bild in der richtigen Geschwindigkeit (zumindest bei nun schon zwei DVDs, die ich getestet habe). Dagegen werden Filme von der Festplatte (z.B. ein AVI mit 22050Hz-Ton) nicht wirklich richtig abgespielt. Es scheint vielmehr so, als würde der Ton auf 48kHz hochgepitcht und der Film dazu angepasst: Alles läuft (mindestens) in doppelter Geschwindigkeit - und dabei habe ich bei den Video-Einstellungen doch extra angegeben, dass sich die Ton-Synchronisierung nach dem Video zu richten hat (System -> Video -> Wiedergabe -> A/V-Sync-Methode: Video-Takt (Audio-Anpassen)).
    Dass ich meine .asoundrc bzw. asound.conf noch um eine Upmix-Funktion erweitern muss: Geschenkt! Schließlich werden auch ogg- und mp3-Musikdateien zu schnell abgespielt. Aber warum geht das bei Video von Festplatte schief und bei Videos von DVD nicht?

    Drittens habe ich ein Problem mit diversen Filmen, die nicht abgespielt werden (Dateiendung "MPG"). Ich habe irgendwo aufgeschnappt, dass "unbekannte" Codecs nur über ein Workaround abspielbar sind, weil sämtliche Codecs ins Binary reingecoded wurden. Also irgendein externes Abspielprogramm - damit wären es dann wohl mit Oberfläche und sonstigem Video-Abspieler die 3. Medien-Abspielkomponente. :) Aber egal: Wie heißt das Workaround, dass es zu installieren gilt: xine, mplayer oder vlc? Oder noch was anderes?

    Liebe Grüße! Und danke für jede Hilfe!
    Mitsch

  • Hi und willkommen im Sound-Problem-Camp.

    Um möglichst alle Probleme auszuschließen, würde ich derzeit Pulse komplett löschen.
    Ich sehe zwar, dass du ALSA verwendest, aber sollte dennoch Pulse installiert sein, kann das noch immer dazwischenfunken.

    Beim XBMC würde ich alle Synchronisationseinstellungen deaktivieren.
    Auch das Anpassen an die Monitprfrequenz würde ich erstmal deaktivieren.

    --
    Du bekommst also bereits analogen und digitalen Ton über HDMI in den TV?

    Gut wäre, wenn du ein Debug-Log im XBMC erstellen könntest, wenn du eine Datei abspielst, die "gepitcht" abgespielt wird.
    ----

    Zitat

    Zunächst mal kapiere ich nicht, warum ein Unterschied zwischen "Audio-Ausgabe" und "Audio-Ausgabegerät" gemacht wird. Was steckt denn da dahinter?


    Ist wohl etwas schlecht übersetzt.
    Generell stellt man im ersten Teil die Ausgabeart ein und im zweiten Teil dann das Gerät.
    Ist ziemlich verwirrend gemacht (und es wird ja auch derzeit an einer komplett neuen AudioEngine gearbeitet).

    P.S.:
    Es kann sein, dass das am Ende alles nichts bringen wird. ATI und Linux-XBMC haben schon sehr oft zur Verzeifelung geführt.
    Da du aber anscheinend schon Ton hast (und auch nur ein Ausgabegerät als Ziel), sollte es machbar sein.

  • Also die ATI Kombi ist nicht immer die beste mit XBMC unter Linux...da wäre NVIDIA eventuell besser...

    Für vorkonfigurierten HDMI Sound kannst du doch mal das Installskript hier aus der HowTo Sektion testen...

    Zitat

    Wie heißt das Workaround, dass es zu installieren gilt: xine, mplayer oder vlc? Oder noch was anderes?

    Der Player ist egal...du kannst im wiki mal nach "external player" suchen...da findest du was du benötigst...

    den anderen kram müsste ich mir mal angucken...

    ein log-file vielleicht?

    [EDIT]da war don wohl etwas schneller...:D[/EDIT]

    mm

  • Hi und willkommen im Sound-Problem-Camp.

    :)

    Ich sehe zwar, dass du ALSA verwendest, aber sollte dennoch Pulse installiert sein, kann das noch immer dazwischenfunken.

    Die Problematik ist mir aus der "Linux als Digital-Audio-Workstation"-Ecke bekannt, wo ich immer peinlich genau drauf achte, KEIN Pulse auf dem Rechner zu haben. Allerdings hatte ich inzwischen gehofft, dass dieser Sounddämon endlich mal seine Kinderkrankheiten abgewöhnt bekommen hat - für Desktop-Geschichten ist Pulse ja eigentlich ganz praktisch. Aber in diesem Fall ist's für meine Zwecke echt überflüssig - also weg damit!

    Beim XBMC würde ich alle Synchronisationseinstellungen deaktivieren.
    Auch das Anpassen an die Monitprfrequenz würde ich erstmal deaktivieren.

    Danke für den Tip. Probiere ich mal aus!

    --
    Du bekommst also bereits analogen und digitalen Ton über HDMI in den TV?

    Nicht nur das: Inzwischen haben sich eigentlich alle Probleme mit der Soundausgabe gelöst, nachdem ich diese asound.conf in /etc hinterlassen habe:


    Die Soundausgabe wird jetzt nicht nur gemixt, sondern auch auf 48kHz resampelt. Das heißt: Kein Pitch mehr und die Video-Ausgabe erfolgt in "normaler" Geschwindigkeit. Und das alles über HDMI - perfekt!

    Also die ATI Kombi ist nicht immer die beste mit XBMC unter Linux...da wäre NVIDIA eventuell besser...

    Eine Entscheidung, die man treffen muss. Klar ist der proprietäre Treiber von nVidia gerade das Nonplusultra für Spiele und Video (VDPAU!!!) - also eigentlich genau für meine Zwecke. Andererseits ist das ein Luxus auf Zeit: Mein Arbeits-Computer ist derzeit ein Apple Powermac G4 mit Ubuntu und - leider - mit nVidia-Karte. Mal abgesehen davon, dass es für PowerPC noch nie einen proprietären Treiber von nVidia gab, kann der nouveau-Treiber für die GeForce4 quasi gar nichts in Sachen Video- und 3D-Beschleunigung. Bevor AMD mit der Linux-Unterstützung ernst machte habe ich auch ausschließlich nVidia-Karten gekauft. Diese Karten (für IBM-kompatible, nicht für PowerPC!) sind heute - obwohl sie theoretisch hardwaremäßig spielend mit den gängigen OpenSource-Spielen und Videos zurecht kämen - faktisch unbenutzbar. Auf der anderen Seite kann ich heute noch mit meinem alten Thinkpad und einer Ati Rage Mobility 128 z.B. eDUKE und Quake spielen und habe mit nicht-HD-Videos keinerlei Abspielprobleme.
    Ich bin zwar zweifellos ein Computerfreak, stehe aber andererseits der Ressourcenverschwendung, wie sie gerade im PC-Bereich sehr ausladend stattfindet, sehr kritisch gegenüber. Gute freie Treiber sind ein einigermaßen brauchbarer Garant für eine dauerhafte Benutzbarkeit bis zum physischen Exitus. Deswegen AMD. :)

    Der Player ist egal...du kannst im wiki mal nach "external player" suchen...da findest du was du benötigst...

    Schau ich mir mal an! Danke!

    Und auch noch sonst danke, dass Ihr so schnell geantwortet habt! :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!