使用gst-launch将视频帧输出到帧缓冲区上的某个位置

时间:2015-07-08 06:19:20

标签: gstreamer

目前我们使用以下命令播放视频片段:

gst-launch filesrc location=/media/sda1/mpeg4_640x480.mp4 ! decodebin2 name=dec ! queue ! ffmpegcolorspace ! videoscale ! video/x-raw-rgb,width=320, height=240 ! fbdevsink dec. ! queue ! audioconvert ! autoaudiosink

将视频帧重新分配到320x240并输出到帧缓冲区。但是,我们想将视频帧设置为特定(x,y)。这可能吗?

1 个答案:

答案 0 :(得分:3)

尝试使用“videobox”元素。在顶部,左侧,底部和右侧属性中,正值用于裁剪,因此您需要使用值进行偏移。

此管道会将640x360视频测试源移动到1280x720输出的右下角:

  

gst-launch-1.0 videotestsrc! video / x-raw,width = 640,height = 360!   视频转换! videobox left = -640 right = 0 top = -360 bottom = 0!   video / x-raw,width = 1280,height = 720! autovideosink

您可以使用“填充”属性来控制空间的填充方式。

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-videobox.html