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