Applying a mask over an image/video stream using GStreamer

You may have a look to this topic: Pipeline with multiple video streams overlayed and alpha masked.

For a simple case you may alternately try element gdkpixbufoverlay:

# Assuming your mask is in png/alpha format and has size 640x480
gst-launch-1.0 videotestsrc ! video/x-raw,width=640,height=480 ! gdkpixbufoverlay location=mask.png ! videoconvert ! xvimagesink