From: Francis R. <fra...@gm...> - 2009-12-27 22:28:52
|
I'm using the videomixer plugin to create a combined video from two incoming video streams. Both videos are positioned horizontally next to each other. The second video has a smaller height than the first one. Resulting in a black rectangular area in the lower right corner of the video. I would like to fill this black hole with a static image. I have tried loading an image using a filesrc linked with a jpegdec element, but the problem is that the video gets an EOS event after having loaded the image, so it only shows for a fraction of a second. Is there any way to do it? I'm currently loading all my pipelines using the gst-launch parser, so a solution in gst-launch syntax would be ideal. However, I'd be willing to do it in code if needed. Francis |
From: Roland H. <gst...@om...> - 2009-12-28 08:36:58
|
Hi Francis, > I would like to fill this black hole with a static image. I have tried > loading an image using a filesrc linked with a jpegdec element, but the > problem is that the video gets an EOS event after having loaded the image, > so it only shows for a fraction of a second. > > Is there any way to do it? I'm currently loading all my pipelines using > the > gst-launch parser, so a solution in gst-launch syntax would be ideal. A workaround that I have used is a multifilesrc with a fixed location, so that it keeps reading the same image over and over again. For example: gst-launch multifilesrc location=yourfile.jpg caps=image/jpeg,framerate=\(fraction\)1/1 ! jpegdec ! ffmpegcolorspace ! video/x-raw-rgb,framerate=\(fraction\)1/1 ! timeoverlay ! ximagesink But it might very well be that there is a better solution and I would be interested in it as well. Roland |
From: Stefan K. <en...@ho...> - 2009-12-28 13:50:06
|
Am 28.12.2009 10:36, schrieb Roland Hermans: > Hi Francis, > >> I would like to fill this black hole with a static image. I have tried >> loading an image using a filesrc linked with a jpegdec element, but the >> problem is that the video gets an EOS event after having loaded the image, >> so it only shows for a fraction of a second. >> >> Is there any way to do it? I'm currently loading all my pipelines using >> the >> gst-launch parser, so a solution in gst-launch syntax would be ideal. > > A workaround that I have used is a multifilesrc with a fixed location, so > that it keeps reading the same image over and over again. For example: > > gst-launch multifilesrc location=yourfile.jpg > caps=image/jpeg,framerate=\(fraction\)1/1 ! jpegdec ! ffmpegcolorspace ! > video/x-raw-rgb,framerate=\(fraction\)1/1 ! timeoverlay ! ximagesink > > But it might very well be that there is a better solution and I would be > interested in it as well. There is a element called freeze for that. Stefan > > Roland > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gst...@li... > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
From: <gs...@om...> - 2009-12-28 08:02:23
|
> I'm using the videomixer plugin to create a combined video from two > incoming > video streams. Both videos are positioned horizontally next to each other. > The second video has a smaller height than the first one. Resulting in a > black rectangular area in the lower right corner of the video. > > I would like to fill this black hole with a static image. I have tried > loading an image using a filesrc linked with a jpegdec element, but the > problem is that the video gets an EOS event after having loaded the image, > so it only shows for a fraction of a second. > > Is there any way to do it? I'm currently loading all my pipelines using > the > gst-launch parser, so a solution in gst-launch syntax would be ideal. > However, I'd be willing to do it in code if needed. You can use the videobox plugin for this. See http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-videomixer.html for an example pipeline: gst-launch videotestsrc pattern=1 ! video/x-raw-yuv, framerate=\(fraction\)10/1, width=100, height=100 ! videobox border-alpha=0 alpha=0.5 top=-70 bottom=-70 right=-220 ! videomixer name=mix ! ffmpegcolorspace ! xvimagesink videotestsrc ! video/x-raw-yuv, framerate=\(fraction\)5/1, width=320, height=240 ! alpha alpha=0.7 ! mix. Best regards, Roland |