android 音视频直播

@Author:明明不说话

@Statement:博客内容纯属个人观点,欢迎转载,转载请注明,谢谢

android 基于rtmp的语音采集和播放

前段时间研究了android使用rtmp协议进行语音采集,以及语音直播,所以,特意记录下来,不正确以及不当的地方,欢迎指正~!

1.采集发送部分

其实有很多方案可以实现该需求(服务器部分都暂时采用RED5):


a.android AudioRecord等(JAVA) + ffmpeg(Native c/c++)

ffmpeg是集成了rmtp的一套开源代码,完全是以C语言实现的,移植起来也是比较方便的,在android上也有很多ffmpeg移植成功的案例,这里可以阅读[雷神关于ffmpeg的博客](http://my.csdn.net/leixiaohua1020),里面包括很多平台对ffmpeg的介绍。(可以用来实现采集和播放)


b.android AudioRecord(Native c/++)+ librtmp(Native c/c++)

因为rtmp最终传送的是一片buffer,而android提供的多媒体类比较难获取audio的buffer,AudioRecord则提供了方便,但是RTMP是采用的Native c/c++代码,所以AudioRecord集成到Native中,通过AudioRecord获取音频数据,然后通过RTMP发送给Red5服务器。


2.接收播放部分

a.android AudioRecord(Native c/++)+ librtmp(Native c/c++)


b.android AudioRecord等(JAVA) + ffmpeg(Native c/c++)

这就是发送的逆向过程

其实这里最主要的是想介绍两个开源的播放项目VLC(完全免费)、Vitamio(学习使用免费),Vitamio其实也是从VLC中抽离集成过来的,而Vitamio在小咖秀、秒拍等应用当中也可以见到其身影。


c.[VLC播放](http://www.videolan.org/)

其实VLC播放起来比较简单,VLC已经将Native代码封装成jni java API供给android调用,传递相应的参数就可以直接播放了。


d.[Vitamio播放](https://www.vitamio.org/)

其实Vitamio和VLC基本类似,所以可以挑选其中一种来学习。


3.服务器部分 RED5

网上有很多RED5流媒体服务器搭建的,可以参考借鉴,因为我对后台也不是很了解,所以都是照网上流程操作验证~----------

述方案其实操作过程中可能涉及到很多问题,其中最主要如JNI开发,后续内容继续做介绍,不正之处,欢迎指正,共同进步,欢乐码农~!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值