WIPVideo

Version 9 (Saúl Ibarra Corretgé, 08/28/2013 05:42 pm)

1 1 Saúl Ibarra Corretgé
h1. WIPVideo
2 1 Saúl Ibarra Corretgé
3 5 Saúl Ibarra Corretgé
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
4 1 Saúl Ibarra Corretgé
5 1 Saúl Ibarra Corretgé
h2. Dependencies
6 1 Saúl Ibarra Corretgé
7 1 Saúl Ibarra Corretgé
The following dependencies are required to build PJSIP with video support (including H264)
8 1 Saúl Ibarra Corretgé
9 1 Saúl Ibarra Corretgé
* SDL 2
10 1 Saúl Ibarra Corretgé
* ffmpeg (libavformat, libswscale, libavcodec, libavutil)
11 1 Saúl Ibarra Corretgé
* libx264
12 1 Saúl Ibarra Corretgé
13 1 Saúl Ibarra Corretgé
Versions I have tried:
14 1 Saúl Ibarra Corretgé
15 1 Saúl Ibarra Corretgé
* SDL (2.0.0-7655)
16 1 Saúl Ibarra Corretgé
* ffmpeg (2.0 release)
17 1 Saúl Ibarra Corretgé
* libx264 (snapshot-20130806-2245-stable)
18 1 Saúl Ibarra Corretgé
19 1 Saúl Ibarra Corretgé
h2. Patches
20 1 Saúl Ibarra Corretgé
21 2 Saúl Ibarra Corretgé
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.
22 3 Saúl Ibarra Corretgé
23 3 Saúl Ibarra Corretgé
h2. Compiling dependencies
24 3 Saúl Ibarra Corretgé
25 3 Saúl Ibarra Corretgé
All dependencies will be compiled to a directory in the user's HOME directory:
26 3 Saúl Ibarra Corretgé
27 3 Saúl Ibarra Corretgé
<pre>
28 3 Saúl Ibarra Corretgé
export MY_VIDEO_LIBS=$HOME/work/ag-projects/video/local
29 3 Saúl Ibarra Corretgé
</pre>
30 3 Saúl Ibarra Corretgé
31 3 Saúl Ibarra Corretgé
h3. libx264
32 3 Saúl Ibarra Corretgé
33 3 Saúl Ibarra Corretgé
<pre>
34 3 Saúl Ibarra Corretgé
./configure --enable-shared --disable-avs --disable-swscale --disable-lavf --disable-ffms --disable-gpac --prefix=$MY_VIDEO_LIBS
35 3 Saúl Ibarra Corretgé
make
36 3 Saúl Ibarra Corretgé
make install
37 8 Saúl Ibarra Corretgé
38 8 Saúl Ibarra Corretgé
# If a 32bit build is wanted, then run this configure instead:
39 8 Saúl Ibarra Corretgé
./configure --host=i386-apple-darwin --enable-shared --disable-avs --disable-swscale --disable-lavf --disable-ffms --disable-gpac --prefix=$MY_VIDEO_LIBS
40 3 Saúl Ibarra Corretgé
</pre>
41 3 Saúl Ibarra Corretgé
42 3 Saúl Ibarra Corretgé
h3. ffmpeg
43 3 Saúl Ibarra Corretgé
44 3 Saúl Ibarra Corretgé
<pre>
45 3 Saúl Ibarra Corretgé
# Some exports
46 3 Saúl Ibarra Corretgé
export PKG_CONFIG_PATH=$MY_VIDEO_LIBS/lib/pkgconfig
47 1 Saúl Ibarra Corretgé
48 7 Saúl Ibarra Corretgé
./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`"
49 3 Saúl Ibarra Corretgé
make
50 3 Saúl Ibarra Corretgé
make install
51 9 Saúl Ibarra Corretgé
52 9 Saúl Ibarra Corretgé
# If a 32bit build is wanted do:
53 9 Saúl Ibarra Corretgé
./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
54 9 Saúl Ibarra Corretgé
# TODO: I WANT MY ASM
55 3 Saúl Ibarra Corretgé
</pre>
56 3 Saúl Ibarra Corretgé
57 3 Saúl Ibarra Corretgé
h3. SDL
58 3 Saúl Ibarra Corretgé
59 3 Saúl Ibarra Corretgé
<pre>
60 3 Saúl Ibarra Corretgé
./configure --disable-audio --prefix=$MY_VIDEO_LIBS
61 3 Saúl Ibarra Corretgé
make
62 3 Saúl Ibarra Corretgé
make install
63 3 Saúl Ibarra Corretgé
</pre>
64 4 Saúl Ibarra Corretgé
65 4 Saúl Ibarra Corretgé
h2. Compiling PJSIP (pjsua, for testing)
66 4 Saúl Ibarra Corretgé
67 4 Saúl Ibarra Corretgé
<pre>
68 4 Saúl Ibarra Corretgé
svn co http://svn.pjsip.org/repos/pjproject/trunk pjsip
69 4 Saúl Ibarra Corretgé
cd pjsip
70 4 Saúl Ibarra Corretgé
echo "#define PJMEDIA_HAS_VIDEO 1" > pjlib/include/pj/config_site.h
71 4 Saúl Ibarra Corretgé
./configure --with-sdl=$MY_VIDEO_LIBS --with-ffmpeg=$MY_VIDEO_LIBS
72 4 Saúl Ibarra Corretgé
make dep
73 4 Saúl Ibarra Corretgé
make
74 4 Saúl Ibarra Corretgé
# pjsua will be located in pjsip-apps/bin/
75 4 Saúl Ibarra Corretgé
</pre>