| 77 | [[BR]] |
| 78 | |
| 79 | == Video Support == |
| 80 | |
| 81 | === Features === |
| 82 | Video on iOS is supported since PJSIP version 2.3. It has the following features: |
| 83 | - native capture |
| 84 | - native preview |
| 85 | - native OpenGL ES renderer |
| 86 | - H.264 codec (via OpenH264 library, see below) |
| 87 | |
| 88 | === Requirements === |
| 89 | |
| 90 | ==== libyuv ==== |
| 91 | |
| 92 | 1. Follow the instructions in ticket #1776 |
| 93 | 1. Note that armv7s arch is not supported by libyuv at this time of writing (use armv7 instead) |
| 94 | |
| 95 | ==== OpenH264 ==== |
| 96 | |
| 97 | 1. Follow the instructions in ticket #1758 |
| 98 | |
| 99 | === Configuring === |
| 100 | |
| 101 | Sample invocation of ./configure-iphone: |
| 102 | {{{ |
| 103 | $ ./configure-iphone --with-libyuv=/Users/me/src/libyuv/trunk --with-openh264=/Users/me/opt |
| 104 | }}} |
| 105 | |
| 106 | Make sure libyuv and openh264 are detected by {{{./configure-iphone}}}: |
| 107 | {{{ |
| 108 | ... |
| 109 | Using OpenH264 prefix... /Users/me/opt |
| 110 | checking OpenH264 availability... ok |
| 111 | Using libyuv prefix... /Users/me/src/libyuv/trunk |
| 112 | checking for I420Scale in -lyuv... yes |
| 113 | ... |
| 114 | }}} |
| 115 | |
| 116 | Set these in your {{{config_site.h}}}: |
| 117 | |
| 118 | {{{ |
| 119 | #define PJ_CONFIG_IPHONE 1 |
| 120 | #define PJMEDIA_HAS_VIDEO 1 |
| 121 | #define PJMEDIA_HAS_OPENH264_CODEC 1 |
| 122 | |
| 123 | #include <pj/config_site_sample.h> |
| 124 | }}} |
| 125 | |
| 126 | |
| 127 | [[BR]] |