通信人家园

标题: 3G Video 安装配置(CentOS,E1,FFmpeg)  [查看完整版帖子] [打印本页]

时间:  2010-6-14 11:53
作者: chinavas     标题: 3G Video 安装配置(CentOS,E1,FFmpeg)

昨天转贴了一个法语版的Asterisk 3G Video 安装指南《La video sous Asterisk (UMTS/3G)》 ,用的是Debian操作系统,其实那个文章去年已经有人翻译后略作修改,成了一篇地地道道的软文;虽然该译文在版权上有不道德行为,无论如何,译者还是花费了很大功夫的,毕竟法语版的好难懂呀。不过我想说的是,按照那篇文章安装是有很多问题的,比如译者号称在北京做了测试,测试环境却写得是SFR和ORANGE两个运营商,真牛啊…… A`U2HC   
        这里写一个在CentOS操作系统下面用E1数字中继卡,安装配置Asterisk、zaptel、Chan_ss7(七号信令)、libpri (改进的PRI信令)、libh324m、FFmpeg、mpeg4ip等软件,进行3G Video IVVR开发的详细过程。已经顺利接入过4家运营商了(绝对不是SFR和ORANGE这两个遥远的运营商。) @j8L{FGnN  
        我们测试过3G终端和3G手机品牌有: "YvBb:Z>  
        索爱Sony  ericsson  4}YT@={g}  
        诺基亚Nokia z^GGJu%vjr  
        三星Samsung Anycall *x` l1o  
        HTC  (软件对HTC手机视频的支持有问题,需要修改代码,内行的人一看测试过HTC,就应该了解) owVUL~  
        摩托罗拉Moto 4a-F4j'  
        LG RKZk/ly  
1、为什么用CentOS  ]mU*Y:<  
        CentOS的标志比较帅,字体也好看,这是毋庸置疑的吧? kK6>>lD'  
        下面说的这段话可能会引起开源阵营的争论:Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。CentOS就是前者RHEL的免费版本,全名为"社区企业操作系统"(Community Enterprise Operating System),是最受欢迎的服务器操作系统,为什么广受服务器欢迎呢?稳定,稳定压倒一切呀。 w8@|b}  
        不过,后面这句话肯定不会引起争议:CentOS对Asterisk的支持无疑是超越其他Linux发行版的,你看著名的Asterisk开源通信软件发行版本,比如Trixbox,Elastix,都是基于CentOS的。 2"K~:Tm#w  
2、安装Asterisk,zaptel,libpri,Asterisk-addons,chan-ss7 2Yf;b9-k  
      关于怎么安装这些软件,请参考本站其他的文章,比如Asteirsk知识库里的十几本书籍,几乎每本书都详细地讲述了怎样安装。关于软件版本,我只讲我的版本。 Xg#([}b  
        Asteisk 1.4.21 (NV=YX?s  
        libpri-1.4.7 PvCE}bY{}  
        zaptel-1.4.11 (也可以安装DAHDI,测试和实际运行的结果是一样的稳定) vu \Dx9  
        asterisk-addons-1.4.11 ]h8V{%H  
        chan-ss7-1.1 (据说chan-ss7 1.0版本之前是不支持3G视频的)  } R6h  
3、下载Video软件并安装 C&" 2`ll  
        众所周知的http://sip.fontventa.com/站点现在已经不再提供软件下载和帮助信息,官方给出的解释是:“Due to a server problem the web is currently down ”。 cO+`8`kv  
        现在要下载软件和获取帮助,得去http://asteriskvideo.sourceforge.net/ s*WfRY*=V  
        下载软件之前,首先我们要感谢项目作者,西班牙的Sergio Garcia Murillo(塞尔吉奥.加西亚.),呵呵,想《把信送给加西亚》吗?  ?wY.B  
        OK,假设你下载了所有软件,并把软件放到asteriskvideo这个目录下。 '.<"jZ  
        先安装libh324m,顾名思义,这个就是h324m的库文件。 m 1;jS|  
引用
cd asteriskvideo/libh324m ]<= t  
         make 9R3=h5Y  
         make install @vh>GiR){  
         cp libh324m.so /usr/lib/ Zt=X %M|aw  
         cp asteriskvideo/libh324m/include/h324m.h ../asterisk-1.4.21.2/include/
o(qmI /h  
        注意:make install默认是放到 /usr/local/lib 下面的,所以必须拷贝到/usr/lib 或者修改 /etc/ld.so.conf d(XWt;KK  
        运行ldconfig更新库文件缓存 _m-r}9au   
引用
ldconfig
$!@f{9+  
        然后运行ldconfig -p察看libh324m是否安装成功 \I]'6N=  
引用
ldconfig -p|grep h324m
WI3!?>d  
        如果成功,可以看到如下信息
引用
libh324m.so (libc6) => /usr/lib/libh324m.so
F6/bq/s  
4、安装AMR语音编码 Az[z} r4  
        AMR编码大家肯定不陌生了,手机铃声最常用的格式之一!既然这么常用,Asterisk为什么不包含这个语音编码格式?就跟G.723,G.729一样,AMR也是有版权的,所以在这里也提醒一下AMR的知识产权问题:下面从3gpp组织下载的代码是有版权的,并非免费开源。 Y8T.RS0  
引用
cd asterisk-1.4.21.2 2F(j=uV+  
patch -p0 < ../asteriskvideo/amr/amr-asterisk-patch.txt z_)$g= 9$  
cd codecs _De;SB %V  
ln -s ../asteriskvideo/amr/amr_slin_ex.h .  O(!'V~3  
ln -s ../asteriskvideo/amr/slin_amr_ex.h . b`mEnI VIz  
ln -s ../asteriskvideo/amr/codec_amr.c .  VM`."un]  
mkdir amr f?QD##~;  
cd amr 4M}/PoJ  
wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-700.zip P^UcpU,  
unzip -j 26104-700.zip S{ !hpq~o  
unzip -j 26104-700_ANSI_C_source_code.zip RA}PM?D/  
ln -s ../asteriskvideo/amr/Makefile .  
Up:#Zs2  
    修改配置文件:/etc/asterisk/codecs.conf cQjJ9o7  

复制代码
  • [amr]
  • octet-aligned=1

:L,]<n  
5、安装mpeg4ip支持库 X 'Oo ogu  
        mpeg4ip是一个开源的多媒体项目,它提供一个端对端的系统来实现音视频流的传输, 支持包括MPEG4/H.261/MPEG2/H.263/ MP3/AAC/AMR等不同编码格式。安装方法如下: %zGPF  
引用
cd /usr/src/
m(Oup=\%b}  
wget http://heanet.dl.sourceforge.net/sourceforge/mpeg4ip/mpeg4ip-1.5.0.1.tar.gz $[d}g  
tar xfvz mpeg4ip-1.5.0.1.tar.gz f' eKX7R  
cd mpeg4ip-1.5.0.1 "3K0 wR5  
./bootstrap /cg!Ap5  
./configure --disable-player --prefix=/usr --disable-x264 aPbHrk*/  
make q+ .=f.+Z  
make install
eu~ ;G H  
6、安装FFmpeg  (mzyA%;W  
        FFmpeg是一个用来记录、转换数字音频、视频,并能将其转化为媒体流的开源软件。它包括了目前领先的音/视频编码库libavcodec。其实,相当多的多媒体播放软件都采用了其中的开源代码,Google谷歌,SONY索尼,Youtube等著名品牌都采用了FFmpeg技术。 7M4iBk4I  
        国内很多做视频、音频、流媒体、多媒体的商业公司也采用了FFmpeg的技术,大多对此讳莫如深。在FFmpeg的耻辱名单里,赫然列着QQ影音和暴风影音的大名。 *Hs5MXNu  
        FFmpeg是在Linux下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译。这个项目是由Fabrice Bellard发起的,现在由Michael Niedermayer主持。可以轻易地实现多种视频格式之间的相互转换,例如可以将摄录下的视频avi等转成现在视频网站所采用的flv格式。 uaS?y1: c  
        若要做3G视频开发,怎少得了FFmpeg呢? dCinbAQ  
引用
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
n4ISHxM  
cd ffmpeg *2 [r?!  
mkdir /usr/include/ffmpeg/ )t|M)zJ  
cp libswscale/swscale.h /usr/include/ffmpeg/ F:n7yey  
./configure --enable-gpl --enable-libgsm --enable-libxvid --enable-libamr_nb --enable-libmp3lame --enable-libvorbis --enable-libfaac --enable-libfaad --enable-shared --enable-nonfree R8mL|Vb|  
make 8garRB{  
make install
\E n^Vf  
7、安装application H324 gatewayapp_mp4app_rtspapp_ transcoder  j_k!9"bt  
        现在要安装几个主要的Application应用了。 wE'~Qj  
引用
cd asterisk-1.4.21.2/apps
i`X/d=  
cp ../asteriskvideo/app_h324m/app_h324m.c . >1W)J3  
cp ../asteriskvideo/app_mp4/app_mp4.c . UF?qL1w  
cp ../asteriskvideo/app_rtsp/app_rtsp.c . Qax=_[r  
cp ../asteriskvideo/app_transcoder/app_transcoder.c . U1I2+;"#A  
vi Makefile
,XR1N$LN8_  
        编辑Makefile文件 |'.\}xt7  
'?4B0=  
_pL:dKfy7  

复制代码
  • -include ../menuselect.makeopts ../menuselect.makedeps
  • MENUSELECT_CATEGORY=APPS
  • MENUSELECT_DESCRIPTION=Applications
  • # Add by http://www.51asterisk.com
  • app_h324m.so : app_h324m.o
  •       $(CC) $(SOLINK) -o $@ ${CYGSOLINK} [    wind_phpcode_1    ]lt; ${CYGSOLIB} -lh324m
  • app_mp4.so : app_mp4.o
  •       $(CC) $(SOLINK) -o $@ ${CYGSOLINK} [    wind_phpcode_1    ]lt; ${CYGSOLIB} -lmp4 -lmp4v2
  • app_transcoder.so : app_transcoder.o
  •       $(CC) $(SOLINK) -o $@ ${CYGSOLINK} [    wind_phpcode_1    ]lt; ${CYGSOLIB} -lavcodec
  • # Above is added by http://www.51asterisk.com

        重新编译安装Asterisk。
引用
jruwdm^  
cd .. \Gg6&:Ua  
./configure z]K:Amp;Z  
make U8 '}(  
make install
bs/Vn'CE  
        然后修改 sip.conf 的 [general] 项: 4;=+q b  

复制代码
  • videosupport=yes
  • disable=all
  • allow=ulaw
  • allow=alaw
  • allow=h263
  • allow=h263p

  bu$YW'  
        这些修改让SIP通道可以支持视频Video。 VBo=*gn,$  
8、安装app_mixer   $9bLD >.  
        app_mixer可以实现比较稳定的2X2分屏,也可以演示3X3分屏,预留了其他分屏方式,比如1+5等。说实话,这个app_mixer应用只能用作测试和演示用,软件原作者sergio也强调,app_mixer仅仅作为演示用。至于存在什么问题,用者自知吧。
bL-+  
  _TEjB:9eY  
        把app_mixer.c文件拷贝到Asterisk的apps目录,在Makefile增加下面的内容: `)?N7g[\u  

复制代码
  • app_mixer.so : app_mixer.o
  •     $(CC) $(SOLINK) -o $@ ${CYGSOLINK} [    wind_phpcode_3    ]lt; ${CYGSOLIB} -lmcuclient

v[57LB  
        重新编译安装Asterisk
t>Lq "]1  
9、结束语 ~HBQQt  
        至此我们已经安装配置好了Asterisk 3G Video视频平台。是不是有些迫不及待地想要开展3G视频IVVR业务了呢?在以后的文章里,我们会进一步讲解怎样设计3G视频IVVR业务流程。  "Rc Ny~  
, Ox$W  
        本文所提到的所有软件均为开放源代码,且可以从Internet上自由下载,如果您有意进一步了解,我们乐意有偿提供咨询服务,请写邮件给我们 swordsman # 163.com (#替换为@)





通信人家园 (https://www.txrjy.com/) Powered by C114