Android基于OpenSL ES,Speex,RTMP的Voip客户端实现

之前有个基于java和jni共同实现的版本,juv需要授权,语音数据在java层和jni层不停互转。

这个版本,完全在jni层实现,java只处理方法调用和事件回调。

OpenSL ES,从API 9开始支持的技术,通过这个标准,Android已经完全可以在native层采集和播放音频。 继续阅读“Android基于OpenSL ES,Speex,RTMP的Voip客户端实现”

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: Android基于OpenSL ES,Speex,RTMP的Voip客户端实现

编译windows版nginx-rtmp-module

>>>>>整合版,一键运行,点我<<<<<

准备工作

要在 Microsoft Win32??平台上编译Nginx你需要:

  • Microsoft Visual C compiler. Microsoft Visual Studio??8 and 10 are known to work.(用来编译)
  • MSYS.(执行配置脚本)
  • Perl, if you want to build OpenSSL??and nginx with SSL support. For example?ActivePerl?or?Strawberry Perl.(注意这里不能使用MSYS的perl)
  • Mercurial?client.(通过HG下载最新源码)
  • PCRE,?zlib?and?OpenSSL?libraries sources.(PCRE用来重写url,zlib支持页面压缩,这里编译rtmp模块,必须编译出openssl)
  • win32版nginx-rtmp-module模块源代码

编译步骤

在开始之前,你需要将Perl,Mercurial,MSYS bin目录加入PATH环境变量,也就是打开cmd,输入perl,hg,bash不会提示找不到命令.运行vcvarsall.bat或者叫Visual Studio命令提示(2010). 继续阅读“编译windows版nginx-rtmp-module”

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 编译windows版nginx-rtmp-module

使用ffmpeg-1.0内置RTMP协议实时解码H264视频流

正在做一个基于RTMP+H264的手机端实时视频流项目。
按以前的方案需要分别用librtmp/JUV和opencore的H264解码库实现。
在进一步了解FFmpeg后,决定全部使用ffmpeg来实现。
当然,在手机客户端上,多余的解码库是不需要的。因此需要对ffmpeg精简配置,最终jni代码编译链接libavcodec.a?libavformat.a ?libavutil.a?libswscale.a 后的so大小控制在1.2M左右,打包到apk后压缩到456k。
配置如下

继续阅读“使用ffmpeg-1.0内置RTMP协议实时解码H264视频流”

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 使用ffmpeg-1.0内置RTMP协议实时解码H264视频流

Android通过JUV+Red5+Speex实现网络语音聊天(二)

离写上篇快4个月了,近期整理了下,写了个Demo,过段时间补上说明,先看代码吧。
还没有搭好服务端,可以看看这篇
2012/10/8申请的key,30天过期了自己再去申请。
操作如图 😀

继续阅读“Android通过JUV+Red5+Speex实现网络语音聊天(二)”

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: Android通过JUV+Red5+Speex实现网络语音聊天(二)

Android通过JUV+Red5+Speex实现网络语音聊天(一)

本例严重过期,并且使用了不开源且收费的库
请尝试最新开源版:
Android基于OpenSL ES,Speex,RTMP的Voip客户端实现
iOS版:
iOS基于Audio Queues,Speex,Rtmp的Voip客户端

—————-仅供参考请勿用于项目———————–
先说下实现原理,手机采集到语音后进过Speex编码,通过juv以直播形式发布自己的语音流到red5,也是通过juv播放对方的直播流,经过Speex解码后输出到扬声器,如下图:

Android  voip  流程图
Android端采集编码和解码播放Speex,参考android-recorder,至于他用的red5客户端,看了下,没看明白。。。
核心代码如下:

继续阅读“Android通过JUV+Red5+Speex实现网络语音聊天(一)”

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: Android通过JUV+Red5+Speex实现网络语音聊天(一)

安装配置Red5 Server 1.0 RC1 (二)

看这篇文章,请保证你的Red5已经成功运行,如果有问题,请看上篇。

继续回到之前的demo页,第二项有个?Admin Panelred5 admin Panel?View demo
如果你安装了AIR环境,也可以尝试后面那个版本。 继续阅读“安装配置Red5 Server 1.0 RC1 (二)”

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 安装配置Red5 Server 1.0 RC1 (二)

安装配置Red5 Server 1.0 RC1 (一)

在做完一个基于RTMP的音视频通话软件后,想深入了解下RTMP协议的实现。
项目的服务器环境是FMS,这里,对另一种开源的服务端 Red5做个了解。

需要Jre环境。

下载最新版1.0 RC1?http://trac.red5.org/downloads/1_0/setup-Red5-1.0.0-RC1.exe
安装,在过程中会需要输入服务器IP和HTTP访问的端口号。

安装完毕,运行安装目录下的?red5.bat 一闪而过。OK,用cmd运行。发现报一下错误:

google一番后知道,需要删除lib目录继续阅读“安装配置Red5 Server 1.0 RC1 (一)”

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 安装配置Red5 Server 1.0 RC1 (一)