Ich versuche, "Fractals without a computer" aber mit einem Computer anstelle von drei Projektoren zu reproduzieren. Ich denke, dass es mit gstreamer ziemlich einfach sein sollte: replizieren Sie einfach Strom von der Kamera mit tee und setzen Sie drei identische Bilder auf eins mit Videomixer.Gstreamer: Wie erhält man drei Kopien desselben Videostreams in einem Fenster?
Hier bin ich mit ‚videotestsrc pattern = 1‘ als ein Strom, den ich replizieren wollen, und ‚videotestsrc pattern =‚black‘‘ als Hintergrund für den gesamten Bildschirm.
#!/bin/bash
gst-launch -v \
videotestsrc pattern=1 ! video/x-raw-yuv,width=200,height=200 \
! tee name=t \
videomixer name=mix \
sink_0::xpos=0 sink_0::ypos=0 \
sink_1::xpos=100 sink_1::ypos=0 \
sink_2::xpos=200 sink_2::ypos=200 \
sink_3::xpos=0 sink_3::ypos=200 \
! ffmpegcolorspace ! xvimagesink \
videotestsrc pattern="black" ! video/x-raw-yuv,width=400,height=400 \
! mix.sink_0 \
t. ! queue ! mix.sink_1 \
t. ! queue ! mix.sink_2 \
t. ! queue ! mix.sink_3 \
Das Problem ist, dass ich nur zwei Exemplare bekommen: die eine, sink_1 und die anderen entsprechend - zu sink_2. Wenn ich die letzten zwei Zeilen vertausche, bekomme ich nur sink_1 und sink_3.
Die Frage ist also, wie alle drei Kopien angezeigt werden?
+1 yep, ist, dass es –