现在的位置: 首页 > 综合 > 正文

基于feng streaming server 搭建Android直播测试平台

2012年03月07日 ⁄ 综合 ⁄ 共 1445字 ⁄ 字号 评论关闭

由于Android 不像iPhone有http live streaming的端到到方案(方便提供海量服务),暂时用开源的feng(http://lscube.org/feng,支持mp4(H264+AAC))搭建一个RTSP/RTP直播服务器用来测试,feng相对于darwin、live555等流媒体服务器的优势很容易增加新的媒体文件解析器,按照其中demux_avf.c结构利用ffmpeg API就可以demux出不同container媒体文件(如avi,3gp,mov),将音视频数据分别传到客户端。

1. 先安装feng streaming server的依赖库

1) 安装glib-2.20.0 , ./configure --prefix=/usr  && make && sudo make install

2) 安装AAC的编解码faac/faad2 (http://www.audiocoding.com/downloads.html) ./configure --prefix=/usr , make && make install

3) 安装ffmpeg-0.6 ./configure --prefix=/usr --enable-libfaac --enable-gpl --enable-libfaad --enable-nonfree CXXFLAGS=-D__STDC_CONSTANT_MACROS ,  make && sudo make install

4) 安装libev-4.01, ./configure=prefix=/usr make & sudo make install

5) 安装netembryo-0.1.1, ./configure --prefix=/usr make &make install

 

2. 安装feng-2.1.0_rc1.和 flux-1.1 ( ./configure --prefix=/usr , make & make install )

feng 负责RTSP/sdp/RTP协议解析和音视频数据的RTP封包工作,flux负责RTP直播流的管理,如将摄像头的实时数据流映射到某个端口上去,flux -c udp://2900*live*mq:///audio -c udp://2902*live*mq:///video

 

3.启动feng, 如果传输媒体文件,直接把文件放到/usr/var/feng/avroot

sudo feng -v 出现如下信息表示启动成功:

feng - Feng 2.1.0_rc1
 LScube Project - Politecnico di Torino
[Fri Dec 24 00:05:04 2010] Listening to port 554 (TCP) on all interfaces
[Fri Dec 24 00:05:04 2010] [warning] Cannot get group feng id, Success
[Fri Dec 24 00:05:04 2010] [warning] Cannot get user feng id, Success
1)先用vlc播放器测试下RTSP连接:

就可以通过feng的log信息清晰的看到RTSP协议控制完整流程(OPTIONS,DESCRIBE,SETUP,PLAY),其中OPTIONS阶段主要是通过sdp协议传递媒体参数信息,如h264的payload type=96(a=rtpmap:96 H264/90000)

2)在客户端可以用Android 的测试程序(通过VideoView控件实现媒体播放器)开始播放

 

updating....

抱歉!评论已关闭.