asysbang
标题:
WebRtc 记录
[打印本页]
作者:
admin
时间:
2014-7-21 10:01
标题:
WebRtc 记录
==============编译运行环境====================================
http://www.webrtc.org/reference/getting-started
1、安装git 和depot-tools
2、需要vpn
3、同步时间需要很长,一共6G多 其中 third_party/android_tools 就有3.6G
PS:由于电脑很多类库无法安装所以用别人编译好的jar和so
==============apk研究====================================
trunk/webrtc/examples/android/media_demo
这个是一个可以设置对方ip就可以实现(本地)视频聊天的例子
设置里面设置对方ip地址 SettingsMenuFragment.java 中 etRemoteIp
也就是通过 getEngine().setRemoteIp(String ip); 来设置对方的ip
如果获得Engine,WebRTCDemo的onreate函数中mediaEngine = new MediaEngine(this);
不过在engine之前必须进行native注册
// State.
// Must be instantiated before MediaEngine.
contextRegistry = new NativeWebRtcContextRegistry();
contextRegistry.register(this);
之后可以进行engine相关参数的设置
setRemoteIp
setTrace
setAudio
setAudioCodec
setAudioRxPort
setAudioTxPort
setSpeaker
setDebuging
setReceiveVideo
setSendVideo
setVideoCodec
setResolutionIndex
setVideoTxPort
setVideoRxPort
setNack
setViewSelection
开始视频聊天,只需要点击“Main”界面的StartCall
MainMenuFragment.java中
getEngine().start();
setViews();
setViews中,在需要显示的位置添加本地和远程视频的remoteiew
SurfaceView remoteSurfaceView = getEngine().getRemoteSurfaceView();
if (remoteSurfaceView != null) {
llRemoteSurface.addView(remoteSurfaceView);
}
SurfaceView svLocal = getEngine().getLocalSurfaceView();
if (svLocal != null) {
llLocalSurface.addView(svLocal);
}
=========另外一个apk研究==========
http://www.html5rocks.com/en/tutorials/webrtc/basics/?redirect_from_locale=zh
这个apk主要是实现android客户端和web客户端之间的视频,
其中包含了stun和turn 服务器
那么先研究下其实现的流程,然后实现android客户端之间的视频
dispose 时会卡在stopCapture 时因为onincomingFrame 时 占用了apics变量导致不能stop,所以在onincomingFrame时判断,如果已经stop了 就直接返回
https://github.com/GoogleChrome/webrtc
下面有很多例子,其中包括
Multiple peer connections
,可以用这个来创建多人聊天室,或者视频会议
111
欢迎光临 asysbang (http://asysbang.com/)
Powered by Discuz! X2.5