« Previous - Version 8/43 (diff) - Next » - Current version
Saúl Ibarra Corretgé, 08/28/2013 05:15 pm


WIPVideo

Notes while video is a work in progress. Repository: http://devel.ag-projects.com/cgi-bin/darcsweb.cgi?r=saul/python-sipsimple-video;a=summary

Dependencies

The following dependencies are required to build PJSIP with video support (including H264)

  • SDL 2
  • ffmpeg (libavformat, libswscale, libavcodec, libavutil)
  • libx264

Versions I have tried:

  • SDL (2.0.0-7655)
  • ffmpeg (2.0 release)
  • libx264 (snapshot-20130806-2245-stable)

Patches

If the above versions are used, PJSIP needs to be patched with the attached patch (avcodec.diff) or it won't compile. This does not occur when compiling it against the latest library versions on Debian unstable.

Compiling dependencies

All dependencies will be compiled to a directory in the user's HOME directory:

export MY_VIDEO_LIBS=$HOME/work/ag-projects/video/local

libx264

./configure --enable-shared --disable-avs --disable-swscale --disable-lavf --disable-ffms --disable-gpac --prefix=$MY_VIDEO_LIBS
make
make install

# If a 32bit build is wanted, then run this configure instead:
./configure --host=i386-apple-darwin --enable-shared --disable-avs --disable-swscale --disable-lavf --disable-ffms --disable-gpac --prefix=$MY_VIDEO_LIBS

ffmpeg

# Some exports
export PKG_CONFIG_PATH=$MY_VIDEO_LIBS/lib/pkgconfig

./configure --enable-shared --disable-static --enable-memalign-hack --enable-gpl --enable-libx264 --prefix=$MY_VIDEO_LIBS --extra-cflags="`pkg-config --cflags x264`" --extra-ldflags="`pkg-config --libs x264`" 
make
make install

SDL

./configure --disable-audio --prefix=$MY_VIDEO_LIBS
make
make install

Compiling PJSIP (pjsua, for testing)

svn co http://svn.pjsip.org/repos/pjproject/trunk pjsip
cd pjsip
echo "#define PJMEDIA_HAS_VIDEO 1" > pjlib/include/pj/config_site.h
./configure --with-sdl=$MY_VIDEO_LIBS --with-ffmpeg=$MY_VIDEO_LIBS
make dep
make
# pjsua will be located in pjsip-apps/bin/