S: Hardware/Software Encoder zum erzeugen von mpeg2-ts unter Linux

  • Hallo Leute,


    ich benötige einen Encoder zum erzeugen von standard-konformen mpeg-ts Files unter Linux. Die bisherigen Test mit den bekannte Tools führten zu folgenden Ergebnissen:


    ffmpeg:
    mpeg-ts Files werden erzeugt, verhalten sich aber nicht standard-konform. (Prio1 Fehler: PAT_error2, PMT_error2, PID_error / Prio2 Fehler: PCR_repetition_error).
    Laut Aussage eines ffmpeg-Entwicklers ist das mpeg-ts-modul derzeit "broken"


    mencoder:
    kann kein mpeg-ts bzw. nur über libavcodec -> ffmpeg


    transcode / mpeg2enc (mjpegtools):
    Transcode ruft mpeg2enc als Modul auf und mpeg2enc kann kein mpegts


    ProjectX
    Kann selbst keine mpeg erzeugen aber Umwandeln bzw. berichtigen. Ich habe versucht ein von ffmpeg erzeugtes mpeg-ts von ProjectX zu berichtigen, was auch geklappt hat. Prio1 / Prio2-Fehler sind komplett weg, jedoch zerhackselt der mir Bild und Ton (zumindest laut Analysesoftware, mplayer spielt es, aber der ist ja auch recht tolerant).


    -------


    Hat jemand sonst noch eine Idee, wie ich mpeg-ts erzeugen kann bzw. warum ProjectX sich so komisch verhält? Kann auch gerne eine kommerzielle Lösung (libary) sein oder gar eine Hardwarelösung mit Linux-API, ist mir alles recht (Kosten erstmal nebenrangig)


    Vielen Dank & Gruss
    AleX

    Hardware: Intel Cel 1Ghz+, 256MB, 420GB HD, TT DVB-S (Premium) Rev 1.5, 2* Activy DVB-S (Budget), PVR-250, Lirc-USB (ati-rf-remote)
    #############################################
    Software: Debian Etch 2.6.16.1, DVB-Kernel, VDR 1.3.42 + enAIO + noEPG +weitere Patches
    Plugins: tvonscreen, femon, streamdev, mplayer, vdradmin, wapd,
    osdteletext, vcd, dvd, burn, vdrrip
    Other: nvram mit rebootscript
    IRC-Nick: df-h

  • Hallo arghra,


    die mpegtools können anscheind ein ts-file aus einem pes-file erzeugen. Wie schon im Chat besprochen, tut sich hier die verschobene Frage auf, wie erzeuge ich ein pes-file? Zwar kann ProjectX sowas (tovdr), jedoch funktioniert dieses File nach


    dvb-mpegtools_main pes2ps <infile> > <outfile>


    nicht mehr. Selbst in Mplayer sieht man nur noch wilde Klötzchen. Ich werde damit aber noch etwas rumspielen.


    Bzgl. weiteren Lösungen:


    Ich habe zudem eine Mpeg1/2 SDK von MainConcept (den MainActor-Leute gefunden).
    http://www.mainconcept.com/site/index.php?id=9866


    Zwar steht dort nichts über mpeg2ts, aber deren (Demo-)Produkt MainEncoder :
    http://www.mainconcept.com/site/index.php?id=813
    hat eine Einstellungen um mpeg2ts zu erzeugen, leider erzeugt es dabei aber mpeg2-ps statt ts. *seufz*


    Weitere Vorschläge?


    Gruss
    AleX

    Hardware: Intel Cel 1Ghz+, 256MB, 420GB HD, TT DVB-S (Premium) Rev 1.5, 2* Activy DVB-S (Budget), PVR-250, Lirc-USB (ati-rf-remote)
    #############################################
    Software: Debian Etch 2.6.16.1, DVB-Kernel, VDR 1.3.42 + enAIO + noEPG +weitere Patches
    Plugins: tvonscreen, femon, streamdev, mplayer, vdradmin, wapd,
    osdteletext, vcd, dvd, burn, vdrrip
    Other: nvram mit rebootscript
    IRC-Nick: df-h

  • Probier doch mal den vlc, der kann meines wissens nach mpeg-ts.
    Gruß


    Carlos

    VDR1: AMD Athlon 64 3200+ - Hauppauge Nexus-S, Debian Lenny - Kernel 2.6.28.2 VDR 1.7.21(Tobi)
    VDR2: POV ION 330 -2GB RAM - Tevii S470 MS-Tech 1200 Gehäuse, Debian YaVDR 0.4
    VDR4: Seagate Goflex net - Debian Wheezy - Linux 3.9.5-dockstar-goflex-shyd VDR 2.0.3
    VDR5: SMT-7020S zen2vdr auf Festplatte
    VDR5: SMT-7020S zen2mms 1.3b auf CF-Karte
    TV: Samsung LE46ES8090

  • Zitat

    Original von carlos01
    Probier doch mal den vlc, der kann meines wissens nach mpeg-ts.
    Gruß


    Carlos


    Hi,
    Stimmt, VLC könnte laufen, denn da ist die libdvbpsi drin
    und die hört sich vielversprechend an:
    http://www.videolan.org/developers/libdvbpsi.html


    Zitat

    libdvbpsi is a simple library designed for decoding and generation of MPEG TS and DVB PSI tables.


    Gruß,
    Henning

    --==Mein neuer VDR läuft: DH102, Athlon64 X2 4850e, 1TB Samsung, Asus M2A-VM HDMI, 2 GB DDR2-800, 80+ Netzteil, TT DVB-S 1.6-4MB & Skystar II==--

    --==VDR 1.6.0-2, HgDVB, ACPI Wakeup, xineliboutput und graphtft auf X mit xf86-video-ati (DualHead / XVideo / DRI) ausm GIT auf Debian Lenny mit Kernel 2.6.28-rc6 ==--

    Einmal editiert, zuletzt von fawkes ()

  • Es geht, ich habe es gerade mal probiert. Eine DVD als mpeg-ts gestreamt, dann genindex drüber und der vdr spielt es sauber ab.
    Gruß
    Carlos

    VDR1: AMD Athlon 64 3200+ - Hauppauge Nexus-S, Debian Lenny - Kernel 2.6.28.2 VDR 1.7.21(Tobi)
    VDR2: POV ION 330 -2GB RAM - Tevii S470 MS-Tech 1200 Gehäuse, Debian YaVDR 0.4
    VDR4: Seagate Goflex net - Debian Wheezy - Linux 3.9.5-dockstar-goflex-shyd VDR 2.0.3
    VDR5: SMT-7020S zen2vdr auf Festplatte
    VDR5: SMT-7020S zen2mms 1.3b auf CF-Karte
    TV: Samsung LE46ES8090

  • Hallo Leute,


    danke für die Antwort und die Hilfe. Ich habe jetzt den Weg über VLC ausprobiert, leider scheint das mpeg-ts auch nicht konform zu sein. Es unter hält aus irgendeinem Grund 3 PID´ s, zwei davon sind sichtbar in mplayer-log. Im Analyser findet sich zudem noch 66.


    VIDEO MPEG2(pid=69)AUDIO MPA(pid=68) NO SUBS (yet)! PROGRAM N. 1
    Opened TS demuxer, audio: 50(pid 68), video: 10000002(pid 69)...POS=564


    Zwar spielt mplayer (und ich denke im endeffekt auch VDR) das ganze korrekt ab und unsere Hardware nimmt auch die Datei an, es kommt jedoch kein Video/Audio am Ende mehr raus. ,-(


    Zudem hagelts mit dem Video auch wieder jede Menge Priority1-Fehler.


    Gruss
    AleX

    Hardware: Intel Cel 1Ghz+, 256MB, 420GB HD, TT DVB-S (Premium) Rev 1.5, 2* Activy DVB-S (Budget), PVR-250, Lirc-USB (ati-rf-remote)
    #############################################
    Software: Debian Etch 2.6.16.1, DVB-Kernel, VDR 1.3.42 + enAIO + noEPG +weitere Patches
    Plugins: tvonscreen, femon, streamdev, mplayer, vdradmin, wapd,
    osdteletext, vcd, dvd, burn, vdrrip
    Other: nvram mit rebootscript
    IRC-Nick: df-h

  • Wenn der Transport Stream muxer von ProjectX brauchbar ist (wie es scheint), würde ich ihn mit MPEG2 program streams aus ffmpeg füttern.
    Der libavformat ps muxer ist sehr gut und A/V-sync sollten beim remuxing ps -> ts nicht entstehen.


    Janne

  • Für einen standard konformen mpeg2 ts müssen mindesten Pakete auf vier verschieden PIDs vorhanden sein. Mit PID 0 die Program Association Table (PAT), auf irgendeiner PID (in der PAT angegeben) die Program Map Table (PMT) und dann noch die Audio und Video PIDs (in der PMT angegeben).
    Es scheint so, als ob vlc keine PAT generieren würde. Auf der anderen PID ist dann wahrscheinlich die PMT.


    Janne

  • Hallo Janex,


    vorweg danke für deine Hilfe. Den von dir vorgeschlagenen Weg habe ich bereits schon probiert. ProjectX scheint konforme Mpeg2-TS zu erzeugen, jedoch funktioniert laut unserer Analysesoftware weder Bild noch Ton vernüftig, obwohl keine Prio1/2-Fehler angezeigt werden.


    Bei dem Mpeg2-TS direkt aus ffmpeg funktionieren hingegen Bild und Ton, aber die Fehlerrate ist recht hoch.


    Ich habe jetzt Testsequenz an die Zertifizierung-/Teststelle von Astra geschickt (sowohl einen ffmpeg als auch einen ProjectX-Stream) um mal eine weitere Testauswertung zu bekommen.


    Das mit VLC ist mir so auch aufgefallen. Die einzige Möglichkeit unter Linux noch etwas mpeg2-TS konformes zu bekommen scheint mir im Moment die SDK von MainConcept und dann selbst einen Encoder zu schreiben.


    Gruss
    AleX

    Hardware: Intel Cel 1Ghz+, 256MB, 420GB HD, TT DVB-S (Premium) Rev 1.5, 2* Activy DVB-S (Budget), PVR-250, Lirc-USB (ati-rf-remote)
    #############################################
    Software: Debian Etch 2.6.16.1, DVB-Kernel, VDR 1.3.42 + enAIO + noEPG +weitere Patches
    Plugins: tvonscreen, femon, streamdev, mplayer, vdradmin, wapd,
    osdteletext, vcd, dvd, burn, vdrrip
    Other: nvram mit rebootscript
    IRC-Nick: df-h

  • Über den ffmpeg muxer wird auf deren development Mailingliste gesprochen. So erzeugte er bis vor kurzen unnötigerweise SDTs und hat sie mitgemuxt.


    Ich vermute, dass die Fehler im ffmpeg muxer relativ einfach behoben werden könnten. Die Fehlermeldungen sind leider nicht ausführlich genug. Bis auf die PCR Fehlermeldung habe ich keine Idee, was den Analyser stören könnte.
    Bei der PCR vermute ich, dass der Abstand zwischen zwei PCRs mindestens an einer Stelle größer als 0,1 Sekunden ist.


    Tritt der Fehler nur gelegentlich auf oder ständig?


    Wenn du genauere Beschreibungen der Fehlermeldungen hast, kann es durchaus was bringen sie auf der ffmpeg Mailingliste zu posten.


    ciao jannex

  • Zitat

    Original von jannex
    Wenn du genauere Beschreibungen der Fehlermeldungen hast, kann es durchaus was bringen sie auf der ffmpeg Mailingliste zu posten.


    Gemacht, danke!


    AleX

    Hardware: Intel Cel 1Ghz+, 256MB, 420GB HD, TT DVB-S (Premium) Rev 1.5, 2* Activy DVB-S (Budget), PVR-250, Lirc-USB (ati-rf-remote)
    #############################################
    Software: Debian Etch 2.6.16.1, DVB-Kernel, VDR 1.3.42 + enAIO + noEPG +weitere Patches
    Plugins: tvonscreen, femon, streamdev, mplayer, vdradmin, wapd,
    osdteletext, vcd, dvd, burn, vdrrip
    Other: nvram mit rebootscript
    IRC-Nick: df-h

Jetzt mitmachen!

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