GStreamer Videomixer Raspivid

时间:2014-07-22 05:22:37

标签: camera raspberry-pi gstreamer stereoscopy

我已经搜遍了整个地方,并没有找到任何人使用gstreamer的视频混合器功能和树莓派的生动。

我正在尝试复制raspivid输出并将它们并排合并,然后最终通过tcp发送流。但就目前而言,我只是在寻求一些帮助,让视频混合工作。

对于我的特定应用,生成的视频应为1280x568,我不在乎视频之间是否有任何角度来创建" 3d效果"因为我不需要特定的应用程序。

我正在使用gstreamer 1.2所以函数调用是gst-launch-1.0而且我不能使用ffmpeg b / c我相信它已经被删除了,所以我假设我只是使用videoconvert来实现相同的结果。

我不确定我是否应该使用h264parse而不是decodebin。所以这是我到目前为止所得到的: gst-launch-1.0 fdsrc | raspivid -t 0 -h 568 -w 640 -fps 25 -hf -b 2000000 -o - ! decodebin ! queue ! videoconvert ! videobox border-alpha=0 right=-640 ! videomixer name=mix ! videoconvert ! autovideosink fdsrc | raspivid -t 0 -h 568 -w 640 -fps 25 -hf -b 2000000 -o - ! decodebin ! queue ! videoconvert ! videobox border-alpha=0 left=-640 ! mix.

我试图根据这两个来源建模这个(第一个链接中的raspivid命令对我有效): http://www.raspberry-projects.com/pi/pi-hardware/raspberry-pi-camera/streaming-video-using-gstreamer http://www.technomancy.org/gstreamer/playing-two-videos-side-by-side/

我知道我可能已经离这么远了,但我很难找到如何做到这一点的例子,尤其是使用了raspivid函数。我非常感谢任何帮助。谢谢。

2 个答案:

答案 0 :(得分:0)

您可以找到一个示例,并解释如何使用视频混音器using videomixer

答案 1 :(得分:0)

使用视频混合器组合 3 个视频的示例
注意:本例中使用了 UNIX 路径

gst-launch-1.0 -e \
videomixer name=mix background=0 \
        sink_1::xpos=0   sink_1::ypos=0 \
        sink_2::xpos=200 sink_2::ypos=0 \
        sink_3::xpos=100 sink_3::ypos=100 \
    ! autovideosink \
uridecodebin uri='file:///data/big_buck_bunny_trailer-360p.mp4' \
    ! videoscale \
    ! video/x-raw,width=200,height=100  \
    ! mix.sink_1 \
uridecodebin uri='file:///data/sintel_trailer-480p.webm' \
    ! videoscale \
    ! video/x-raw,width=200,height=100  \
    ! mix.sink_2 \
uridecodebin uri='file:///data/the_daily_dweebs-720p.mp4' \
    ! videoscale \
    ! video/x-raw,width=200,height=100  \
    ! mix.sink_3