GStreamer:从RTP获取视频,自动设置格式
GStreamer: get video from RTP, setting the format automatically
假设我有一个简单的 RTP 视频服务器:
ximagesrc ! video/x-raw,framerate=30/1 ! videoscale ! videoconvert ! x264enc tune=zerolatency bitrate=500 speed-preset=slow ! rtph264pay ! udpsink host=127.0.0.1 port=5000
我收到的很好:
udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! decodebin ! videoconvert ! autovideosink
但如果我的服务器发送的是 H265(或任何其他格式),我就必须使用其他管道。考虑到有大量可能的格式,这绝对是我想避免的。有什么方法可以让我的视频从任何格式解码?
没有。 RTP 流应该由 SDP 和 RTSP 控制协议启动,它们会告诉您正在处理的流类型。如果您想要自描述媒体,也许可以尝试查看 MPEG-TS。
假设我有一个简单的 RTP 视频服务器:
ximagesrc ! video/x-raw,framerate=30/1 ! videoscale ! videoconvert ! x264enc tune=zerolatency bitrate=500 speed-preset=slow ! rtph264pay ! udpsink host=127.0.0.1 port=5000
我收到的很好:
udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! decodebin ! videoconvert ! autovideosink
但如果我的服务器发送的是 H265(或任何其他格式),我就必须使用其他管道。考虑到有大量可能的格式,这绝对是我想避免的。有什么方法可以让我的视频从任何格式解码?
没有。 RTP 流应该由 SDP 和 RTSP 控制协议启动,它们会告诉您正在处理的流类型。如果您想要自描述媒体,也许可以尝试查看 MPEG-TS。