.264-Datei in Gstreamer 1.0 streamen

2350
CTaneja

Ich versuche, eine .264-Datei zu streamen.

Während die direkte Pipeline ohne udp-Streaming das Video gut abspielt, wird bei Verwendung von udp sink und src nur ein Videoframe angezeigt.

Direkte Pipeline

gst-launch-1.0 filesrc location = football35228830.264! h264parse! rtph264pay pt = 96! rtph264depay! avdec_h264! autovideosink

Dadurch wird das Video gut abgespielt.

Wenn Sie diese nun ausführen, wird das eingefrorene Videobild angezeigt.

Bei Tx

gst-launch-1.0 -v filesrc location = football35228830.264! h264parse! rtph264pay pt = 96! udpsink host = 127.0.0.1 port = 9001

Beim Kunden

gst-launch-1.0 udpsrc port = 42050! application / x-rtp, media = (string) video, taktfrequenz = (int) 90000, encodierungsname = h264, nutzlast = 96! rtph264depay! h264parse! avdec_h264! autovideosink

Gibt es ein Problem mit den Pipelines oder sind zusätzliche Elemente erforderlich?

0

1 Antwort auf die Frage

0
Gooshan

: Möglicherweise gibt es ein paar Dinge: Die Datei wird geladen und zu schnell abgespielt => multifilesrc verwenden. Außerdem füge ich dem Absender Kappen hinzu. Schließlich unterscheiden sich die Ports in Ihrem Beispiel.

Absender:

gst-launch-1.0 -v multifilesrc location=public/media/video.h264 loop=true ! \ video/x-h264,width=1920,height=1080,framerate=30/1,profile=constrained-baseline ! h264parse ! rtph264pay pt=10 ! udpsink host=127.0.0.1 port=9001 

Empfänger:

gst-launch-1.0 udpsrc port=9001 ! 'application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=H264,payload=16' ! \ rtph264depay ! h264parse ! avdec_h264 ! autovideosink