webrtc入门之客户端连麦demo-apprtc

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.
webrtc-android-demo-as-project.png

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).
appr.tc-webrtc-server.png

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

AppRTC-android-demo-p2p.png

3,Experience p2p connectivity with webrtc.

AppRTC-connectivity.png

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.com

export PATH=$PATH:~/webrtc/depot_tools

cd ~/webrtc/android/

fetch --nohooks webrtc_android
gclient sync
gclient runhooks

ls
cd src

git new-branch webrtc_compile
git checkout webrtc_compile

echo "--------------compile config:android,arm-----------------"

gn gen out/arm --args='target_os="android" target_cpu="arm"'

echo "-----------------start compiling webrtc---------------------"

ninja -C out/arm

echo "-----------------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 --canary

echo "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.jar

echo "start copying so files"

cp out/arm/libjingle_peerconnection_so.so ../libs/armeabi-v7a/libjingle_peerconnection_so.so

echo "task has finished"
exit 0

# scp /Users/duqian/Downloads/webrtc_arm.sh nonolive@192.168.0.18:/home/nonolive/webrtc/android/

谢,喜欢就分享吧。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
WebRTC(Web实时通信)是一种在Web浏览器和移动应用程序之间实现实时通信的开放标准。它允许通过网络在不同设备之间进行音视频通信,而无需安装额外的插件或应用程序。对于WebRTC客户端和服务端之间需要配合使用。 WebRTC客户端和服务端之间的Demo演示了如何实现基本的音视频通信功能。客户端通常指的是运行在Web浏览器或移动应用程序中的应用,而服务端指的是用于协调和中转音视频数据的服务器。 在这个Demo中,客户端和服务端之间的通信是通过WebRTC的协议进行的。首先,客户端需要获取到本地的音视频流,然后将其通过网络发送给服务端。服务端接收到音视频流后,可以选择将其广播给其他客户端或发送给特定的目标客户端。 实现这个Demo可以使用JavaScript和一些WebRTC库,比如WebRTC API、Socket.io等。客户端需要实现获取本地音视频流、建立与服务端的连接、发送音视频流等功能。服务端需要实现接收客户端的连接、管理连接、广播音视频流等功能。 在演示中,客户端可以选择与其他客户端进行一对一的音视频通信,或者加入到一个多方通信的会议中。客户端可以使用麦克风和摄像头来输入音视频流,服务端负责协调这些流,确保每个客户端都可以接收到正确的音视频数据。 通过这个Demo,我们可以了解到WebRTC的基本工作原理和使用方法。它为我们提供了一个快速搭建实时音视频通信应用的框架,可以在各种Web平台上进行开发和部署。同时,也为我们展示了WebRTC在实时通信领域的潜力和应用前景。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值