iptv + ext + gstreamer

  • Hallo,


    ich versuche gerade meine Webcam per IPTV Plugin an den VDR zu hängen.
    Leider komme ich nicht richtig weiter und suche bei euch Rat.


    Vorab, ich will nicht vlc nutzen also bitte keine Beträge in dieser Richtung.


    Zum Aufbau. An meinem Cubieboard hängt eine Logitech C920 und streamt per gstreamer das Signal per tcp ins Netz.
    Sieht so aus:

    Code
    gst-launch-1.0 -e uvch264src device=/dev/video0 initial-bitrate=3000000 average-bitrate=3000000 iframe-period=500 rate-control=2 auto-start=true name=vsrc vsrc.vidsrc ! queue ! video/x-h264,width=1920,height=1080,framerate=30/1 ! h264parse ! mux. alsasrc device=hw:C920,0 name=asrc asrc.src ! queue ! audioresample ! audio/x-raw,rate=48000,channels=2 ! voaacenc bitrate=64000 ! aacparse ! mux. mpegtsmux name=mux ! tcpserversink host=192.168.1.55 port=5000


    Rufe ich den stream auf meinem Desktoprechner auf sehe ich auch ein Bild. Das klappt also schon mal.


    Im nächsten Schritt hole ich mir den Stream auf meinen vdr:

    Code
    gst-launch-1.0 tcpclientsrc host=192.168.1.55 port=5000 ! queue ! tsparse ! tcpserversink host=192.168.1.66 port=3333


    Der VDR holt sich den Stream und verteilt ihn per tcp wieder zum testen. Auf dem Desktoprechner kann ich den Stream anschauen.


    Nun möchte IPTV den Stream bei EXT gerne per UDP haben und liefert dafür im Script den Port als Parameter. Also die pipe von gstreamer geändert im script:

    Bash
    #!/bin/sh
    PORT="$2"
    exec /usr/bin/gst-launch-1.0 tcpclientsrc host=192.168.1.55 port=5000 ! queue ! tsparse ! udpsink host=127.0.0.1 port=$PORT


    Leider bekomme ich kein Bild ;(
    Das Script scheint er zu finden, nenne ich es um kommt im logfile, dass er es nicht findet.
    Ergänze ich das Script um ein logging in eine Datei wird diese auch nicht erstellt. Berechtigungen sind 755, im logfile steht leider nichts weiter.


    Woran kann es liegen? Zumindest ein echo in eine Datei sollte er doch ausgeben wenn das Script gestartet wird?!?


    edit:


    Als ergänzung noch der Eintrag in der channels.conf:

    Code
    C920;IPTV:1:S=0|P=0|F=EXT|U=gststream.sh|A=0:I:0:0:0:0:0:1:0:0:0

    HD-VDR:
    HW: ZOTAC D2550-ITX | Mystique SaTiX-S2 Sky Xpress DUAL
    SW: Debian Stretch | vdr-2.3.8

    Einmal editiert, zuletzt von oberlon ()

  • Ich bin mittlerweile einen Schritt weiter.
    Das Script wird gestartet und befeuert auch den Port der von IPTV bereit gestellt wird.


    Bild habe ich leider immer noch keins :(


    Übergebe ich der udpsink direkt den mpegts kommen viele Meldungen ala:

    Code
    Dez 10 11:55:38 ionix vdr[531]: [1215] IPTV: Skipped 148 bytes to sync on TS packet


    Packe ich den mpegts in rtp (rtpmp2tpay) ist die Fehlermeldung zwar verschwunden, Bild gibt es aber auch nicht.
    Der TS besteht aus zwei Streams. Laut VLC aus H264 - MPEG-4 AVC (part 10) (h264) und MPEG AAC Audio (mp4a) Stereo 48kHz.
    Dann IPTV das verarbeiten?


    Jemand eine Idee?

    HD-VDR:
    HW: ZOTAC D2550-ITX | Mystique SaTiX-S2 Sky Xpress DUAL
    SW: Debian Stretch | vdr-2.3.8

  • Bin leider kein Experte für das IPTV-Plugin. Hast du im Plugin den richtigen "listening Port" eingestellt?


    Zitat


    The listening base port can be specified in the plugin configuration menu.


    The port number is specified as a base port number plus IPTV device index minus one.


    Eigentlich müsstest du von deinem Cubieboard einen Stream senden können, den das IPTV-Plugin direkt empfängt (UDP oder HTTP). Habe ich allerdings auch noch nie gemacht. Habe nur mal mit http-launch experimentiert, was in ersten Versuchen sehr gut geklappt hat:
    https://coaxion.net/blog/2013/…eamer-pipelines-via-http/


    Generell sollte das Plugin mit deinem Stream zurecht kommen.

Jetzt mitmachen!

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