99 | | Visual Studio users will need to configure things manually as explained below. |
100 | | |
101 | | ==== 1. Requirements ==== #win-reqs |
102 | | |
103 | | Windows requirements: |
104 | | 1. The components in [#reqdesk common requirements] above. |
105 | | [[BR]] |
106 | | Here are sample steps for building SDL, libx264, and ffmpeg: |
107 | | a. SDL 1.3 comes with VS project settings, e.g: for VS2005 just open {{{VisualC\SDL_VS2005.sln}}} and build. |
108 | | a. Get [http://www.mingw.org/wiki/MSYS MSYS|MinGW] for building libx264 and ffmpeg, and also its [http://www.mingw.org/wiki/InstallationHOWTOforMinGW gcc compiler suite]. Note: |
109 | | - It is recommended to use gcc 4 or above to build ffmpeg. |
110 | | - To avoid problems, put MSYS, libx264, and ffmpeg in folders that do not contain space, e.g: {{{C:\msys, C:\devlib\ffmpeg}}}. |
111 | | a. libx264 (optional, if H264 is wanted), in MSYS console, as detailed in [#reqdesk common requirements]. |
112 | | a. ffmpeg, in MSYS console, as detailed in [#reqdesk common requirements]. |
113 | | - To use ffmpeg with VS, {{{inttypes.h}}} and {{{stdint.h}}} will be needed, check [http://ffmpeg.arrozcru.org/wiki/index.php?title=Inttypes.h here]. |
114 | | |
115 | | 2. !DirectShow SDK, included in Windows SDK. The minimum component required within the SDK is ''Windows Development Headers and Libraris'' and ''Samples''. As there are several versions of SDK we found they have different issues: |
116 | | a. If you don't need Windows 7 features, the recommended SDK is [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ff6467e6-5bba-4bf5-b562-9199be864d29 Windows SDK Update for Windows Vista]. This is because it doesn't have [wiki:FAQ#vs2008 IP Helper API header bug]. |
117 | | a. If you need Windows 7 features then use [http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=6B6C21D2-2006-4AFA-9702-529FA782D63B Windows SDK for Windows 7 and .NET Framework 4] and follow the instructions on [wiki:FAQ#vs2008 fixing IP Helper API header bug]. Also if you are using Visual Studio 2005 then you will need to patch it using [http://support.microsoft.com/kb/949009/ MS Knowledge Base 949009] |
118 | | |
119 | | |
120 | | ==== 2. Configure directories ==== |
121 | | |
122 | | Configure Visual Studio directories: |
123 | | 1. Add include and library paths for the required components: |
124 | | a. !DirectShow SDK |
125 | | a. SDL |
126 | | a. ffmpeg |
127 | | 2. ~~ |
128 | | Build Baseclasses sample and add the path to Visual Studio: |
129 | | a. Look for the Baseclasses project, and add the include path to Visual Studio configuration. '''Important:''' the include path for the Baseclasses must be higher than Windows SDK include path. |
130 | | a. In the property of the Baseclasses project, change the code generation to Multi-threaded Debug, instead of the default Multi-threaded DLL. |
131 | | a. Compile the baseclasses project in the samples, and add the resulting library to the path of Visual Studio configuration. |
132 | | ~~ |
133 | | |
134 | | '''Update''': Baseclasses !DirectShow project is bundled in the package since 2.0 (see ticket #1276). |
135 | | |
136 | | ==== 3. Configure Video Settings ==== |
137 | | |
138 | | Add these to your {{{config_site.h}}}: |
139 | | |
140 | | {{{ |
141 | | #define PJMEDIA_HAS_VIDEO 1 |
142 | | #define PJMEDIA_HAS_FFMPEG 1 |
143 | | #define PJMEDIA_VIDEO_DEV_HAS_SDL 1 |
144 | | #define PJMEDIA_VIDEO_DEV_HAS_DSHOW 1 |
145 | | }}} |
146 | | |
147 | | ==== 4. Rebuild the Solution ==== |
148 | | |
149 | | Once the build is successful, you will have '''pjsua''' executable containing video support. Additionally, you may want to build the [#vidgui GUI sample application] too. |
150 | | |
| 99 | See [wiki:Getting-Started/Windows Getting Started for Windows] on building pjsip with video support. |