Appendix
Challenges faced and important tips:
1. Installation of gstreamer-1.8: The package is not available as apt-get cache. The rtpbin elements like rtcp-sync-send-time etc.. are all available only in versions after Gstreamer 1.6. Hence, one has to install it from scratch by downloading the tarball version from the site.
http://www.linuxfromscratch.org/blfs/view/svn/multimedia/gstreamer10.html would be a good site to follow up with instructions.
Note 1: Don’t forget to set pkg_config path variable after installing gstreamer-1.8 and before installing all its plugins.
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
[/usr/lib is the library where gstreamer-1.8.0 resides]
After installing it is highly likely that version 1.8 would collide with any other version. In order to check that simply type the following in the terminal
gst-inspect-1.0 --version
If there is a conflict between versions of gst-inspect-1.0 and Gstreamer in the results then use the following two commands before executing a Gstreamer program.
export GST_PLUGIN_PATH=/usr/lib/gstreamer-1.8.0/
export LD_LIBRARY_PATH=/usr/lib
Substitute above values with the library where the latest version of Gstreamer resides.
If there is a problem with Bison or m4, never use apt-get update to install them as Gstreamer 1.8 requires all latest version of packages. Use linuxfromscratch.org to install them by downloading and building. If you want to check if a plugin is available or not you can do so with gst-inspect-1.0
Eg: gst-inspect-1.0 x64enc will tell whether it is available. If not you have to install the right library. (libx64.so)
Gst-inspect-1.0 –b will give list of black listed files. In those cases you have to clear the gstreamer cache registry.
2. Codec problems: There can always be external factors disturbing the streams like slow codec paths. The camera and device have to go together which frequently does not happen especially if an embedded device is involved.
One suggestion would be to build the system around laptop or desktop computers and then ship it to embedded device architecture.
1. Installation of gstreamer-1.8: The package is not available as apt-get cache. The rtpbin elements like rtcp-sync-send-time etc.. are all available only in versions after Gstreamer 1.6. Hence, one has to install it from scratch by downloading the tarball version from the site.
http://www.linuxfromscratch.org/blfs/view/svn/multimedia/gstreamer10.html would be a good site to follow up with instructions.
Note 1: Don’t forget to set pkg_config path variable after installing gstreamer-1.8 and before installing all its plugins.
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
[/usr/lib is the library where gstreamer-1.8.0 resides]
After installing it is highly likely that version 1.8 would collide with any other version. In order to check that simply type the following in the terminal
gst-inspect-1.0 --version
If there is a conflict between versions of gst-inspect-1.0 and Gstreamer in the results then use the following two commands before executing a Gstreamer program.
export GST_PLUGIN_PATH=/usr/lib/gstreamer-1.8.0/
export LD_LIBRARY_PATH=/usr/lib
Substitute above values with the library where the latest version of Gstreamer resides.
If there is a problem with Bison or m4, never use apt-get update to install them as Gstreamer 1.8 requires all latest version of packages. Use linuxfromscratch.org to install them by downloading and building. If you want to check if a plugin is available or not you can do so with gst-inspect-1.0
Eg: gst-inspect-1.0 x64enc will tell whether it is available. If not you have to install the right library. (libx64.so)
Gst-inspect-1.0 –b will give list of black listed files. In those cases you have to clear the gstreamer cache registry.
2. Codec problems: There can always be external factors disturbing the streams like slow codec paths. The camera and device have to go together which frequently does not happen especially if an embedded device is involved.
One suggestion would be to build the system around laptop or desktop computers and then ship it to embedded device architecture.