webrtc很强大,但编译起来比较痛苦,源码和工具链下载下来十几G,源码samples里面提供了androidapp项目,只有源码,没有jar包和so库,所以我编译好webrtc,提取出所需的jar包和so文件,并把里面androidapp弄成android studio项目,可以正常编译运行。这个demo实现webrtc连麦,点对点视频通信,对webrtc初学者还是挺有帮助的。以下是关于这个demo的详细信息,英文不是装逼,因为这个源码我分享在了github上面。
WebRTC Demos:webrtc-android-apprtc

This demo is based on WebRTC.
WebRTC is a free, open project.The source code of this demo is based on official samples(src/samples/androidapp). I have compiled webrtc source to get required .so and .jar files, so you can just build it by android studio.

How to build and run?

Please clone this project,build it with android stuido,install the target apk files to your devices

How to start

1,go to website : https://appr.tc/.input your room id(any number).

2,open the apprtc app,input the same room id.

3,Experience p2p connectivity with webrtc.

Future

Maybe I will share more articles about webrtc in the future.

Thanks to WebRTC team!

Dusan’s E-mail: duqian2010@gmail.com

WebRTC Demos:webrtc-android-demo-apprtc

如果对webrtc编译感兴趣,以下是我在linux ubuntu 14.04上编译webrtc所用的命令,希望对你有帮助。

Development

if you try to compile src of webrtc,you’ll depressed
at its large size,the total checkout size will be about 16 GB. and more than 30G after compiled.
for more details about getting source code: https://webrtc.org/native-code/android/

if you have installed all required softwares in linux.
let’s excute cmds like this:

#!/bin/bash
#duqian2010@gmail.comexport PATH=$PATH:~/webrtc/depot_toolscd ~/webrtc/android/fetch --nohooks webrtc_android
gclient sync
gclient runhooksls
cd srcgit new-branch webrtc_compile
git checkout webrtc_compileecho "--------------compile config:android,arm-----------------"gn gen out/arm --args='target_os="android" target_cpu="arm"'echo "-----------------start compiling webrtc---------------------"ninja -C out/armecho "-----------------compile webrtc done---------------------"#ninja -C out/arm AppRTCMobile
#build/android/gradle/generate_gradle.py --output-directory $PWD/out/arm --target "//webrtc/examples:AppRTCMobile" --use-gradle-process-resources --split-projects --canaryecho "start copying jar files"
mkdir ../libs/armeabi-v7a/cp out/arm/lib.java/sdk/android/libjingle_peerconnection_java.jar ../libs/libjingle_peerconnection_java.jar
cp out/arm/lib.java/rtc_base/base_java.jar ../libs/base_java.jar
cp out/arm/gen/modules/audio_device/audio_device_java__compile_java.javac.jar ../libs/audio_device_java__compile_java.javac.jar
cp out/arm/lib.java/examples/androidapp/third_party/autobanh/autobanh.jar ../libs/autobanh.jarecho "start copying so files"cp out/arm/libjingle_peerconnection_so.so ../libs/armeabi-v7a/libjingle_peerconnection_so.soecho "task has finished"
exit 0# scp /Users/duqian/Downloads/webrtc_arm.sh nonolive@192.168.0.18:/home/nonolive/webrtc/android/

谢,喜欢就分享吧。

webrtc入门之客户端连麦demo-apprtc相关推荐

  1. TensorFlow入门:第一个机器学习Demo

    TensorFlow入门:第一个机器学习Demo 2017年12月13日 20:10:23 阅读数:8604 本文主要通过一个简单的 Demo 介绍 TensorFlow 初级 API 的使用方法,因 ...

  2. Android WebRTC 入门教程(二) -- 模拟p2p本地视频传输

    Android WebRTC 入门教程(一) – 使用相机 Android WebRTC 入门教程(二) – 模拟p2p本地视频传输 源码工程: https://github.com/LillteZh ...

  3. anyRTC-语音连麦demo上线

    为了让开发者对连麦互动更有直观的体会,anyRTC上线了语音连麦Demo,让开发者除了了解概念,更能去实际操作,借鉴流程,更容易打造自己的产品场景. 目前anyRTC已经适配了iOS.Androd.W ...

  4. anyRTC视频连麦demo上线啦!

    音频连麦demo一经问世就得到开发者的一致好评,有很多开发者咨询视频连麦的demo该怎么去实现,本着让"视频交付更简单"的理念,我们推出了视频连麦demo! 音视频技术不仅局限用于 ...

  5. ADO.NET Entity Framework 入门示例向导(附Demo程序下载)

    ADO.NET Entity Framework 入门示例向导(附Demo程序下载) ADO.NET Entity Framework 是.Net Framework 3.5 SP1 引入的实体框架, ...

  6. Netty 客户端服务器端通信 demo

    服务端 package com.demo.rpc.netty;import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.*; ...

  7. 【转载】Elasticsearch客户端API使用Demo

    Elasticsearch客户端API使用Demo, 转载自官方文档, 以索引雇员文档为示例, 在命令行使用curl演示了一系列的Restful API操作. 1.索引雇员文档 第一个业务需求就是存储 ...

  8. 客户端服务器通信demo(续) -- 使用二进制协议 (附源码)

    转载连接: http://blog.csdn.net/zhuweisky/article/details/11827797 在网络上,交互的双方基于TCP或UDP进行通信,通信协议的格式通常分为两类: ...

  9. Android WebRTC 入门教程(一) -- 使用相机

    前言,最近在搞网页投屏,发现 WebRTC 的Android 版本较少,这里的话,参考了一些优秀的博客,主要是这个大佬的 https://www.jianshu.com/p/eb5fd116e6c8 ...

最新文章

  1. 关于 TStringList.Assign - 回复 u9cm 的问题
  2. java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer;
  3. 【mybatis mapper XML】自增主键
  4. JavaScript高级程序设计学习(六)之设计模式
  5. ios学习--TableView详细解释
  6. android framework,GitHub - zhaozepeng/Android_framework: android framework 用来快速开发的android框架...
  7. gwt格式_GWT HTTP请求替代方案
  8. linux定时创建文件,linux下如何创建定时任务
  9. django之auth模块
  10. tb计算机存储单位_如何节省数TB的云存储
  11. 数据连接池druid 和 大数据框架druid
  12. python如何高效办公_Python教你高效办公,自制屏幕翻译工具
  13. Python设置默认语言编码
  14. 【JVM】JVM 内联优化
  15. python3 asyncio_asyncio--python3未来并发编程主流、充满野心的模块
  16. 输入法快捷键_关于日语输入法,你需要知道的一切
  17. mysql ipv4转ipv6_从IPv4到IPv6过渡
  18. 读懂用户运营体系:用户分层和分群
  19. 数组公式和普通公式,差别在于思维方式的不同! 要用看数组的方式看待数据
  20. RabbitMQ入门学习笔记

热门文章

  1. 利用MOS管和稳压二极管来做保护电路
  2. 群辉NAS+为知笔记docker定制私有云笔记
  3. 深入理解SD卡:协议
  4. php图片生成邀请函,科学网—如何制作邀请函 - 樊晓英的博文
  5. 湖南方言之王——湘乡话
  6. openwrt源码分析_Luci流程分析(openwrt下)
  7. ukf 在matlab 下的实现,ukf在matlab下的实现
  8. 如何让博文在百度上被搜索到
  9. linux创建新的虚拟环境,并安装指定版本的包
  10. 你想要的宏基因组-微生物组知识全在这(1908)