[Alpha] RPI Ausgabeplugin

  • Hi Uwe,


    Ja, das sticky bit.
    Xbmc ist halt deutlich träger ohne force turbo.
    bisher hab ich auch keine schlechten Erfahrungen gemacht - ich glaube den 256er hab ich seit Mitte 2012 und den Chinesen kurz danach. Beide wurden ordentlich gequält und funktionieren noch immer. Wenn man sich die Temperaturen anschaut, denke ich, sieht es auch nicht so dramatisch aus.

    Server HW:
    Asrock Q1900M + 4GB + 2x CineS2 5.4, SSD, 2TB Toshiba 2.5" (USB), 3TB Seagate (USB); 2TB Samsung; 1.5 Seagate (USB), picoPSU + DC/DC 200W
    SW:
    Debian (arranged), OpenMediaVault kralizec; VDR-2.1.6 + dynamite, live etc; Mysql running DB for EPG2VDR, XBMC


    Clients:
    1) TBS2910 freescale imx6 + OpenELEC
    2) RPI, 1GHZ, VDR-2.1.6
    3) RPI, 1GHZ, VDR-2.1.6
    4) cubietruck

  • Hallo zusammen


    Nachdem unter Gentoo nun ffmpeg-1.2.6 als stabil angesehen wird, habe ich mich mal dem Problem mit den "Mickey Mouse-Stimmen" angenommen und benutze nun libswresample um die decodierten Audiosamples in die richtige Form zu bringen.


    Anbei mal ein erster Patch, der bei mir mit ffmpeg-1.2.6 funktioniert. Leider schaffe ich es nicht, auf meinem Test-Raspian-System libav9 zu installieren und dort das Resampling zu testen... Vielleicht kann mir da jemand einen Tipp geben .


    Ich werde mal verschiedene Kombinationen mit meinem AV-Receiver testen, werde aber nicht alles abdecken können. Deshalb wäre ich froh um Feedback, ebenso um allfällige Verbesserungsvorschläge in Sachen Makefile.


    Sonnige Grüsse aus Bern
    Thomas

  • Hallo,
    mit ffmpeg 2.2.4 sieht es unter Arch Linux ARM nach einem ersten Test schon gut aus. Allerdings werden mit dem Standard-Makefile ffmpeg und die anderen Bibliotheken nicht richtig gegen das gebaute Plugin gelinkt.


    Andere Plugins nutzen mit Rücksicht auf den berüchtigten gold linker (für den die Reihenfolge der Argumente eine Rolle spielt) nicht die LDFLAGs für die Librarys, gegen die gelinkt werden soll, sondern eine extra Variable "LIBS", die dann nach "-shared $(OBJS)" im Rezept für das .so-File steht. Am Beispiel von scraper2vdr sieht das dann so aus:
    http://projects.vdr-developer.…vdr.git/tree/Makefile#n40
    http://projects.vdr-developer.…dr.git/tree/Makefile#n120


    Dementsprechend könnte man das Makefile von rpihddevice so anpassen (damit kann ich zuverlässig ein Paket bauen, bei dem das Plugin richtig gegen die Librarys gelinkt wurde):


    Prinzipiell fände ich es auch praktisch pkg-config für alle ffmpeg-Bibliotheken zu nutzen (den Patch hatte ich dir ja schon mal geschickt), dann tut man sich leichter, wenn man mehrere lokal installierte Versionen ausprobieren will und einfach mit einer entsprechend gesetzten Umgebungsvariable für PKG_CONFIG_PATH arbeiten kann.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo Alexander

    Andere Plugins nutzen mit Rücksicht auf den berüchtigten gold linker (für den die Reihenfolge der Argumente eine Rolle spielt) nicht die LDFLAGs für die Librarys, gegen die gelinkt werden soll, sondern eine extra Variable "LIBS", die dann nach "-shared $(OBJS)" im Rezept für das .so-File steht.

    Danke, das wusste ich nicht. Werde ich so übernehmen...


    Prinzipiell fände ich es auch praktisch pkg-config für alle ffmpeg-Bibliotheken zu nutzen (den Patch hatte ich dir ja schon mal geschickt), dann tut man sich leichter, wenn man mehrere lokal installierte Versionen ausprobieren will und einfach mit einer entsprechend gesetzten Umgebungsvariable für PKG_CONFIG_PATH arbeiten kann.

    Klingt auch vernünftig. Werde voraussichtlich am Sonntag einen neuen Patch machen, oder gleich einchecken. Mal schauen, was sonst noch für Rückmeldungen kommen. ;)


    Gruss
    Thomas

  • Andere Plugins nutzen mit Rücksicht auf den berüchtigten gold linker (für den die Reihenfolge der Argumente eine Rolle spielt) nicht die LDFLAGs für die Librarys, gegen die gelinkt werden soll, sondern eine extra Variable "LIBS", die dann nach "-shared $(OBJS)" im Rezept für das .so-File steht.


    Es ist sowieso eine Unart die Objekt-Files in LDFLAGS zu packen. Das verhalten des "GOLD"-Linkers ist ja nicht wirklich neu. Die ersten Linker haben das genauso gemacht. Dafür gab und gibt es noch LDLIBS. Dort sollten die Objekt-Files stehen.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Dafür gab und gibt es noch LDLIBS. Dort sollten die Objekt-Files stehen.

    Das ist wohl die Empfehlung aus https://www.gnu.org/software/m…e/Implicit-Variables.html
    Reicht es dann LDLIBS zu befüllen, damit die implizite Regel zuschlägt oder gibt es Systeme, bei denen man das explizit angeben muss?


    LIBS statt LDLIBS habe ich schon in vielen anderen Makefiles für Plugins und Software rund um den VDR gesehen, als Amateur in dem Bereich bin ich schon froh, wenn es funktioniert...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Reicht es dann LDLIBS zu befüllen, damit die implizite Regel zuschlägt oder gibt es Systeme, bei denen man das explizit angeben muss?


    Das Problem ist ja, dass in den meisten Fällen die implizite Regel durch eine explizite überschrieben wird. Dann muss diese explizite Regel eben auch selbst LDLIBS benutzen, sonst hilft das auch nichts.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Bei Mehrkanalton mit Ausgabe über den analogen Anschluss am Raspberry höre ich den Center-Kanal nicht (ist ganz entspannend das Spiel Deutschland gegen Frankreich ohne Kommentatoren und nur mit zarten Hintergrundgeräuschen zu sehen ;))

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    mir kommt das mit dem neuesten ffmpeg und dem patch deutlich flüssiger und schneller beim Umschalten vor. Also vielen Dank Reufer! Beim Fussball im ZDF ist der DD 5.1 Ton aber tatsächlich sehr leise geworden.


    Also Moderation + Spiel gegenüber der Werbung auf der DD 5.1 Tonspur.


    War vorher auch schon immer etwas leiser, aber jetzt ist es sehr deutlich.


    EDIT: Achso tatsächlich die Moderatoren sind gar nicht zu hören, also ist es leiser, weil Center fehlt, wie seahawk1986 schon schrieb.


    Viele Grüße


    Tim

  • Hi Gerald

    Das Problem ist ja, dass in den meisten Fällen die implizite Regel durch eine explizite überschrieben wird. Dann muss diese explizite Regel eben auch selbst LDLIBS benutzen, sonst hilft das auch nichts.


    Als Makefile-Amateur bin ich mir jetzt nicht sicher, ob ich das richtig verstanden habe. So jedenfalls funktioniert make ohne Warnungen und Fehler:



    Ist das so korrekt, oder habe ich etwas übersehen?


    Gruss
    Thomas

  • Hallo zusammen

    Achso tatsächlich die Moderatoren sind gar nicht zu hören, also ist es leiser, weil Center fehlt, wie seahawk1986 schon schrieb.


    Ich hab das jetzt noch einmal getestet, und sowohl mit libav-0.8.7, ffmpeg-1.0.8 und ffmpeg-1.2.6 funktioniert der Stereo-Downmix von 5.1. Ich habe es mit einer VDR-Aufnahme und dem Channel-Chek-Clip von Dolby versucht. (Konnte man irgendwo von der Dolby-Seite runterladen, hab den Link aber nicht mehr gefunden)


    Welche ffmpeg/libav-Versionen benutzt ihr denn?


    Gruss
    Thomas

  • Welche ffmpeg/libav-Versionen benutzt ihr denn?

    Wie schon weiter oben geschrieben nutze ich ffmpeg-2.2.4, das Arch Linux ARM mitbringt - ausprobiert habe ich es nur mit dem analogen Ausgang des Raspberry.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich habe das git von git://git.videolan.org/ffmpeg.git ausgecheckt. Wenn das Problem auftritt, kommt:


    Code
    Jul  6 11:55:22 raspberrypi vdr: [4170] rpihddevice: set audio codec to 6ch AC3
    Jul  6 11:55:22 raspberrypi vdr: [4170] rpihddevice: 6ch PCM, 48.0kHz not supported by HDMI device
    Jul  6 11:55:22 raspberrypi vdr: [4170] rpihddevice: set HDMI audio output format to 2ch PCM, 48.0kHz
    Jul  6 11:55:22 raspberrypi vdr: [4170] rpihddevice: decoding float, planar samples in 6 channels
    Jul  6 11:55:22 raspberrypi vdr: [4170] rpihddevice: [SWR @ 0x3fcfe0] Input channel layout has a different number of channels than the number of used channels, ignoring layout


    Interessanterweise habe ich das jetzt auf ProSieben SD bei "Der Kindergarten Daddy 2" :) auf der Tonspur 2 auch.


    Ich kann Dir aber auch eine 1min Aufnahme vom Fussball gestern hochladen, damit wir sehen, ob es am Stream liegt oder am ffmpeg.


    Viele Grüße


    Tim

  • Hi Reufer,


    jetzt habe ich es wohl verstanden, aktuell ist ja ffmpeg-2.X. D.h. wir können noch immer nicht das aktuelle ffmpeg nehmen? Dann lass erstmal. Ich kompiliere jetzt die letzte 1.2er Version (1.2.7) und berichte dann, ob sich was ändert. Das dauert aber ein paar Stunden (ich kompiliere auf dem Raspi und muss jetzt auch kurz weg).


    Viele Grüße

  • Ich kann Dir aber auch eine 1min Aufnahme vom Fussball gestern hochladen, damit wir sehen, ob es am Stream liegt oder am ffmpeg.


    Hat bestimmt mit ffmpeg zu tun, Fussball lief hier gestern Abend auch korrekt. Ein Versuch wäre, mal diese zwei Zeilen in audio.c auszukommentieren:



    Gruss
    Thomas

  • aktuell ist ja ffmpeg-2.X. D.h. wir können noch immer nicht das aktuelle ffmpeg nehmen?


    Was meinst du mit aktuell? Ich verstehe darunter, die neuste, für die betreffende Architektur als stabil betrachtete Version. Als Gentoo-Nutzer guck ich hier nach: http://packages.gentoo.org/package/media-video/ffmpeg - Da ist ffmpeg-2.x für arm noch nicht einmal als unstable gelistet.


    Definitiv meine ich damit nicht den aktuellen Entwicklungsstand.


    Gruss
    Thomas

  • Damit muss es zu tun haben. Kommentiere ich die beiden Zeilen aus, dann funktioniert der DD Ton. Der VDR stürzt aber ab, wenn man auf einen Sender mit nicht DD 5.1 Ton schaltet mit:


    Code
    Jul  6 12:31:32 raspberrypi vdr: [3003] switching to channel 11
    Jul  6 12:31:32 raspberrypi vdr: [3003] streamdev-client: Command 'DELP 511' rejected by 192.168.1.110:2004: 560 Pid 511 not transferring
    Jul  6 12:31:32 raspberrypi vdr: [3003] streamdev-client: Command 'DELP 515' rejected by 192.168.1.110:2004: 560 Pid 515 not transferring
    Jul  6 12:31:32 raspberrypi vdr: [3053] receiver on device 1 thread started (pid=3003, tid=3053, prio=high)
    Jul  6 12:31:32 raspberrypi vdr: [3054] TS buffer on device 1 thread started (pid=3003, tid=3054, prio=high)
    Jul  6 12:31:32 raspberrypi vdr: [3053] rpihddevice: set video codec to MPEG2
    Jul  6 12:31:32 raspberrypi vdr: [3015] rpihddevice: set audio codec to 2ch MPEG
    Jul  6 12:31:32 raspberrypi vdr: [3015] rpihddevice: set HDMI audio output format to 2ch PCM, 48.0kHz
    Jul  6 12:31:32 raspberrypi vdr: [3015] rpihddevice: decoding S16, planar samples in 2 channels
    Jul  6 12:31:32 raspberrypi vdr: [3015] rpihddevice: [SWR @ 0x1c6f9e0] Input channel layout has a different number of channels than the number of used channels, ignoring layout


    Also jetzt kompiliere ich aber erstmal den ffmpeg-1.2.


    Viele Grüße

  • Hi,


    Was meinst du mit aktuell? Ich verstehe darunter, die neuste, für die betreffende Architektur als stabil betrachtete Version. Als Gentoo-Nutzer guck ich hier nach: http://packages.gentoo.org/package/media-video/ffmpeg - Da ist ffmpeg-2.x für arm noch nicht einmal als unstable gelistet.


    Definitiv meine ich damit nicht den aktuellen Entwicklungsstand.

    ja, also darauf habe ich nicht geachtet, soweit ich weiss, benutzt xbmc auch den aktuellen git-Stand, also in etwa den neuesten ffmpeg-2.x release.


    Jedenfalls liegts daran, benutze ich ffmpeg-1.2.7 ist der Ton wieder ok.


    Viele Grüße


    Tim

  • Hi Thomas,


    Ich verstehe darunter, die neuste, für die betreffende Architektur als stabil betrachtete Version. Als Gentoo-Nutzer guck ich hier nach: http://packages.gentoo.org/package/media-video/ffmpeg - Da ist ffmpeg-2.x für arm noch nicht einmal als unstable gelistet.


    ich habe mir gerade mal diese Liste angeschaut. Die ist aber schon ein wenig komisch. Dort ist völlig plattformunabhängig einfach mal Version 1.0.8 und 1.2.6 als stabil deklariert worden. Selbst 1.2.7 wäre ja nach dieser Liste auf allen Plattformen unstable. Da behauptet aber ffmpeg.org anderes...

  • ich habe mir gerade mal diese Liste angeschaut. Die ist aber schon ein wenig komisch. Dort ist völlig plattformunabhängig einfach mal Version 1.0.8 und 1.2.6 als stabil deklariert worden. Selbst 1.2.7 wäre ja nach dieser Liste auf allen Plattformen unstable. Da behauptet aber ffmpeg.org anderes...


    Ja, die Liste erscheint mit bei genauerem Betrachten auch ein wenig konservativ. Habe mir deshalb mal den git-Stand gezogen und das Makefile so angepasst, dass ich gegen lokale Versionen kompilieren und besser testen kann.


    Gruss
    Thomas

Jetzt mitmachen!

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