Hello,
I am trying to add a jpeg/png graphic as well as text to a pipeline that I have made in GStreamer that will be running on a Wandboard-Quad built with Yocto Dora branch.
In order to display jpeg/png images, I can use the pipeline: gst-launch filesrc location=file.jpg ! jpegdec ! imagefreeze ! mfw_isink. This pipeline does display the image, as long as the resolution is divisible by 8 pixels. Otherwise the pipeline will fail with the error message 'source fmt error'. This 8-bit aligned rule may be problematic for my final design. What would it take to change this to support any resolution? Does this issue lie with jpegdec or isink?
In a related question, when I am displaying this graphic, it fills the entire screen, regardless of its actual size. I have tried the pipeline gst-launch filesrc location=file.jpg ! jpegdec ! imagefreeze ! mfw_isink disp-width=320 disp-height=240, but the image still filled the screen. Can anyone suggest a different pipeline that would allow me to reduce the size of the image?
Shifting topics slightly, I am having trouble adding textoverlay and timeoverlay elements to my Yocto build. These elements are part of the gst-plugins-base package, but they seemed to have been removed for some reason. I have tried to add them back in but have not been successful. The most logical solution to me was to add the line gst-plugins-base-textoverlay to my recipe, however Yocto was not able to find textoverlay in the RPM. So I added the line directly the RPM, which not only did not add what I want but also crashed gstreamer when I play video. Lastly I tried adding Pango to my build, which I believe is related to textoverlay. Pango was installed successfully, but still no luck with textoverlay. Can anyone suggest a way of adding textoverlay to my Yocto build?
As an aside, if anyone is having issues using mfw_isink to play multiple videos and is getting the following warning:
Can not open dll, libgstfsl-0.10.so: cannot open shared object file:
No such file or directory.
Caught SIGSEGV accessing address (nil)
......
The solution is to make a symlink to the correct library by doing ln -s libgstfsl-0.10.so.0 libgstfsl-0.10.so. I was stuck on that for longer than I would like to admit.
Thanks,
Josh
Solved! Go to Solution.
For 3, can you try the cairotextoverlay element? http://www.freedesktop.org/software/gstreamer-sdk/data/docs/latest/gst-plugins-good-plugins-0.10/gst...
Is there a error log when sinking the HD video?
Hi Josh,
I am using sato to build the image.
I have included PACKAGECONFIG_append = " pango" in my bbappend .
The contents of bbappend are as follows
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI_append_mxs = " file://gstplaybin-enable-native-video.patch"
SRC_URI_append_mx5 = " file://gstplaybin-enable-native-video.patch"
SRC_URI_append_mx6 = " file://gstplaybin-enable-native-video.patch"
PACKAGECONFIG_append = " pango"
PACKAGE_ARCH_mxs = "${MACHINE_SOCARCH}"
PACKAGE_ARCH_mx5 = "${MACHINE_SOCARCH}"
PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
I also included gst-plugins-base-pango in my local.conf file .
The library libgstpango.so is not built.
Where I am doing wrong
Yocto dora branch doesn't enbale pango plugin by default, so you must add it for compilation with a bbappend gst-plugins-base file. There you add this line:
PACKAGECONFIG_append = " pango"
Now the pango (overlay plugins) will be compiled. And to include it in your image or make recipe depend on it, you must add this package name:
gst-plugins-base-pango
for my build, I created the following file and added to it, using Janis' suggestion
$ cat gstreamer1.0-plugins-base_%.bbappend
PACKAGECONFIG_append = " pango"
Thanks!
1. The 8-bit rule is an IPU restriction, nothing related to SW (as far as I know)
2. you mean disp-* parameters do not work?
3. how are you adding the textoverlay element?
4. the issue regarding multiple isink instances it is a known issue as seen here https://bugzilla.yoctoproject.org/show_bug.cgi?id=3781
1.) Oh well, I guess that isn't a huge issue.
2.) Whoops, I was doing ... ! "mfw_isink disp-width=n disp-height=m". I realized that should not be in quotes.
3.) I tried adding it to local.conf as "gst-plugins-base-textoverlay" but bitbake was not able to find it. I was able to install pango and pangomm, but neither of these seemed to provide textoverlay.
New question, what are the maximum limitations of using mfw_isink to play an HD video from a file plus having jpeg graphics? I was able to run two graphics with an SD video, but the same test fails when I use a 720p and a 1080p clip.
Thanks for the help
For 3, can you try the cairotextoverlay element? http://www.freedesktop.org/software/gstreamer-sdk/data/docs/latest/gst-plugins-good-plugins-0.10/gst...
Is there a error log when sinking the HD video?
Ah, that works! However, it kills my CPU usage. I go from around 8% with a 1080p video and mfw_isink to 65% with the same video and cairotextoverlay, and the video is very jumpy.