zoukankan      html  css  js  c++  java
  • WebRTC源码下载和编译

    官方文档: http://webrtc.github.io/webrtc-org/native-code/development/

    1.环境准备

    1.1 安装depot_tools

    git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
    

    下载完成后,将它添加到系统的PATH中:

    2. 源码下载

    2.1 下载

    mkdir webrtc
    fetch --nohooks webrtc
    

    接着就是漫长的等待.
    代码拉取完成后,执行:

    gclient sync
    

    设置新分支追踪方式(可选):

    git config branch.autosetupmerge always
    git config branch.autosetuprebase always
    

    建议创建自己分支进行开发:

    cd src
    git checkout master
    git new-branch your-branch-name
    

    2.2 源码更新

    git checkout master
    git pull origin master
    gclient sync
    git checkout my-branch
    git merge master
    

    3. 编译

    如果是在Linux((Ubuntu/Debian))上需要运行

    ./build/install-build-deps.sh
    

    如果是windows下,需要仿照chromiu编译设置:https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md .

    默认使用ninja编译系统.
    和编译chromium一样,先要设置编译参数:

    #gn gen out/Default
    gn gen out/Default --args='is_debug=false'
    

    可以使用gn clean out/Default清理编译中间产物.

    编译:

    ninja -C out/Default
    

    可以通过GN了解更多选项.

    android平台请参考: http://webrtc.github.io/webrtc-org/native-code/android/ .
    ios平台参考: http://webrtc.github.io/webrtc-org/native-code/ios/ .

    编译:

    ninja -C out/Default
    

    4. 应用实例

    WebRTC包含了一些应实例,你可以在src/webrtc/examplessrc/talk/examples目录下找到它们. 更高级别应用列在最前面.

    Peerconnection

    Peerconnection包含两个使用WebRTC Native APIs的应用:

    • peerconnection_server是服务端应用;
    • peerconnection_client是客户端应用(目不支持Mac/Android).

    客户端程序具简单的语音和视频功能.通过服务端,客户应用可以通过由客户端生成信令(signaling)来管一个会话(call).

    peerconnection_clients之间建立p2p连

    启动peerconnection_server,你可看如下所示的运行状态表面它正在运行:

    Server listening on port 8888
    

    启动任意数量的peerconnection_clients,并连接服务器.客户端UI包含一下几个部分:

    • Connecting to a server: 当启动应用程序时,你必须指定服务器应用运行主机(通过IP地址).一旦做到这一点,你可以按Connect或者return按钮.
    • Select a peer: 一旦成功连接到服务器,你可以通过双击或者选择对端的名字进行连接;
    • Video chat: 当成功连接到一节点,视频聊天将显示在整个窗口.
    • Ending chat session: 按Esc. 你将回到选择对端节点.
    • Ending connection: 按Esc,你现在可选择你要连接的服务器.
    • Testing peerconnection_server: 运行一个peerconnection_server实例.在你的浏览器中打开src/webrtc/examples/peerconnection/server/server_test.html.点击Connect.观察该peerconnection_server公布的连接信息。打开另一个相同页面的tab,也连接它(使用不同的名字),现在可以在所连接的节点间交换消息.

    Call App

    call(currently disabled),使用Libjingle建立call应用.

    Relay Server

    relayserver, 为不能直接建立p2p连接的场景提供中继.可在上面的Call应用中使用.

    STUN Server

    stunserver, 实现了STUN协议,提供NAT穿透.

    TURN Server

    turnserver, 在单元测试中使用.

  • 相关阅读:
    JAVA基础总结(二)
    JAVA基础知识-关键字
    JAVA SE基础知识
    (七)uboot NFS启动
    (六)uboot引导启动内核
    U_boot 的 bootcmd 和bootargs参数详解
    uboot报错
    制作uImage
    配置内核支持NFS启动文件系统
    在内核中增加对yaffs文件系统的支持
  • 原文地址:https://www.cnblogs.com/xl2432/p/13137531.html
Copyright © 2011-2022 走看看