How to avoid roundedcorners being overwritten by videobox
Hello,
I am using videobox
and roundedcorners
to add roundedbox for the composited video with compositor
.
If I add roundedcorners
after videobox
, both plugin works but the video's corner will lose border.
gst-launch-1.0 -v \
videotestsrc num-buffers=1000 pattern=white ! \
video/x-raw,width=320,height=180 ! \
videobox border-alpha=1.0 top=-5 left=-5 right=-5 bottom=-5 fill=yellow ! roundedcorners border-radius-px=20 ! \
compositor name=comp background=black sink_0::xpos=960 sink_0::ypos=0 sink_0::width=320 sink_0::height=180 sink_0::alpha=1.0 sink_1::xpos=960 sink_1::ypos=180 sink_1::width=320 sink_1::height=180 sink_1::alpha=1.0 \
sink_2::xpos=960 sink_2::ypos=360 sink_2::width=320 sink_2::height=180 sink_2::alpha=1.0 sink_3::xpos=0 sink_3::ypos=0 sink_3::width=960 sink_3::height=720 sink_3::alpha=1.0 ! \
video/x-raw,width=1280,height=720,format=AYUV ! videoconvert ! video/x-raw,width=1280,height=720,format=I420 ! x264enc ! mp4mux ! filesink location=yuv.mp4 \
videotestsrc num-buffers=1000 pattern=red ! \
video/x-raw,width=320,height=180 ! roundedcorners border-radius-px=20 ! comp. \
videotestsrc num-buffers=1000 pattern=blue ! \
video/x-raw,width=320,height=180 ! roundedcorners border-radius-px=20 ! comp. \
videotestsrc num-buffers=1000 pattern=green ! \
video/x-raw,width=960,height=720 ! roundedcorners border-radius-px=20 ! comp.
However, if I add videobox
after roundedcorners
, roundedcorners
doesn't work, its alpha information is lost.
gst-launch-1.0 -v \
videotestsrc num-buffers=1000 pattern=white ! \
video/x-raw,width=320,height=180 ! \
roundedcorners border-radius-px=20 ! videobox border-alpha=1.0 top=-5 left=-5 right=-5 bottom=-5 fill=yellow ! \
compositor name=comp background=black sink_0::xpos=960 sink_0::ypos=0 sink_0::width=320 sink_0::height=180 sink_0::alpha=1.0 sink_1::xpos=960 sink_1::ypos=180 sink_1::width=320 sink_1::height=180 sink_1::alpha=1.0 \
sink_2::xpos=960 sink_2::ypos=360 sink_2::width=320 sink_2::height=180 sink_2::alpha=1.0 sink_3::xpos=0 sink_3::ypos=0 sink_3::width=960 sink_3::height=720 sink_3::alpha=1.0 ! \
video/x-raw,width=1280,height=720,format=AYUV ! videoconvert ! video/x-raw,width=1280,height=720,format=I420 ! x264enc ! mp4mux ! filesink location=yuv.mp4 \
videotestsrc num-buffers=1000 pattern=red ! \
video/x-raw,width=320,height=180 ! roundedcorners border-radius-px=20 ! comp. \
videotestsrc num-buffers=1000 pattern=blue ! \
video/x-raw,width=320,height=180 ! roundedcorners border-radius-px=20 ! comp. \
videotestsrc num-buffers=1000 pattern=green ! \
video/x-raw,width=960,height=720 ! roundedcorners border-radius-px=20 ! comp.
I tried different value with videobox
properties alpha
and border-alpha
, but no luck.
Any suggestions to get a rounded box with roundedcorners
and videobox
?
Thanks a lot.