我在 Windows 上使用 GStreamer,并且想要使用 RTP PT 33 启动网络摄像头的本地流。命令是:
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
但无论我做什么,输出总是显示有效负载是
96
,而不是预期的33
。
有人知道我做错了什么或者我应该改变什么吗?
gst-launch 的文档解释了命令行上选项的不寻常语法。
pt=33
不是设置有效负载的正确方法,而是尝试下游上限:
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
这里我将有效负载设置为123
,而不是您在问题中想要的33。 如果您检查rtph264pay 文档,有效负载范围设置为 [96, 127](请参阅 src pad 定义),因此任何设置超出此范围的值的尝试都可能会被
rtph264pay
忽略。