交叉编译音频(无视频)版linphone

环境:Ubuntu10.04、fscl mx53

linphone3.6.1

依赖库:alsa-lib-1.0.18   ncurses-5.9   readline-5.1   libosip2-3.6.0   libeXosip2-3.6.0    libogg-1.1.4  speex-1.2rc1  libxml2-2.7.6

安装configure依赖工具:

sudo apt-get install libtool automake autoconf

设置环境变量:

export PREFIX =/home/ray/linphone/target

export HOST=arm-linux

编译依赖库:

alsa-lib-1.0.18

./configure --prefix=$PREFIX --host=$HOST  --disable-static  --disable-aload --disable-rawmidi --disable-seq --disable-ucm --disable-alisp --disable-old-symbols --disable-python --with-alsa-devdir=/dev && make && make install

ncurses-5.9

./configure --prefix=$PREFIX --host=$HOST --with-gnu-ld --with-shared --disable-static && make && make install

readline-5.1

./configure --prefix=$PREFIX --host=$HOST --with-gnu-ld --with-shared --disable-static && make && make install

libosip2-3.6.0

./configure --prefix=$PREFIX --host=$HOST --with-gnu-ld --with-shared --disable-static && make && make install

libeXosip2-3.6.0

./configure  --prefix=$PREFIX --host=$HOST --disable-static  OSIP_CFLAGS=-I$PREFIX/include OSIP_LIBS=-"L$PREFIX/lib -losip2 -losipparser2" && make && make install

libogg-1.1.4

./configure --prefix=$PREFIX --host=$HOST --with-gnu-ld --with-shared --disable-static && make && make install

speex-1.2rc1

./configure --prefix=$PREFIX --host=$HOST --disable-static --enable-fixed-point --enable-arm-asm --with-ogg-libraries=$PREFIX/lib --with-ogg-includes=$PREFIX/include && make && make install

libxml2-2.7.6

./configure --prefix=$PREFIX --host=$HOST --with-gnu-ld --with-shared --disable-static && make && make install

编译linphone:

linphone3.6.1

./configure --host=$HOST --prefix=$PREFIX/linphone --with-gnu-ld --disable-static --disable-video --disable-oss --disable-gtk_ui  --disable-pulseaudio  --enable-alsa   PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig

此时一个LINPHONE就编译成功了,把工具和相关库拷贝到板子上,建立相关符号连接,启动LINPHONE查看下声卡设备是否发现了ALSA,如果没有说明没有编译成功,因为LINPHONE默认的是OSS声卡,但是要实现语音必须用ALSA。检查参数,看是否指明了让其自动寻找ALSA。

注意:

编译后会生成linphonec与linphonecsh,必须将linphonec所在的目录添加到环境变量PATH下才可成功运行linphonecsh,如linphonecsh init -c /root/.linphonerc -a,若想运行视频版则添加-C -D(需配置linphone库的加载路径环境变量LD_LIBRARY_PATH);

配置文件默认为/root/.linphonerc,可以修改配置文件中的asterisk服务器ip和port及登录用户名和密码,其他一些配置是根据linphonecsh 初始化的入参配置的;

音频库可以选择oss或者alsa,可以在运行linphonec后通过soundcard list来查看当前加载的显卡驱动,打电话为call id,id为在asterisk下注册的用户名,如call 1129;

关于开发板上运行linphonec时找不到alsa声卡的问题:

在Ubuntu上执行env

PATH=/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin

将alsa放到交叉编译器的lib下:

/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/arm-fsl-linux-gnueabi/multi-libs/lib

/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/arm-fsl-linux-gnueabi/multi-libs/usr/lib

再重新编译linphone

再把alsa考到开发板/usr/lib下

linphonec> soundcard list

0: ALSA: default device

1: ALSA: imx-3stack

2: ALSA: imx-3stack-spdif

至于为什么把alsa应用库考到编译器的lib下就可以找到alsa声卡的原因我还没搞懂,还望各位大虾指教。

附:

	LINUX中的音频驱动有OSS和ALSA两种,OSS是商业性质的而且只公布了部分源码,现在内核里带的都是老版本的,并且不支持多线程的(我在移植过程中发现,OSS只能在一时刻提供一种功能,录音的话就不能播音,播音的话就不能录音),ALSA是内核中现在最常用的音频驱动,支持多线程并且是完全开源的。
OSS提供的设备接口有 mixer和dsp,ALSA提供pcm,midi,mixer,controlc,seq,timer等,要成功实现语音要使用ALSA驱动,在移植前期请确保你的内核中还有ALSA驱动,一般内核都带有驱动,只是设备文件的目录可能并不在默认的/dev/snd下并且要移植相应的库文件到板子上,这时候你就要在编译的时候注意参数的设置,在开发板上首先ls看下ALSA的设备文件是否都在,若都再得话就可以开始编译了。

交叉编译音频(无视频)版linphone,布布扣,bubuko.com

时间: 2024-10-12 14:46:10

交叉编译音频(无视频)版linphone的相关文章

使用PYaudio录制音频和视频(自己)

参考:https://blog.csdn.net/zhaoyun_zzz/article/details/84341801 音频录制:简洁版 import pyaudioimport waveimport timeimport sys CHUNK = 1024FORMAT = pyaudio.paInt16CHANNELS = 2RATE = 44100RECORD_SECONDS = 5000WAVE_OUTPUT_FILENAME = "output.wav" p = pyaudi

插入音频、视频

三种 分别用<bgsound />.<embed>和<video>标签,当用<embed><video>插入背景音乐时可以设置宽度和高度为0,隐藏播放器,在这里重点说前两者. ■ <bgsound>:<bgsound> 是用来插入背景音乐,但只适用于 ie,其参数设定不多.如下<bgsound src="your.mid" autostart=true loop=infinite>src=&

【资源】Android学习资料 - 逆天整理 - 精华无密版

 入门看视频,提高看书籍,飘升做项目.老练研开源,高手读外文,大牛讲低调~  极客学院安卓Android全套最新视频教程[17G全套视频+独家源码] http://pan.baidu.com/s/1kT5nSkn 链接: http://pan.baidu.com/s/1jGsyJ0y 密码: btbg 传智播客Java安卓方向就业班全套视频下载 http://pan.baidu.com/s/1eQq4YXG 链接: http://pan.baidu.com/s/1qWA3yyS 密码: p7qj

【资源】IOS学习资料 - 逆天整理 - 精华无密版【最新】【精华】

 入门看视频,提高看书籍,飘升做项目.老练研开源,高手读外文,大牛讲低调~  01.IOS基础 01.iOS开发快速入门教程 http://pan.baidu.com/s/1kT3ScOf 链接: http://pan.baidu.com/s/1kTKheAF 密码: yycm 02.苹果开发零基础入门教程 http://pan.baidu.com/s/1dDfHL77 链接: http://pan.baidu.com/s/1o6iNkIu 密码: nn3a 03.黑马IOS2期基础 http:

如何在网页中插入音频,视频(复制粘贴借鉴的)

三种 分别用<bgsound />.<embed>和<video>标签,当用<embed><video>插入背景音乐时可以设置宽度和高度为0,隐藏播放器,在这里重点说前两者. ■ <bgsound>:<bgsound> 是用来插入背景音乐,但只适用于 ie,其参数设定不多.如下<bgsound src="your.mid" autostart=true loop=infinite>src=&

常见图片、音频、视频格式总结

常见图片.音频.视频格式总结 常见图片音频视频格式总结 常见图片格式总结 图片的有损压缩和无损压缩 PSD格式 JPGJPEG 格式 GIF 格式 BMP 格式 PNG 格式 SWF 格式 CDR 格式 AI 格式 TIFF 格式 SVG格式 EPS格式 DXF格式 TGA格式 HDRI格式 RAW格式 EXIF格式 FPX格式 TGA格式 ICO格式图标 PCX格式 常见音频格式总结 1MP3格式 2WMA格式 3WAV格式 4ASF格式 5AAC格式 6Mp3Pro格式 7VQF格式 8FL

【资源】Java学习资料 - 逆天整理 - 精华无密版【最新】【精华】

入门看视频,提高看书籍,飘升做项目.老练研开源,高手读外文,大牛讲低调~  01.Java基础 01.Java 黑马程序员 http://pan.baidu.com/s/1ntkRhBN 链接: http://pan.baidu.com/s/1eQ5yfUM 密码: 9vad 02.传智播客java基础班 http://pan.baidu.com/s/1pJqmFCB 链接: http://pan.baidu.com/s/1mg7THgc 密码: sved 03.传智播客2014上海java培训

职业卖家淘宝美工教程,掌握技能无师自通 学到的不只是PS(共81节)附素材【无水印版】

职业卖家淘宝美工教程,掌握技能无师自通 学到的不只是PS(共81节)附素材[无水印版]设计传说出品的专业课程是我们资深培训讲师精心录制的,只有视频教程和常用必备的插件,其他绝不掺和,如果你是职业卖家,对淘宝装修一无所知,想在短期内迅速装修店铺,或者培训自己的设计,都可以通过本套课程,系统学习,FW,,DW四个软件在美工领域的全面应用,从一无所知的菜鸟到美工达人,让你更快学会淘宝美工,更专业,更精通.1.1 初识Phtooshop的工作界面1.2 打开关闭文件和查看图像大小1.3 网络图像格式和分

【资源】C++学习资料 - 逆天整理 - 精华无密版【最新】

再失效就太无语了,链接都是多份的~~—————————————————基础——————————————C++环境搭建(全套)http://pan.baidu.com/s/1o6y0smY链接:http://pan.baidu.com/s/1qW3fVTa 密码:2mbr 01.传智播客C++2期基础班http://pan.baidu.com/s/178Acuhttp://pan.baidu.com/s/1i36HXzv链接:http://pan.baidu.com/s/1qWmkZxE 密码:4