windowscmdgstreamer

GStreamer change of RTP PT value in CMD command


I am using GStreamer on Windows, and want to start a local stream of my webcam with RTP PT 33. The command is:

gst-launch-1.0 -v mfvideosrc device-path="PATH TO DEVICE" ! video/x-raw,format=NV12,width=640,height=480,framerate=30/1 ! videoconvert ! x264enc tune=zerolatency ! rtph264pay pt=33 ! udpsink host=localhost port=1234

But no matter what I do, the output always says that the payload is 96 and not the expected 33.

Does anyone have any idea what I am doing wrong or what I should change?

The documentation for gst-launch explains the unusual syntax for the options on the command line.


Solution

  • pt=33 is not the correct way of setting the payload, instead try downstream caps:

    gst-launch-1.0 -v mfvideosrc device-path="PATH TO DEVICE" ! video/x-raw,format=NV12,width=640,height=480,framerate=30/1 ! videoconvert ! x264enc tune=zerolatency ! rtph264pay ! application/x-rtp,media=video,encoding-name=H264,payload=123 ! udpsink host=localhost port=1234
    

    Here I set the payload to 123, not 33 as you wanted in your question. If you check rtph264pay documentation, payload range is set to [96, 127] (See the src pad definition), so any attempts to set values out of this range might be simply ignored by rtph264pay.