-
-
Notifications
You must be signed in to change notification settings - Fork 5
pjproject help
-
LoginPreferencesHelp/GuideAbout Trac
-
WikiTimelineRoadmapBrowse SourceView TicketsSearch
-
wiki:Getting-Started/Autoconf
-
UpStart PageIndexHistory
-
Last modified 14 months ago
-
Building Linux, *nix, *BSD, and MacOS X Targets with GNU Build Systems
-
Getting Started
-
Preparation
-
Get the source code
-
Disk Space Requirements
-
Build Preparation
-
Build for Desktop
-
Windows
-
Linux
-
MacOS X
-
Python
-
Build for Mobile
-
iOS: Apple iPhone, iPad, and iPod Touch
-
Android
-
BlackBerry 10 (BB10)
-
Windows Mobile
-
Windows Phone 8.x and UWP
-
Symbian...
-
Build for Other
-
Next: Using the libraries
-
Running pjsip Applications
-
Building Application using PJSIP with GNU Tools
-
Video User's Guide (2.0 onwards)
-
See Also
-
Installing OpenSSL on Windows
-
Using Subversion
-
Visual Studio Build Configurations
-
Using Eclipse with PJSIP
-
S60 3rd Edition devices
-
Supported Targets
-
Requirements
-
Tools and development libraries
-
Video Support (for 2.0 and above)
-
Host requirements
-
Running configure
-
Using Default Settings
-
Features Customization
-
Configuring Debug Version and Other Customizations
-
Configuring TLS Support
-
Cross Compilation
-
Running make
-
Build Customizations
-
Optional: Installing PJSIP
-
Next: Using pjsip libraries in your applications
-
Supported Targets
-
The autoconf based GNU build system can be used to build the libraries/applications for the following targets:
-
Linux/uC-Linux (i386, Opteron, Itanium, MIPS, PowerPC, etc.),
-
MacOS X (PowerPC),
-
mingw (i386),
-
FreeBSD and maybe other BSD's (i386, Opteron, etc.),
-
RTEMS with cross compilation (ARM, powerpc),
-
etc.
-
Requirements
-
Tools and development libraries
-
In order to use PJSIP's GNU build system, these typical GNU tools are needed:
-
GNU make (other make will not work),
-
GNU binutils for the target, and
-
GNU gcc for the target.
-
In addition, the following libraries are optional, but they will be used if they are present:
-
ALSA header files/libraries (optional) if ALSA support is wanted.
-
OpenSSL header files/libraries (optional) if TLS support is wanted.
-
Video Support (for 2.0 and above)
-
The following components are needed for video:
-
Linux: Video4Linux2 (v4l2) development library.
-
SDL version 2.0
-
libyuv (Recommended) for format conversion and video manipulation. Follow the instructions in ticket #1937 (or ticket #1776 if you are using PJSIP 2.5.1 or older). Alternatively, you can use ffmpeg as explained below.
-
OpenH264 (Recommended): Follow the instructions in ticket #1947 (or ticket #1758 if you use PJSIP before version 2.6). Alternatively, you can use VideoToolbox (only for Mac) or ffmpeg as explained below.
-
VideoToolbox (for Mac only, supported since PJSIP version 2.7), define this in your config_site.h: #define PJMEDIA_HAS_VID_TOOLBOX_CODEC 1
-
ffmpeg development library. ffmpeg is used for format conversion and video manipulation; as well as video codecs: H.264 (together with libx264) and H263P/H263-1998. So, if you already use libyuv AND H.264 (OpenH264 or VideoToolbox), and you don't need H.263, then this is optional. We tested with ffmpeg version 1.x (1.2.5) to 0.x (from 0.5.1 (from circa 2009) to 0.10). Since #1897 we have added support for ffmpeg 2.8, however note that on applying the ticket, older ffmpeg will no longer be supported. To enable H.264 support in ffmpeg (this is not required if you already have H.264 codec (via OpenH264 or VideoToolbox)):
-
You need newer releases (October 2011 onwards), and it needs libz too. On Mac OS X: You may need to rebuild libbz2 if you have an old libbz2 for older system.
-
Build with at least:
-
$ ./configure --enable-shared --disable-static --enable-memalign-hack
-
# add other options if needed, e.g: optimization, install dir, search path
-
# particularly CFLAGS and LDFLAGS for x264
-
# to enable H264, add "--enable-gpl --enable-libx264"
-
$ make && make install
-
libx264. We tested with the latest from git (as of October 2011):
-
$ ./configure --enable-static # add options if needed, e.g: optimization, install dir, search path
-
$ make && make install-lib-static # default install dir is /usr/local
-
Optional: Qt development SDK for building the video GUI sample. We tested with version 4.6 or later.
-
without this you can still enjoy video with pjsua console application
-
Host requirements