Audio/video RTP abstraction library
C C++ Objective-C Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
demo
gstprovider
psimedia
qcm
.gitignore
CHANGELOG
CMakeLists.txt
COPYING
README.md
TODO
psimedia.pro
psimedia.qc

README.md

PsiMedia

PsiMedia is a thick abstraction layer for providing audio and video RTP services to Psi-like IM clients. The implementation is based on GStreamer.

For more information, see this article.

Currently it is used for video- and audio-calls support in Psi IM and Psi+ projects.

License

This library is licensed under the Lesser GNU General Public License. See the COPYING file for more information.

Versions history

See CHANGELOG file.

Build dependencies

  • qconf (optional)
  • qtbase >= 5.6
  • glib >= 2.0
  • gobject >= 2.0
  • gthread >= 2.0
  • gstreamer >= 1.10.4
  • gst-plugins-base >= 1.10.4

Installation

Contents:

psimedia/      API and plugin shim
gstprovider/   provider plugin based on GStreamer
demo/          demonstration GUI program

To build the plugin and demo program, run:

qt-qconf
./configure
make

There is no make install target in this case. The compiled plugin may be found under the gstprovider directory. An application that uses PsiMedia should have instructions on what to do with the plugin.

For example, in Psi+ program gstprovider plugin should be placed into:

  • /usr/lib/psi-plus/plugins/ in GNU/Linux systems
  • the root Psi+ directory on MS Windows systems (for example, C:\\Program Files\Psi+\)

If you want to test demo program, use environment variable PSI_MEDIA_PLUGIN for setting the path to gstprovider plugin. For example:

PSI_MEDIA_PLUGIN=/usr/lib/psi-plus/plugins/libgstprovider.so ./demo

Alternatively you may build plugin and demo using cmake:

mkdir -p builddir
cd builddir
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
make

There is special "make install" target in this case oriented to Psi IM users, see:

make install DESTDIR=./out
tree ./out