Beiträge von seahawk1986

    Ausserdem ist es super simpel, da man auf dem Ausgaberechner nichts installieren oder konfigurieren muss, wenn man Xine direkt verwendet.

    Abgesehen von einer selbst gebauten libxine-1.2, die das mmal-Ausgabeplugin behinhaltet, xorg usw. ...


    Die Hardwarebeschleunigung sollte auch unter X laufen, oder setzt das die Ausgabe über MMAL auf der Konsole vorraus?

    Wie gut das mit einem laufenden X-Server harmoniert, habe ich nicht ausprobiert. Bis gestern hatte ich nicht mal alsa(-utils) installiert, weil es für rpihddevice und KODI nicht benötigt wird.

    Wie es aussieht muss ich meinen Post vom Februar revidieren - es gibt seit 2014 ein Ausgabeplugin für mmal (https://sourceforge.net/p/xine…ideo_out/video_out_mmal.c) aber das scheint in Distributionen wie Rasbian oder Arch Linux ARM nicht mitgeliefert zu werden. Man muss die xine-lib-1.2 mit --enable-mmal konfigurieren, damit das gebaut wird wird.


    Mit xineliboutput und vdr-fbfe -V mmal -A alsa (ggf. noch -E um CEC zu deaktivieren) bekommt man dann Bild und Ton über eine USB-Soundkarte (wie man Ton vom Hardware-Decoder über HDMI oder den eingebauten analogen Anschluss bekommen kann, habe ich noch nicht herausgefunden, vermutlich wurde das nicht implementiert). Hardwarebeschleunigtes Deinterlacing scheint auch nicht möglich zu sein.


    Bei der Konfiguration für xine musste ich einige Anpassungen vornehmen, damit die Fehlermeldungen über zu kleine Werte für die Buffer und Frames verschwinden:

    Code
    1. # grep -v "^#\|^$" ~/.xine/config_xineliboutput
    2. .version:2
    3. audio.a52.surround_downmix:1
    4. audio.device.alsa_front_device:default
    5. audio.synchronization.av_sync_method:resample
    6. video.processing.ffmpeg_thread_count:4
    7. engine.buffers.audio_num_buffers:500
    8. engine.buffers.video_num_buffers:250
    9. engine.buffers.video_num_frames:50
    10. engine.performance.memcpy_method:libc

    Das Abspielen von Videos über den "Medien" Eintrag scheint nicht sauber zu funktionieren, die Videos ruckeln z.T. spürbar (ich habe mit dvbcut erstellte MPEG2 Dateien und eine mkv mit BluRay-Video ausprobiert) und spätestens beim Stoppen der Wiedergabe crasht der VDR 2.4.0 ((das Problem habe ich mit aktuellen Versionen von xineliboutput auch mit VDPAU).


    Mein erster Eindruck ist, dass das deutlich instabiler als die Kombination aus rpihddevice und KODI ist und mehr Beschränkungen hat.

    meinem rpi3b+ vergisst irgendwie täglich die aktuelle Zeit wenn ich ihn länger als eine Nacht vom Netz trenne.

    Der Raspberry Pi hat keine RTC und keine Pufferbatterie - wenn man will, kann man das nachrüsten: http://www.raspberry-pi-geek.d…t-fuer-genaue-Zeitangaben

    Was mich auch wurdert ist das die Zeitaktualisierung aus dem VDR vom Einschaltkanal ARD HD beim boot nicht funktioniert, oder kann das der VDR nicht am rpi3 oder liegts am MLD?

    Ich denke eine Abweichung von 48 Jahren wird der VDR nicht mal eben kompensieren können (und wenn er schon läuft, während der Zeitsprung passiert, versucht er einen Shtudown, weil der User zu lange untätig war). Mit streamdev-client empfängt der VDR die EPG-Daten nur, wenn man einstellt, dass die Filterdaten mit gestreamt werden sollen (was aber nach meiner Erfahrung nicht unbedingt der Stabilität zuträglich ist).


    Auf meinem Raspberry warte ich mit dem Start des VDR, bis die Zeit per NTP gesetzt wurde.

    Ich bekomme an meinem Haswell-Laptop nur dann auf einem über HDMI angeschlossenen Bildschirm ein Bild, wenn ich den internen Bildschirm in der Grub-Konfiguration abschalte, also sowas setze:

    GRUB_CMDLINE_LINUX="video=HDMI-A-2:1920x1080@50D drm.edid_firmware=HDMI-A-2:edid/edid.HDMI-2.bin video=eDP-1:d"


    Sonst bleiben beide Bildschirme schwarz (interessanterweise wird aber trotzdem der X-Server erfolgreich mit den Display-Daten aus der EDID gestartet). Hat jemand schon mal erfolgreich mehr als einen Monitor statisch konfigurieren können?


    Es gibt natürlich keine Garantien, aber in 98% der Fälle sollte eine Standard edid.bin mit einer EIA Standardauflösung erstmal funktionieren.

    In den EDID-Dateien kann ja auch noch eine Beschreibung der unterstützten Tonformate stecken, daher ist das vermutlich für AV-Receiver nicht ganz unwichtig, was da tatsächlich als unterstützt gelistet wird.

    Vdpau ist ja aus ffmpeg geflogen...

    Ich habe bei ffmpeg 4.0 nur gesehen, dass die seit vielen Jahren als deprecated markierte alte VDPAU API rausgeflogen ist - VDPAU wird noch gelistet:

    Vielen Dank für die ausführliche Zusammenfassung :tup


    Weißt du zufällig, wie sich das verhält, wenn man wie von dir beschrieben eine Konfiguration aufbaut und dann andere Bildschirme anschließt? Kann man da ohne Reboot (für den man dann das Laden der EDID ausbaut) die Bildschirme neu erkennen lassen und an die neue EDID kommen? Bei nvidia-GPUs genügt es ja eine xorg.conf ohne Angabe einer EDID zu laden - das wäre praktisch, wenn sich die X-Konfiguration mit Intel-Grafik für yavdr-ansible automatisieren ließe.

    I have located the wirbelscan plugin, but it states its for vdr 2.3.8, and I am, by default, on 2.2.0, I am using Ubuntu 16.04.

    Instead of using a vdr plugin for an initial channel scan, you could also use w_scan. Just remember to stop all services which are accessing DVB devices before running it.

    Code
    1. sudo apt install w-scan
    2. sudo systemctl stop vdr
    3. sudo w_scan -c GB -fc > /var/lib/vdr/channels.conf
    4. sudo chown vdr:vdr /var/lib/vdr/channels.conf
    5. sudo systemctl start vdr

    Mit t2scan -E -t2 (ignoriert verschlüsselte Sender) sieht das aktuell so aus:

    Zu diesem LOCK-Makros steht man braucht nicht unlocken, das passiert automatisch beim verlassen eines scopes, aber wann verlässt man einen scope?

    Normalerweise steck alles zwischen zwei zusammengehörenden geschweiften Klammern in einem Scope. Locks kann man über zusätzliche Threads entkoppeln (z.B. indem man mit std::async arbeitet) - leider kann ich das Plugin hier nicht sinnvoll testen, aber probier mal, ob dieser Patch an der kritischen Stelle hilft:

    Ein Problem dürfte in der eepg.c in void cFilterEEPG::ProcessPremiere(const u_char *& Data) stecken. Die Funktion holt sich erst einen LOCK_SCHEDULES_WRITE Lock und danach einen LOCK_CHANNELS_READ Lock.


    Mein naiver Lösungsansatz wäre sich die Locks am Anfang der Funktion in der vorgesehenen Reihenfolge zu holen:

    Ok .... Message angekommen: 512 MB sind für MySQL/epgd zu wenig.

    Sagen wir arg wenig (in Kombination mit dem Single-Core und der lahmen HDD) - das könnte gehen, wenn man ein bisschen die Konfiguration darauf anpasst (das Skript https://raw.githubusercontent.…perl/master/mysqltuner.pl sollte einem da Empfehlungen geben, sobald die Datenbank befüllt und ein bisschen benutzt wurde). IIRC gab es in den älteren MySQL-Paketen für Debian und Ubuntu Beispielkonfigurationen für Systeme mit 128MB und 512MB RAM in /usr/share/doc/mysql/examples/ - die könntest du als Basis nehmen, falls er mit der Standardkonfiguration nicht will.

    IIRC nutzen einige epgd auf einem Rasbperry Pi 2 (also mit 1GB Ram), mit 512 MB wird das vermutlich ziemlich zäh...


    Bei mir läuft epgd auf einem Cubietruck (2GB RAM, SATA-Port mit sehr mäßigem Durchsatz beim Schreiben) mit einer kleinen 32GB SSD unter Arch Linux ARM - das System erzielt sicherlich keine Geschwindigkeitsrekorde, aber ist bislang ausreichend schnell.

    Wenn ich sowas heute neu aufbauen müsste, wäre ein Odroid HC2 eine günstigere Alternative zum Cubietruck.


    Wenn Ubuntu nicht mag, würde ich Debian probieren.

    Wie hast du den Ubuntu Server installiert (liegt das eventuell am neuen Subiquity Installer)?


    Ich habe bislang entweder das mini.iso oder den Ubuntu Server Alternative Installer genommen (http://cdimage.ubuntu.com/releases/18.04/release/), weil der neue unpraktisch ist, wenn man bestehende Partitionen weiter verwenden will:

    If you require advanced networking and storage features such as; LVM, RAID, multipath, vlans, bonds, or re-using existing partitions, you will want to continue to use the alternate installer.

    Bei der Rollenauswahl habe ich dann höchstens den OpenSSH-Server als Installationsoption ausgewählt.