android 音视频直播
2015-11-30 22:06
435 查看
@Author:明明不说话
@Statement:博客内容纯属个人观点,欢迎转载,转载请注明,谢谢
android
前段时间研究了android使用rtmp协议进行语音采集,以及语音直播,所以,特意记录下来,不正确以及不当的地方,欢迎指正~!
a.android
ffmpeg是集成了rmtp的一套开源代码,完全是以C语言实现的,移植起来也是比较方便的,在android上也有很多ffmpeg移植成功的案例,这里可以阅读[雷神关于ffmpeg的博客](http://my.csdn.net/leixiaohua1020),里面包括很多平台对ffmpeg的介绍。(可以用来实现采集和播放)
b.android
因为rtmp最终传送的是一片buffer,而android提供的多媒体类比较难获取audio的buffer,AudioRecord则提供了方便,但是RTMP是采用的Native
c/c++代码,所以AudioRecord集成到Native中,通过AudioRecord获取音频数据,然后通过RTMP发送给Red5服务器。
a.android AudioRecord(Native
b.android AudioRecord等(JAVA)
这就是发送的逆向过程
其实这里最主要的是想介绍两个开源的播放项目VLC(完全免费)、Vitamio(学习使用免费),Vitamio其实也是从VLC中抽离集成过来的,而Vitamio在小咖秀、秒拍等应用当中也可以见到其身影。
上述方案其实操作过程中可能涉及到很多问题,其中最主要如JNI开发,后续内容继续做介绍,不正之处,欢迎指正,共同进步,欢乐码农~!
@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是采用的Nativec/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开发,后续内容继续做介绍,不正之处,欢迎指正,共同进步,欢乐码农~!
相关文章推荐
- Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)
- 正则表达式匹配日期格式yyyy-mm-dd(支持闰年)
- Android之AutoCompleteTextView控件使用
- 有符号数转无符号数
- Fedora 23建立wifi热点(Android手机可用)
- 【Android】RecyclerView的OnItemClickListener点击事件处理
- Android代码混淆常见配置
- android的EditText重新获取焦点问题
- Android 中 Handler 内存泄露解决办法实例
- 九宫格解锁可用修改版
- 胖虎谈ImageLoader框架(三)
- “私人订制”——栏目管理中算法的使用
- android 学习Layout布局的使用
- Android textView属性说明
- 屏幕分辨率单位转换详解
- AlertDialog&ProgressDialog几种形式
- 【风马一族_Android】Android 前端内容1
- PackageManager 获取系统安装包信息
- ActivityManager 获取系统进程信息
- Android获取手机存储空间大小