Project

General

Profile

WIPVideo » History » Version 10

Saúl Ibarra Corretgé, 08/28/2013 05:52 PM

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