| 50 | |
| 51 | == Video Support (in progress) == |
| 52 | |
| 53 | === Features === |
| 54 | Video on Android will be supported since PJSIP version 2.4. It has the following features: |
| 55 | - native capture (under development) |
| 56 | - native OpenGL ES renderer |
| 57 | - H.263 codec (via ffmpeg library, see below) |
| 58 | - H.264 codec (via OpenH264 library, see below) |
| 59 | |
| 60 | === Requirements === |
| 61 | |
| 62 | ==== ffmpeg ==== |
| 63 | |
| 64 | 1. Follow the instructions from the web on how to build ffmpeg for android. We followed the instructions provided [http://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9/ here] and successfully built with Android NDK !r10. |
| 65 | 1. Copy all library .so files into your Android application project directory, for example: |
| 66 | {{{ |
| 67 | cp /Users/me/src/ffmpeg-2.5/android/arm/lib/*.so /Users/me/pjproject-2.0/pjsip-apps/src/swig/java/android/libs/armeabi |
| 68 | }}} |
| 69 | |
| 70 | ==== OpenH264 ==== |
| 71 | |
| 72 | 1. Follow the instructions in ticket #1758 |
| 73 | 1. Copy all library .so files into your Android application project directory, for example: |
| 74 | {{{ |
| 75 | cp /Users/me/openh264-1.0.0/android/*.so /Users/me/pjproject-2.0/pjsip-apps/src/swig/java/android/libs/armeabi |
| 76 | }}} |
| 77 | |
| 78 | === Configuring === |
| 79 | |
| 80 | Sample invocation of ./configure-android: |
| 81 | {{{ |
| 82 | $ ./configure-android --with-ffmpeg=/Users/me/src/ffmpeg-2.5/android/arm --with-openh264=/Users/me/openh264-1.0.0/android |
| 83 | }}} |
| 84 | |
| 85 | Make sure ffmpeg and openh264 are detected by {{{./configure-android}}}: |
| 86 | {{{ |
| 87 | ... |
| 88 | Using ffmpeg prefix... /Users/me/src/ffmpeg-2.5/android/arm |
| 89 | checking for pkg-config... pkg-config |
| 90 | checking ffmpeg packages... libavformat libavcodec libswscale libavutil |
| 91 | ... |
| 92 | Using OpenH264 prefix... /Users/me/openh264-1.0.0/android |
| 93 | checking OpenH264 availability... ok |
| 94 | ... |
| 95 | }}} |