Ich arbeite auf gstreamer zum ersten Mal und versuchen, eine MP4-Videodatei von einem Server zu Client mit Gstreamer (RTP und UDP) zu streamen. Die Befehlszeile, die ich zu verwenden Ich versuche:Streaming MP4 Videodatei auf Gstreamer
Auf Server-Seite:
gst-launch-1.0 -v filesrc location = file_name.mp4 ! decodebin ! x264enc ! rtph264pay ! udpsink host=192.1XX.XX.XX port=9001
Auf Client-Seite:
gst-launch-1.0 -v udpsrc port=9001 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtpstreamdepay ! decodebin ! videoconvert ! autovideosink
Ich bin in der Lage das Video erfolgreich zu streamen. Aber ich will nicht decodebin
und x264enc
Operationen auf der Serverseite. So entfernte ich diese Operationen und verwenden diese Befehlszeile auf der Serverseite
gst-launch-1.0 -v filesrc location =file_name.MP4 ! rtpstreampay ! udpsink host=192.1XX.XX.XX port=9001
, an den ich nicht in der Lage war, das Video zu streamen.
Könnte mir jemand sagen, warum wir in diesem Szenario die Dekodier- und Encodierungsoperationen benötigen, während wir die Daten senden. Gibt es eine Möglichkeit, Daten ohne diese Operationen zu senden.
Danke.