WIPVideo » History » Revision 12
Revision 11 (Saúl Ibarra Corretgé, 09/10/2013 10:18 AM) → Revision 12/43 (Saúl Ibarra Corretgé, 09/10/2013 10:19 AM)
h1. 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 h2. 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) h2. 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.- No longer needed. h2. Compiling dependencies All dependencies will be compiled to a directory in the user's HOME directory: <pre> export MY_VIDEO_LIBS=$HOME/work/ag-projects/video/local </pre> h3. libx264 <pre> ./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 </pre> h3. ffmpeg <pre> # 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 # If a 32bit build is wanted do: ./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`" --cc="gcc -m32" --disable-asm # TODO: I WANT MY ASM </pre> h3. SDL <pre> ./configure --disable-audio --prefix=$MY_VIDEO_LIBS make make install # If a 32bit build is wanted: CFLAGS="-arch i386" CXXFLAGS="-arch i386" LDFLAGS="-arch i386" ./configure --disable-audio --prefix=$MY_VIDEO_LIBS </pre> h2. Compiling PJSIP (pjsua, for testing) <pre> 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/ </pre> h2. Proposed API TODO