Video Audio Script

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hey Leute, ich habe folgendes Problem... ich habe mir eine Homeautomatisierung selber gebaut... jetzt geht es noch um bugfixes ... ich habe mir ein Programm geschrieben (vielleicht nicht ganz so sauber weil ich am rumtesten bin)

    Es geht inzwischen um ein paar einstellungen, folgendes ich habe mir ein Wetter system gebaut und möchte jetzt auf einem Bildschirm ein bestimmtes Video sehen wenn es Regnet und wenn die Sonne scheint ein anderes.

    Dieses System habe ich aber auch mit meiner Klingel und anderen eigentschaften ausgerüstet.

    Am Pi selber ist ein Hifi Amp2 ... Audio macht auch keine Faxen, nur video ...

    Problemstellung:

    Sobald ich ein Audio file abgespielt habt bleibt der Monitor schwarz wenn ich ein Video danach abspielen möchte.

    Wenn ich das Script neustarte kann ich ein Video abspielen und danach auch soviele sounds wie ich möchte, aber wenn ich danach wieder ein Video abspielen will bleibt der Monitor schwarz.



    Die Consolen ausgabe wenn er ein Video abspielt sieht so aus :

    Code
    Video codec omx-h264 width 1280 height 720 profile 100 fps 29.970030
    Audio codec aac channels 2 samplerate 44100 bitspersample 16
    Subtitle count: 0, state: off, index: 1, delay: 0
    V:PortSettingsChanged: 1280x720@29.97 interlace:0 deinterlace:0 anaglyph:0 par:1.00 display:0 layer:0 alpha:255 aspectMode:0

    Die Consolen ausgabe wenn er ein Video abspielen soll aber Schwarz bleibt


    Code
    Video codec omx-h264 width 1280 height 720 profile 100 fps 29.970030
    Audio codec aac channels 2 samplerate 44100 bitspersample 16
    Subtitle count: 0, state: off, index: 1, delay: 0
    V:PortSettingsChanged: 1280x720@29.97 interlace:0 deinterlace:0 anaglyph:0 par:1.00 display:0 layer:0 alpha:255 aspectMode:0


    ---------------------------------------------------------------


    Leider kann ich den OMXplayer nicht sagen das die Lautstärke links und rechts unterschiedlich sein soll , deswegen muss ich mit beiden Systemen arbeiten.


    Vermutung lag das der pygame mixer sich nicht richtig beendet.. aber denke mit einem Stop und kill sollte es gewesen sein oder ?


    Vielleicht hat von euch noch wer eine Idee! :wallbash::wallbash::wallbash::@:@:@:@:wallbash::wallbash::wallbash::wallbash:

  • Ich habe so ein richtiges chinesisches Drexteil (angeblich ist es ein 24" FullHD-Fernseher), das ich am RPi als HDMI-Monitor verwende. Es hat die Marotte, dass bei der Standard-Audioausgabe über HDMI der Bildschirm schwarz wird, wenn das Programm, das eine Audioausgabe macht (z.B. die bei Raspbian standardmäßig mitgelieferten pygame-Minigames oder auch der omxplayer) beendet wird. Das Bild auf dem Drexteil erscheint erst wieder, wenn erneut ein Programm mit HDMI-Audioausgabe gestartet wird.

    "Drexteil" deswegen, weil dieser Bug (oder ist es ein Feature?) nur auf diesem Gerät auftritt. Ein vernünftiger Fernseher bringt eine Meldung à la "Audio nicht standardgemäß beendet", zeigt aber weiterhin das Bild an.


    Probiere mal (wenn möglich) einen anderen Bildschirm und schaue, ob da das gleiche Problem auftritt, auch wenn sich Dein Problem der Beschreibung nach nicht ganz mit dem meinigen deckt... Aber generell traue ich billigem Chinazeug alles (Un-)Mögliche zu!

  • Ist zwar ein 15 Zoll Touch Display von Asus ... jetzt nicht die Creme, aber auch nicht das billigste. Werde es morgen mal an einem anderen testen.

    Also könnte es vielleicht helfen, wenn ich den display Export neu definiere vielleicht setze.

  • Auch wenn Asus einigermaßen namhaft ist, ist es grundsätzlich sinnvoll, in diesem Fall zuerst die Hardware abzuchecken, bevor man beginnt, womöglich auf tiefer Ebene zu versuchen, betriebssystem-/treiberseitig irgendwelche Änderungen vorzunehmen, um schließlich festzustellen, dass dies alles nicht anbeißt. Da ich obigen Fernseher 2015 gezielt für meinen neuen RPi erwarb, führte ich dieses Verhalten als Neuling zunächst fälschlicherweise auf einen Absturz des RPi zurück und zog daher unkontrolliert die Spannungsversorgung des laufenden RPi. Es dauerte eine ganze Zeit, bis ich das Verhalten dem Fernseher zuordnete, weil am RPi die grüne LED (SD-Zugriff) weiterhin Lebenszeichen gab.

  • Habe es an einem Monitor und einem TV- Gerät getestet , intialisiere den ausgang erneut keine änderung,


    auch wenn ich hdmi aus und wieder an mache ... keine änderung ... man das ist irgendwas nerviges mit dem sound "grml"

  • Der Bildschirm ist's offenbar nicht...


    Zeichne doch bitte mal einen Schaltplan mit allen Komponenten und allen Kabelverbindungen. Eine übersichtliche Bleistiftzeichnung auf einem Blatt Papier mit leserlichen Beschriftungen aller Komponenten (welches Modul, welcher Stecker, welches Kabel) reicht evtl. sogar.


    Außerdem eine tabellarische Auflistung aller verwendeten Programme:

    Betriebssystem: Raspbian (Desktop oder lite?) und welche Version (uname -a)

    omxplayer.bin für die Darstellung der Videos, Aufruf aus Deinem Python-Script

    Welcher Treiber für den Amp? Ist es der original HifiBerry oder ein Klon?

    Alles, was Du über sudo apt-get install ... installiert hast

    ... <bitte anpassen und vervollständigen>

  • Da ist gar nichts an Komponenten angeschlossen , das ganze ist gerade auf dem Teststand sozusagen.


    Momentan betreibe ich den PI mit einem 2,1A 5V Netzteil und wegen den Hifiberry, es sind original HIFIBerrys ... und ist egal ob ich DAC oder AMP2 nehme.

    Überall selbes Problem...


    uname -a : Linux testpi2 4.14.59-v7+ #1131 SMP Thu Aug 2 15:57:42 BST 2018 armv7l GNU/Linux


    über apt-get habe ich nur noch den screensaver und florence - also eine Touchscreen tastatur installiert.

  • @ if (player=="0" and playmode =="1" and modus=="2"):

    omxc = Popen(['omxplayer','-b','--no-osd','-o','alsa', file])

    player = "1"


    Ich kenne den omxplayer zwar nicht, aber hier wird der player mit einer alsa-Instanz gestartet, die wiederum über den d-Bus gesteuert wird. Wenn der omxplayer nur ermordet wird, könnte alsa und d-bus dazu noch weiterlaufen. Statt den omxplaye nur zu killen, wäre es besser den omxplayer explizit mit "omxplyer exit" zu beebden, was vermutlich auch alsa und d-bus dazu beendet.


    Das schliesse ich daraus, da (mein) VLC (Player) zwei Zustände nach Abspielen eines einzelnen Soundfiles kennt.

    --play-and-stop

    --play-and-exit


    Servus !

    RTFM = Read The Factory Manual, oder so

    Edited once, last by RTFM ().

  • Was mir noch spontan einfällt, bevor wir hier weiter in die Tiefe absteigen:


    1. Welchen RPi verwendest Du konkret?

    Der ganz neue RPi 3B+ (der mit den 1,4GHz) wurde bis vor kurzem treibermäßig nicht zu 100% unterstützt. Selbst Raspbian wies diesbezüglich noch Lücken auf. Du scheinst Dein Raspbian aber mit apt update / apt upgrade auf den aktuellen Stand (2. August 2018) gebracht zu haben.


    2. Verwendest Du NOOBS?

    Möglicherweise (aber nicht zwingend) liegt es auch daran. Bisweilen treten unter NOOBS seltsame Effekte auf.


    3. Bildschirmschoner-Software:

    Bringt es eine Lösung, den verwendeten Bildschirmschoner nicht zu installieren?


    Zur Problemsuche würde ich auf einer neuen SD-Karte das aktuelle Raspbian-Image installieren mit dem üblichen Vorgeplänkel:

    sudo raspi-config # die gewünschten Einstellungen vornehmen

    # die beiden folgenden Befehle evtl. mehrmals aufrufen, solange bis sudo apt update meldet, dass alles aktuell ist

    sudo apt update

    sudo apt dist-upgrade


    Dann schrittweises Vorgehen, bis der Fehler auftritt:

    * Rufe den omxplayer direkt aus der Kommandozeile auf und überprüfe, ob der Fehler auftritt.

    * Installiere Dein Script und kontrolliere erneut.

    * Dann den Treiber und die Hardware für HifiBerry installieren und testen.

    * Nach und nach die weitere Software installieren und probieren.


    Auf diese Art solltest Du die Fehlerursache lokalisieren und beseitigen können.


    Hinweis (auch Werbung genannt) ;)

    In meinem yamuplay nutze ich auch den omxplayer, nutze aber zur Interaktion zwischen meinem Python3-Script yamuplay.py und dem omxplayer das Modul python-omxplayer-wrapper von willprice, das auf github zum Download bereit steht. Der Vorteil erscheint mir hier, dass man den omxplayer wesentlich besser und umfangreicher aus dem eigenen Script kontrollieren kann, insbesondere beim Beenden des omxplayers:

    Code
    self.gl_omxplayer.stop() # beendet die Wiedergabe des aktuellen Titels
    time.sleep(0.5)          # Vorsichtsmaßnahme (Prüfen, ob diese Zeit mit FullHD-Video am RPi1 auch ausreichend ist...)
    self.gl_omxplayer.quit() # Sauberes Beenden der noch vorhandenen omxplayer-Instanz beim Programmende


    Viel Erfolg!