Länge von PES-Streams

  • Hallo,


    gibt es irgendwelche Limits bezüglich der minimalen oder maximalen Größe von PES-Streams? Ich bin gerade dabei ein Ersatz für das cdda Plugin zu schreiben, dabei gibt es Probleme wenn Leute die Tonausgabe über eine FF-DVB Karte laufen lassen: http://www.vdr-portal.de/board…?postid=928081#post928081.


    Ich selber habe keine FF DVB Karte, kann das also nicht so richtig debuggen. Den einzigen Unterschied, den ich noch sehe, ist die Größe des PES-Pakets. Das cdda-Plugin verpackt 2000Bytes in ein PES Paket (Länge 2016).


    Ich habe zuerst 588 Bytes (1/4 CD-Sektor, PES Paket Länge 604 Bytes) und als letztes einen kompletten Sektor mit 2352 Bytes ausprobiert. Bei letzterer Größe gibt es wohl keine Tonausgabe über eine FF Karte. xine macht da keinerlei Probleme. Kann die Länge eines PES Pakets ein Problem mit manchen FF Karten verursachen?


    dvbsnoop gibt mir folgende Ausgabe eines meiner generierten Pakete:


    Falls sich jemand den Code anschauen möchte, Homepage des Plugins: http://www.uli-eckhardt.de/vdr/cdplayer.de.html, mercurial repository: http://hg.uli-eckhardt.de/

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Moin!


    Laut Wikipedia ist die Länge im Prinzip egal, mir sind meistens Längen bis höchstens 4k begegnet. Aber vielleicht ist ja irgendwas anderes im Header nicht in Ordnung, so dass die Firmware Probleme damit hat, den Stream zu erkennen?
    Hat es einen bestimmten Grund, warum du einen "private stream" und keinen Audiostream (id 0xc0-0xdf) erzeugst?
    Ohne jetzt in den Code zu schauen: packst du das ganze eigentlich in einen TS? Wie sehen dann PAT und PMT aus? Könnte vielleicht wichtig sein.


    mini.

  • Hi,


    soweit ich das sehe, müsste ich einen Audiostream wohl noch mal rekodieren, während ich bei einem Private-Stream direkt die Rohdaten von der CD als PCM-Stream (substream id lpcm 0xA0) in das PES-Paket verpacken kann. Das ganze wird dann per PlayPes an das Device übergeben. Soweit ich das verstanden habe, brauche ich das nicht noch in einen TS zu packen.


    Ich habe mal versuchsweise als id 0xc0 in den Header gepackt, aber da wird dann nichts abgespielt wobei ich allerdings dazu sagen muss, ich bin kein Kenner der MPEG Stream-Materie.

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Zitat

    Original von Ulrich Eckhardt
    Hi,


    soweit ich das sehe, müsste ich einen Audiostream wohl noch mal rekodieren, während ich bei einem Private-Stream direkt die Rohdaten von der CD als PCM-Stream (substream id lpcm 0xA0) in das PES-Paket verpacken kann. Das ganze wird dann per PlayPes an das Device übergeben. Soweit ich das verstanden habe, brauche ich das nicht noch in einen TS zu packen.


    Ich habe mal versuchsweise als id 0xc0 in den Header gepackt, aber da wird dann nichts abgespielt wobei ich allerdings dazu sagen muss, ich bin kein Kenner der MPEG Stream-Materie.


    Stream ID 0xc0 ist mp2 (Mpeg 1 layer 2), der muss dann auch in diesem Format vorliegen.
    PlayPes spielt natürlich nur PES ab. Solange der Ausgabe-Device das unterstützt (und das dürften im Moment alle sein wg. VDR 1.6) sollte das gehen. Für TS gibts ja PlayTS.
    Kann eigentlich die Firmware der FF PCM-Streams ausgeben? Ich dachte immer, die kann mp2 dekodieren und analog ausgegeben und AC3 digital durchreichen. Evtl. wird ja auch PCM durchgereicht über den digitalen Ausgang.

  • Moin!


    Man gut, ich kenne mich mit den ganzen MPEG-Ids usw. auch nicht so gut aus. :) Bis jetzt beschränkt sich mein Wissen darauf, wie ich den PS einer ivtv-Karte in einen passenden TS umwandeln kann.
    Ein Rekodieren in mp2 könnte aber ein guter Weg sein, da z.B. die PVR350 nur MPEG-Ton wiedergeben kann. Und mit einem reinen Audiostream kann sie gar nicht umgehen. Aber dafür produziert das pvr350-Plugin mittlerweile selbstständig ein schwarzes Video.


    mini.

  • Gibt es zum rekodieren von PCM nach mp2 schon was im VDR oder welche lib wäre denn empfehlenswert ?

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Zitat

    Original von Ulrich Eckhardt
    Gibt es zum rekodieren von PCM nach mp2 schon was im VDR oder welche lib wäre denn empfehlenswert ?


    meines Wissens nach gibt es da nichts im vdr und auch kein Plugin, das sowas schon macht. Das mp3-Plugin übergibt die Daten als LPCM an vdr, und das Ausgabebedevice schickt sie entweder an eine FF-Karte (dvbsddevice-Plugin) oder an xine.


    Beim pvr350-Plugin hatten wir testweise mal eine Wandlung in mp2 implementiert. Das Dekodieren von LPCM erfolgte nach meiner Erinnerung mit a522dec. Das Ergebnis war aber sehr unbefriedigend, der Ton hatte ständig ein Knistern/Prasseln und klangt verzerrt. Mit ac3 hatten wir diese Probleme nicht. Für das Encodieren in mp2 verwenden wir libtwolame.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Zitat

    Original von Dr. Seltsam
    meines Wissens nach gibt es da nichts im vdr und auch kein Plugin, das sowas schon macht. Das mp3-Plugin übergibt die Daten als LPCM an vdr, und das Ausgabebedevice schickt sie entweder an eine FF-Karte (dvbsddevice-Plugin) oder an xine.


    Wenn das mp3-Plugin via PCM funktioniert, und es keine größeren Beschwerden von Besitzern einer FF-Karte gibt, sollte das dann bei mir hoffentlich auch keine Probleme geben und auch keinen Bedarf das nach mp2 zu wandeln.

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

Jetzt mitmachen!

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