2010-11-29 5 views
2

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?

Antwort

4

Yoa! adding sink_i :: zorder = i für jedes i = 0..3 löst das Problem.

4

So etwas wie dieses

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_0::zorder=0\ 
     sink_1::xpos=100 sink_1::ypos=0 sink_1::zorder=1\ 
     sink_2::xpos=200 sink_2::ypos=200 sink_2::zorder=2\ 
     sink_3::xpos=0 sink_3::ypos=200 sink_3::zorder=3\ 
    ! 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 
+0

+1 yep, ist, dass es –

Verwandte Themen