[Prototyp] RPI Ausgabeplugin

  • Bei Aufzeichnungen kann man sich nicht darauf verlassen das das erste Packet definiert ist.
    Ich benutze z.B. ein Skript um Files nach TS zu wandern die ich dann dem VDR vorwerfe. Klappt auch sehr gut. Ist sicher nicht die Norm aber es soll zeigen das der VDR auch mit Files umgehen kann die er nicht selber aufgenommen hat.


    In wie weit zerlegst Du den Stream bzw das File?
    Wertest Du die PMT aus? Da steht es ja drinnen was in dem File ist.
    Ich denke das wäre am saubersten.
    File lesen bis zum ersten PMT und dann schauen was in dem File alles drinnen ist.


    Wenn man ganz gemein ist, dann kann man auch ein File vom Sender Test_R aufnehmen. Dort werden alle 60 Sekunden die PMT geändert. Würde aber bedeuten das man permanent scannen müsste.

  • Vielen Dank reufer fuer das Update :)
    Super Arbeit die du hier leistest.
    Ich habe von der version 0.3 jetzt direkt auf 0.5 ein upgrade gemacht aber leider ist das bei mir sehr instalbil :( Im Log habe ich folgende Fehler am laufenden band:


    [mp3 @ 0xb1b24a00] incorrect frame size


    habe RaspBMC (Raspbian) und ffmpeg habe ich aus dem standard repo installiert. Allerdings hats auch ohne ffmpeg funktioiert. Habe zusaetzlich noch ein raspbian image aber auch da das selbe Problem.


    Hat vielleicht jemand ein tip was ich Falsch mache ?


    Gruss,


    FRanz

  • Hi Franz

    Was meinst du denn mit "unstabil"?


    Google meint zum Log-Eintrag mit der falschen frame size , dass dies wohl vor zwei Jahren in ffmpeg gefixt wurde. Ich vermute mal, du verwendest nicht die selbe ffmpeg-Version wie ich…


    Gruss
    Thomas

  • Respekt :)


    Das ging aber schnell :)


    Ich verwende die ffmpeg aus dem wheezy repo also 0.8.7 oder sowas.


    Interesant ist auch das auch ohne ffmpeg alles genauso laeuft.


    mit Instabil meine ich das alle paar Sekunden kloetchen entstejen und kurze haenger, egal welcher kanal.


    Ich versuch mall die 1.0.7 ffmpeg drauf zu packen.


    Muss ich sonst noch auf was achten ?
    Gruss,


    Franz

  • Ich erhalte auch die "incorrect frame size" Meldungen. Welche ffmpeg Version setzt du ein.


    Ich hatte auch schon ein paar Hänger und sogar schon ein Speicherzugriffsfehler.


    Gruß
    Guido

  • Damit incorrect frame size verschwindet, muss das plug in die frame grenzen korrekt setzen.
    Dazu muss ein Parser in das Plugin, der die Framegrenzen vorab scannt.
    Bei mp3 ist das allerdings unproblementisch außer der Meldung passiert nichts. Bei aac z.B. wird ohne korrekte Framegrenzen nicht decodiert.


    Marten

    vdr experimental, Femon, vdr live, acpi-wakeup, vompserver, undelete, epgsearch, vdr-burn, Raspberry Pi und Vompserver Windows Client (build from git)

  • Hi Marten

    Damit incorrect frame size verschwindet, muss das plug in die frame grenzen korrekt setzen.
    Dazu muss ein Parser in das Plugin, der die Framegrenzen vorab scannt.
    Bei mp3 ist das allerdings unproblementisch außer der Meldung passiert nichts. Bei aac z.B. wird ohne korrekte Framegrenzen nicht decodiert.


    Marten


    Danke für den Hinweis. Momentan ist bei mir AVPacket->size die Grösse des allozierten Pakets, die Länge des/der gespeicherten Frames setze ich in AVPacket->stream_index. Verstehe ich dich richtig, dass ich mir die allozierte Grösse anderswo merken, und stattdessen AVPacket->size entsprechend der Länge der Nutzdaten setzen muss?


    Leider habe ich nirgens eine Beschreibung von AVPacket->stream_index gefunden - aber da es bei mir ohne Fehlermeldungen funktioniert hat, hielt ich es zumindest nicht für falsch.


    Gruss
    Thomas

  • Zitat

    dass ich mir die allozierte Grösse anderswo merken, und stattdessen AVPacket->size entsprechend der Länge der Nutzdaten setzen muss?


    Ja, wobei es nicht die Länge der Nutzdaten ist, sondern die eines Frames. Was sehr nervig ist!


    Marten

    vdr experimental, Femon, vdr live, acpi-wakeup, vompserver, undelete, epgsearch, vdr-burn, Raspberry Pi und Vompserver Windows Client (build from git)

  • Ich habe es nur durch Versuch und Irrtum herausbekommen und durch blick in den Quellcode von libavcodec.
    Letztenendes habe ich aber immer nur frame weise das ganze übermittelt.


    Marten

    vdr experimental, Femon, vdr live, acpi-wakeup, vompserver, undelete, epgsearch, vdr-burn, Raspberry Pi und Vompserver Windows Client (build from git)

  • reufer,


    vielen Dank für die neue Version.
    Ich habe gestern nur sehr kurz getestet, dabei fiel mir auf daß auf allen Sky Aufnahmen nur die 2. (englische) Tonspur perfekt funktioniert, auf der ersten erfolgt keine Tonausgabe.
    Sky sendet nur Digitalton, allerdings hatte ich auch auf einer Pro7HD Aufnahme keinen Digitalton.
    Ich hab keine Ahnung, wird eine feste ID für die Audiosprache gesendet, ist dort vielleicht noch ein Problem ?


    Gruss,


    stevie101

    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

  • ich hab nichts auf den Spuren gehört, aber möglicherweise sollte ich mir mal die Ohren sauber machen :]


    Dann schau ich heute abend nochmal, ob das wie bei der Vorgängerversion ist...

    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

  • Ich habe es nur durch Versuch und Irrtum herausbekommen und durch blick in den Quellcode von libavcodec.
    Letztenendes habe ich aber immer nur frame weise das ganze übermittelt.


    Gucken was ffplay oder mplayer macht, ist immer eine Hilfe.
    Ich habe es auch umgebaut auf ein einzelnes Paket.
    Wenn du die Paketgrößen usw. brauchst kannst in mein Plugin gucken. Das sollte alles können was so gesendet wird.
    Zumindest hat schon länger keiner mehr gemeckert, daß etwas nicht geht.


    Ich arbeite direkt mit dem TS Stream und zerlege ihn selber, da Sender der MTV Gruppe ca. 1/2s an Ton in einem PES Audiopaket schickten.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Hi Johns

    Wenn du die Paketgrößen usw. brauchst kannst in mein Plugin gucken. Das sollte alles können was so gesendet wird.

    Ja, den Code kenne ich mittlerweile. Die Formaterkennung habe ich von Dir übernommen.


    Ich arbeite direkt mit dem TS Stream und zerlege ihn selber, da Sender der MTV Gruppe ca. 1/2s an Ton in einem PES Audiopaket schickten.

    Oh.. das ist ja übel. Gibt es da etwas frei empfangbares zum testen?


    Eigentlich wollte ich ja den ganzen Audiokram ja so einfach wie möglich halten... ;(


    Gruss
    Thomas

  • Bei DVB ist nichts einfach. Keiner hält sich an die Specs oder die Specs sind so schwammig formuliert, daß jeder tun kann was er will.


    Du kannst mit "Nickelodeon / Comedy Central" und "Viva" testen.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Hallo reufer,


    Ich habe hier ein Problem das Plugin v0.05 unter Rasbian Jessie zu kompilieren, welches libav in der Version 9.10 mitbringt - hat einer eine Idee was da bzgl. "av_free" fehlt?




    Unter Rabian Wheezy mit libav v0.8.9 lässt es sich kompilieren, jedoch kommt es immer wieder zu Problemen wo nach einem "Bildfehler" das Video nur noch ruckelt und asynchron zum Ton ist. Erst eine erneute Auswahl des Kanals bzw. Restart einer Aufnahme lässt alles wieder normal laufen. Leider gibt es im syslog keine Meldung dazu.


    Gruß, ollo

  • Hi ollo

    So wie es ausschaut ist libav 0.8.9 nicht kompatibel zu ffmpeg 1.0.7 - solange das Plugin noch nicht einmal fertig ist, will ich mich eigentlich nicht um solche Probleme kümmern und kann dir deshalb nur empfehlen, auch ffmpeg zu benutzen.


    Gruss
    Thomas

Jetzt mitmachen!

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