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

由于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....

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值