Omxplayer: Audio über HDMI startet später als Video

  • Hallo zusammen,
    als Neuling, was Linux und Raspberry betrifft, wende ich mich an das Forum in der Hoffnung, das jemand sich mit demselben Phänomen herumgeschlagen hat.
    Ich habe mehrere Raspberry Pi2 mit Wheezy bespielt und betreibe sie als ferngesteuerte Multimediaplayer für mp4-Videos in Full HD. Zum Abspielen dient der omxplayer.
    Dabei läuft die Wiedergabe korrekt, wenn der Ton ANALOG und das Bild über HDMI ausgegeben werden.
    Wird der Ton ebenfalls über HDMI ausgegeben, schaltet er sich erst nach 2 s synchron zum Bild dazu - egal, welche Optionen ich am omxplayer ausprobiert habe. Auch bei sonstigen Konfigurationseinstellungen hatte ich bis jetzt keinen Erfolg.
    Weiß jemand eine Lösung?


    Danke, Wellenreiter


  • Vielleicht eine USB Soundkarte?
    Habe das selbe Problem und hab ne Soundkarte von CSL Computer genommen. Hat etwa 5€ gekostet.



    toasty


    Hallo toasty,
    danke Dir für die schnelle Antwort. Das löst das Kernproblem noch nicht ganz, weil die Monitore, die ich nutzen muß, nur HDMI können und für Zusatzlautsprecher kein Platz ist, ich also HDMI zwingend nutzen muss. Du hast mich aber auf eine andere Idee gebracht, nämlich notfalls einen AV-Inserter zu nutzen und das Audiosignal neu dazuzusetzen, falls sich keine Softwarelösung findet.
    Vielen Dank nochmal


  • Der Ton fängt einmalig 2sec. später an? Danach ist er sync?


    Genau. Der Ton ist lippensynchron. Er ist beim Starten am analogen Ausgang sofort, bei HDMI ziemlich genau 2 Sekunden später da. Ist das Video einmal geladen, und wird zwischendurch angehalten, startet der Ton dann korrekt mit dem Bild.
    Das Ganze passiert unabhängig von der Auflösung und Komprimierung des Videos, von der Taktfrequenz, vom angeschlossenen Monitortyp und von den HDMI-Einstellungen in der /boot/config.txt auf drei Raspberry Pi2. Allerdings sind alle drei gleich konfiguriert.

    • Official Post

    Gut, dann würde ich ja fast sagen "who Cares" ;). 2 Sekunden bei nem film sind 2sek. schwarzes Bild (oder bist du etwa ein Film-Spuler ;) ). Ich überlege grade ob das, als ich noch Pis als MediaCenter hatte, bei auch so war. Wer mal interessant zu wissen wie sich das bei dir mit deiner der Mediadistros verhällt. Dort wird mittlerweile dvdplayer als player eingesetzt. hast du mal nen anderen Player probiert? gstreamer wäre nen versuch wert.

  • Danke für die Anregung, werde ich mal ausprobieren.
    Ich setze die Pis in einer Ausstellung ein, in der man per Knopfdruck mehrere Filme abrufen kann. Leider beginnen einige mit Interviews ab erstem Bild. Da ist es einfach lästig, wenn man Leute reden sieht, aber erstmal nicht hört und das bei allen Filmen so ist, die man startet. Wie gesagt, nur wenn der Ton über HDMI läuft.
    Für heute gute Nacht und vielen Dank in die Runde.

  • dbv zumindest auf dem PI1 war gstreamer nicht in der Lage, HD-Material darzustellen, weil das generalisierte Design leider erfordert hat, die (hardware-beschleunigt) dekodierten Frames in den Hauptspeicher zu pumpen, und dann wieder hoch in die GPU. Der Round-trip hat den kleinen ueberfordert...

  • Lösung des verzögerten Audiostarts:
    Das Problem tritt nicht nur unter wheezy auf. Somit könnte der verzögerte Toneinstieg damit zusammenhängen, das bei jedem Abspiel der omxplayer neu aufgerufen wird und den HDMI-Audioausgang neu initialisiert. Dies dauert einfach zu lange, besonders dann, wenn über HDMI auch ein Bild ausgegeben werden soll.
    Die Lösung besteht darin, die Audioausgabe vorab zu initialisieren und dann ständig in Betrieb zu halten. Im Internet bin ich fündig geworden:
    der Konsolenbefehl "aplay -c2 -r48000 -fS16_LE < /dev/zero &" tut genau dies, indem er quasi ständig eine Nulldatei ausgibt.
    Einfach per Hand oder automatisch ausführen, danach tritt das Problem nicht mehr auf.
    Dazu ist in der Standardinstallation von whezzy nichts weiter runterzuladen, die zusätzliche CPU-Auslastung kann man vernachlässigen und der omxplayer läuft parallel dazu endlich so, wie er soll.