videobox를 이용해서 어느정도는 원하는 위치로 옮길순 있는데 자유자재로 옮기긴 힘든 듯?
gst-launch-1.0 \ videotestsrc pattern=1 ! \ video/x-raw,format=AYUV,framerate=\(fraction\)10/1,width=100,height=100 ! \ videobox border-alpha=0 top=-70 bottom=-70 right=-220 ! \ videomixer name=mix sink_0::alpha=0.7 sink_1::alpha=0.5 ! \ videoconvert ! xvimagesink \ videotestsrc ! \ video/x-raw,format=AYUV,framerate=\(fraction\)5/1,width=320,height=240 ! mix. |
[링크 : https://gstreamer.freedesktop.org/documentation/videomixer/index.html?gi-language=c]
bottom “bottom” gint Pixels to box at bottom (<0 = add a border) Flags : Read / Write Default value : 0 left “left” gint Pixels to box at left (<0 = add a border) Flags : Read / Write Default value : 0 right “right” gint Pixels to box at right (<0 = add a border) Flags : Read / Write Default value : 0 top “top” gint Pixels to box at top (<0 = add a border) Flags : Read / Write Default value : 0 |
[링크 : https://gstreamer.freedesktop.org/documentation/videobox/index.html?gi-language=c]
ximagesink 에다가 sync=false 하니 프레임이 잘 나온다.
videomixer가 더 앞에 있으니 videomixer에 sync=false를 넣어야 할 줄 알았는데 의외네
$ gst-launch-1.0 v4l2src device=/dev/video2 ! jpegdec ! videomixer name=mix ! videoconvert ! ximagesink sync=false v4l2src device=/dev/video0 ! jpegdec ! mix. |
[링크 : https://stackoverflow.com/questions/38392956/gstreamer-videomixer-very-low-framerate]
$ gst-launch-1.0 \ v4l2src device=/dev/video2 ! jpegdec ! \ videobox top=0 bottom=0 left=-960 ! \ videomixer name=mix sink_0::alpha=1 sink_1::alpha=1 ! \ videoconvert ! \ ximagesink window-width=1920 window-height=1080 sync=false \ v4l2src device=/dev/video0 ! jpegdec ! \ videobox top=0 bottom=0 ! mix. |
'프로그램 사용 > gstreamer' 카테고리의 다른 글
nnstreamer (0) | 2023.12.20 |
---|---|
gst-device-monitor-1.0 (0) | 2023.12.06 |
gst-inspector.c (0) | 2023.04.06 |
gstreamer videomixer 반쪽 성공 (0) | 2023.03.27 |
gstreamer videomixer ... 2? (0) | 2023.03.27 |