基于PJSIP的视频通信在IOS上的实现

转载:http://blog.csdn.net/zoutian007/article/details/8645442

 

From http://code.google.com/p/siphon/wiki/VIdeoSupport 

PJSIP 在IOS视频通信的方案,sipho开源项目已经告诉了我们!感谢他们~等会自己来试一下。大笑

Introduction

Currently, pjsip 2.0 includes the video support, also we will use it. And we won't backport video support in pjsip 1.x branch.

We use three external libraries :

The statements to compile libyuv are described in this site. Maybe your svn version is too old, in this case you can update svn by following the statements of Jason McCreary's blog.

 

The statements to compile ffmpeg and x264 libraries are given on this site.

Some statements to include VP8 support in pjsip are given on this page.

libx264 compilation

#!/bin/sh

DEST=../iOS/video/iOS

VERSION="5.1"
SDK_VERSION="5.1"

DEVPATH=/Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
#DEVPATH=/Developer/Platforms/iPhoneOS.platform/Developer


echo "Building armv7..."

export CC=${DEVPATH}/usr/bin/llvm-gcc

./configure --host=arm-apple-darwin \
    --sysroot=${DEVPATH}/SDKs/iPhoneOS${VERSION}.sdk \
    --prefix=$DEST \
    --extra-cflags='-arch armv7' \
    --extra-ldflags="-L${DEVPATH}/SDKs/iPhoneOS${SDK_VERSION}.sdk/usr/lib/system -arch armv7" \
    --enable-pic \
    --enable-static 

make && make install

echo "Installed: $DEST"

ffmpeg compilation

#!/bin/sh

DEST=../iOS/video/iOS

VERSION=5.1
IPHONEOS_DEPLOYMENT_TARGET=5.1  

DEVPATH=/Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
#DEVPATH=/Developer/Platforms/iPhoneOS.platform/Developer

X264INCLUDE=${DEST}/include
X264LIB=${DEST}/lib

COMMONFLAGS="-miphoneos-version-min=$IPHONEOS_DEPLOYMENT_TARGET -arch armv7 "
CFLAGS="$CFLAGS $COMMONFLAGS -I$X264INCLUDE"
LDFLAGS="$LDFLAGS -L${DEVPATH}/SDKs/iPhoneOS${VERSION}.sdk/usr/lib/system $COMMONFLAGS -L$X264LIB"

export CC=${DEVPATH}/usr/bin/llvm-gcc
export RANLIB=${DEVPATH}/usr/bin/ranlib


echo "Building armv7..."

./configure \
    --cpu=cortex-a8 \
    --extra-cflags="$CFLAGS" \
    --extra-ldflags="$LDFLAGS" \
    --enable-cross-compile \
    --arch=arm \
    --target-os=darwin \
    --cc=${CC} \
    --sysroot=${DEVPATH}/SDKs/iPhoneOS${VERSION}.sdk \
    --prefix=${DEST} \
    --enable-gpl \
    --disable-network \
    --disable-decoders \
    --disable-muxers \
    --disable-demuxers \
    --disable-devices \
    --disable-parsers \
    --disable-encoders \
    --disable-protocols \
    --disable-filters \
    --disable-bsfs \
    --enable-libx264 \
    --enable-encoder=libx264 \
    --enable-encoder=libx264rgb \
    --enable-decoder=h264 \
    --enable-encoder=h263 \
    --enable-decoder=h263 \
    --enable-gpl \
    --enable-pic \
    --disable-doc \
    --disable-ffplay \
    --disable-ffprobe
    
make & make install

echo "Installed: $DEST"

vpx compilation

#!/bin/sh

DEST=../iOS/video/iOS

VERSION=6.0 

DEVPATH=/Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer

mkdir armv7_build

cd armv7_build

../configure --target=armv7-darwin-gcc \
     --prefix=${DEST} \
     --disable-install-bins \ 
     --libc=${DEVPATH}/SDKs/iPhoneOS${VERSION}.sdk

make & make install

pjsip compilation

You have to enable video support in config_site.h:

#define PJMEDIA_HAS_VIDEO 1

iOS

./configure-iphone --prefix=./iOS --with-ffmpeg=../iOS/video/iOS

make & make install

Simulator

export ARCH="-arch i386"

export DEVPATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer
export IPHONESDK=iPhoneSimulator6.0.sdk
export CC=${DEVPATH}/usr/bin/llvm-gcc
export CFLAGS="-O2 -m32 -miphoneos-version-min=5.0 -fobjc-abi-version=2 -fobjc-legacy-dispatch"
export LDFLAGS="-O2 -m32"

./configure-iphone --prefix=./Simulator --with-ffmpeg=../iOS/video/iOS

make & make install

posted on 2014-08-28 23:13  鬼手渔翁  阅读(652)  评论(0)    收藏  举报

导航