Video RTP上的重叠视频流

Video RTP上的重叠视频流,video,video-streaming,gstreamer,video-processing,Video,Video Streaming,Gstreamer,Video Processing,我正在尝试实现一个系统,该系统采用实时摄像机流,覆盖一些文本和符号(使用Alpha通道透明度);并通过RTP/UDP将其作为单个视频(从一个端口)传输。主机和客户机系统都具有on。现在,我正试图找出GStreamer和带有gst启动的管道系统,并且只使用测试模式作为视频源 下面是一个简化的图表,显示了我试图实现的目标: 我看过这个插件,但据我所知,它只用于叠加和播放视频,而不用于创建“可传输”的视频流。(我可以将它与xvimagesink一起使用,但我无法使用udpsink实现管道。我也找不到

我正在尝试实现一个系统,该系统采用实时摄像机流,覆盖一些文本和符号(使用Alpha通道透明度);并通过RTP/UDP将其作为单个视频(从一个端口)传输。主机和客户机系统都具有on。现在,我正试图找出GStreamer和带有gst启动的管道系统,并且只使用测试模式作为视频源

下面是一个简化的图表,显示了我试图实现的目标:

我看过这个插件,但据我所知,它只用于叠加和播放视频,而不用于创建“可传输”的视频流。(我可以将它与xvimagesink一起使用,但我无法使用udpsink实现管道。我也找不到解决方法。)


我还没有找到正确的工具/方法来实现上述系统。关于视频混合器插件,我说的对吗?如果是,你建议我怎么做?非常感谢您提供的任何帮助。

如果您正在I.MX6上处理流,您应该查看中的
imxg2dcompositor
插件

从他们的例子中,您可以尝试以下方法:

gst-launch-1.0   \
  imxg2dcompositor name=c background-color=0x223344 \
      sink_0::xpos=0 sink_0::ypos=90 sink_0::width=160 sink_0::height=110 sink_0::zorder=55 sink_0::fill_color=0xff00ff00 sink_0::alpha=0.39 sink_0::rotation=0 \
      sink_1::xpos=0 sink_1::ypos=20 sink_1::width=620 sink_1::height=380 sink_1::fill_color=0x44441133 ! \
    queue2 ! "video/x-raw, width=800, height=600" ! imxipuvideotransform ! imxvpuenc_h264 ! rtph264pay ! udpsink \
  videotestsrc pattern=0 ! "video/x-raw, framerate=30/1" ! c.sink_0 \
  videotestsrc pattern=18 ! "video/x-raw, framerate=30/1" ! c.sink_1

我建议您不要错过视频编码部分,这在尝试设置视频流应用程序时是必不可少的(H.264编码插件是
imxvpuenc_h264
)。此编码步骤之后是一个特定的RTP付费加载器。

好的,您的图表更容易理解:)对不起,我上周没有访问这些板,所以我刚刚尝试了您的管道。它给出了错误,表示“警告:错误管道:无法将队列2-0链接到imxvpuh264enc0”。在编码器之前添加imxipuvideotransform元素可以解决此问题。非常感谢你的帮助!三角形和圆形视频的本质是什么:原始、压缩?(我想它现在还未加工,因为您使用的是
videotestsrc
)没错,它们现在还未加工。
gst-launch-1.0   \
  imxg2dcompositor name=c background-color=0x223344 \
      sink_0::xpos=0 sink_0::ypos=90 sink_0::width=160 sink_0::height=110 sink_0::zorder=55 sink_0::fill_color=0xff00ff00 sink_0::alpha=0.39 sink_0::rotation=0 \
      sink_1::xpos=0 sink_1::ypos=20 sink_1::width=620 sink_1::height=380 sink_1::fill_color=0x44441133 ! \
    queue2 ! "video/x-raw, width=800, height=600" ! imxipuvideotransform ! imxvpuenc_h264 ! rtph264pay ! udpsink \
  videotestsrc pattern=0 ! "video/x-raw, framerate=30/1" ! c.sink_0 \
  videotestsrc pattern=18 ! "video/x-raw, framerate=30/1" ! c.sink_1