GithubHelp home page GithubHelp logo

starrtc / starrtc-android-demo Goto Github PK

View Code? Open in Web Editor NEW
3.6K 130.0 908.0 507.1 MB

🚀starRTC,即时通讯(IM)系统,免费IM系统(含单聊,群聊,聊天室,文件传输),免费一对一视频聊天,VOIP,语音对讲(回音消除),直播连麦,视频直播,RTSP拉流,RTMP推流,webRTC服务端,在线教育,白板,小班课,在线会议,视频会议,视频监控,局域网直连(无需服务器),兼容webRTC, 支持webRTC加速,P2P高清传输,安卓、iOS、web互通,支持门禁对讲,可视对讲,电视盒子,树莓派,海思,全志,任天堂switch,云游戏,OTT设备,物联网平台,C语言自研方案,支持二次开发成类微信,类映客等APP,✨万水千山总是情,来个star行不行✨,更多示例请访问:

Home Page: https://docs.starrtc.com/en/download/

free im voip live video video-chat webrtc janus kurento jitsi

starrtc-android-demo's Introduction

starRTC demo for Android

本产品完全免费,并且提供免费的私有部署服务端程序,支持全部功能,并提供第三方拉流、推流功能。

需要我们支持请加QQ群:807242783

如需私有部署,请到如下地址下载:

https://github.com/starrtc/starrtc-server


StarRTC_demo

App下载:

点击下载Android示例程序

IM测试时,除了app之间可以互发消息,app也可以和这个页面互发消息进行测试:

Web IM

一对一视频通话等功能也可以和这个页面测试:

web端测试

纯语音直播间

audio_live

互动连麦直播

多人视频会议

在线教育

pdf文档上传标记直播,白板

edu_pdf

edu_whiteboard

IM演示

轻量级IM,安卓,ios和web互通,支持一对一聊天,群聊,聊天室,公有云免费!

im

P2P直连

不经过服务器直连:

p2p

p2p_calling

门禁对讲

door_calling

树莓派小车

树莓派小车将视频实时传回到操控者的手机上:

https://github.com/starrtc/starrtc-android-demo/raw/master/assets/rpi_car.MP4

物联网硬件

海思arm板采集mac电脑的hdmi信号进行实时录屏直播:

arm_hdmi

arm_hdmi_screen

后台api与数据库

https://github.com/starrtc/starrtc-server/tree/master/server-api

自行部署服务端程序

https://github.com/starrtc/starrtc-server

更多示例

测试小车,人脸识别,在线教育等请参见:https://docs.starrtc.com/en/download/

Contact

QQ群(热):807242783

邮箱:[email protected]

手机: 186-1294-6552

微信:starRTC

更新记录

https://github.com/starrtc/starrtc-android-demo/wiki/Changelog

对比

webRTC vs starRTC: https://github.com/starrtc/starrtc-android-demo/raw/master/assets/webRTC_vs_starRTC.mp4

starrtc-android-demo's People

Contributors

895377235 avatar caimjmumuxi avatar elesos avatar ktomcat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

starrtc-android-demo's Issues

调用superRoomManager?.layDownMic崩溃

打开app默认开启音频然后调用superRoomManager?.layDownMic关闭会崩溃,实际已关闭成功..
开启时默认关闭音频手动打开择无问题

Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x69676e7d in tid 7193

image

可否提供获取用户状态的api

前后端可否提供获取某一用户在线状态的api,比如我知道目标用户的id,使用此id可以获取到此用户目前的在线状态,例如:在线空闲、在线忙碌、离线等。

集群或者服务器中转的问题

请问下,我在同一局域网络下的不同域里,即广域网,部署了几台服务器,我们的视频通话还能否支持?例如“192.168.1.100和100.90.0.1这两个同一局域网里

创建直播的时候,给定了 直播ID 但是创建成功后,返回了另外一个直播间id, 不方便与自己的已有直播记录系统融合

创建直播的时候,给定了 直播ID 但是创建成功后,返回了另外一个直播间id, 不方便与自己的已有直播记录系统融合

XHLiveItem liveItem = new XHLiveItem();
liveItem.setLiveID(liveRoom.getId());
liveItem.setLiveName(liveRoom.getTitle());
liveItem.setLiveType(XHConstants.XHLiveType.XHLiveTypeGlobalPublic);
liveManager.createLive(liveItem, new IXHResultCallback() {
@OverRide
public void success(Object o) {
Log.i(TAG, "success: 创建直播间成功" + o.toString());
liveManager.startLive((String) o, new IXHResultCallback() {
@OverRide
public void success(Object o) {

                    Log.i(TAG, "success: 开始直播完成");
                }

                @Override
                public void failed(String s) {
                    Log.e(TAG, "failed: 开始直播失败" + s);
                }
            });

        }

        @Override
        public void failed(String s) {
            Log.e(TAG, "failed: 创建直播间失败" + s);
        }
    });

一开始,看到直播间创建成功了,但是开始直播就 报错,liveId 无效,后来发现 创建后返回的是直播间id. 并且 与XHLiveItem 给定的直播间id 不一致。

rtmps facebook

hi team, its can direct push to rtmps facebook? if can its will be coolest sdk 👍

webrtc与RTMP流互相转换?

目前国内大部分H5应用都是挂在 微信上面的。微信IOS版本不支持WEBRTC 。

只有小程序支持调用微信SDK的 RTMP协议推流和拉流。

在视频通话接通之前,使用了预览 XHSDKHelper(*),当视频接通的时候,关掉预览,视频通话就不正常了

在视频通话接通之前,使用了预览 XHSDKHelper(*),当视频接通的时候,关掉预览,视频通话就不正常了,,

private void setVideoViewBeforeConnect() {

// xhsdkHelper = new XHSDKHelper();
// xhsdkHelper.setDefaultCameraId(1);
// xhsdkHelper.startPerview(this, previewPlayer);
}

private void setupViews() {
    isTalking = true;
   // xhsdkHelper.stopPerview();
   // previewPlayer.setVisibility(View.GONE);
    voipManager.setupView(selfPlayer, targetPlayer, new IXHResultCallback() {
        //        voipManager.setupView(this,null, targetPlayer, new IXHResultCallback() {
        @Override
        public void success(Object data) {
            Log.d(TAG, "setupView success");
        }

        @Override
        public void failed(String errMsg) {
            Log.e(TAG, "setupView failed");
            stopAndFinish();
        }
    });
}

客户端录音功能

在语音通话、视频通话、小课堂、视频会议等功能中,希望增加客户端录音功能。就像打电话本地可以录音的那种,谢谢。

在安卓端demo的VoipListActivity中有消息通知获得在线用户列表,但是好像实测功能好像没有作用

楼主你好,在安卓端demo的VoipListActivity中有消息通知获得在线用户列表,但是好像实测功能好像没有作用,public void dispatchEvent(String aEventID, boolean success, Object eventObj) {
super.dispatchEvent(aEventID,success,eventObj);
if (aEventID.equals(AEvent.AEVENT_GOT_ONLINE_USER_LIST)){
这端代码就是获取转发消息,用于获得列历史列表中处于在线状态的用户,但是实际测试好像这里没有用。是这样吗?

VOIP(一对一)事件通知的几个问题

1、申请VOIP通话,若返回拒绝,前端那里是否有单独的接口回调提示拒绝?若无,怎么区分出来是自己的服务器拒绝的?
2、申请VOIP通话,现返回格式是{"status":"x"},能否加个字段,拒绝描述或者code,让前端知道被拒绝原因,例如:余额不足、账户已注销等;
3、VOIP通话正在进行中,每1分钟调用一次,通话建立成功的瞬间,此事件通知是否会有?即一个通话时间为0的事件通知;若没有,能否加一个VOIP接通的事件通知?

获取正通话用户列表,支持呼叫队列

1、获取当前正在通话的用户列表
2、呼叫队列或者呼叫挂起,以下情景
A和B正通话,此时C呼叫A,A无法接听C的通话,试验过:
①、A直接接听C,失败;
②、A挂断B,再接听C,失败;
③、A挂断B,挂断后,C再次发起呼叫A,成功;
总结,呼叫的双方都必须处于闲置状态,此时发起呼叫,方可接听成功。

私聊服务器 语音留言

自己架设了私聊服务器, 想用下 和微信语音留言一样的功能, 请问什么时候可以加上 ?

架构

整个项目的一个架构是怎样的?

开启直播,一直报这个错

2019-06-30 18:06:29.964 13595-13595/com.srbl.mytx I/ChatRoomActivity: success: 开始直播完成
2019-06-30 18:06:29.965 13595-13595/com.srbl.mytx I/ChatRoomActivity: onActorJoined: 主播加入了 liveID:Wz@NWuVjcCnMa9Caa4a3MPU_cWun2a7_actorID:b31bf554e4974b3998d4dd7aa495a47b
2019-06-30 18:06:30.068 13595-13595/com.srbl.mytx W/com.srbl.mytx: type=1400 audit(0.0:120458): avc: denied { read } for name="u:object_r:camera_prop:s0" dev="tmpfs" ino=14593 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:camera_prop:s0 tclass=file permissive=0
2019-06-30 18:06:30.080 13595-13595/com.srbl.mytx E/libc: Access denied finding property "persist.camera.cfa.packagelist"
2019-06-30 18:06:30.080 13595-13595/com.srbl.mytx I/CameraManager: Using legacy camera HAL.
2019-06-30 18:06:30.083 13595-13852/com.srbl.mytx E/libc: Access denied finding property "camera.hal1.packagelist"
2019-06-30 18:06:30.229 13595-13851/com.srbl.mytx I/CameraDeviceState: Legacy camera service transitioning to state CONFIGURING
2019-06-30 18:06:30.230 13595-13891/com.srbl.mytx I/RequestThread-1: Configure outputs: 1 surfaces configured.
2019-06-30 18:06:30.247 13595-13895/com.srbl.mytx E/libc: Access denied finding property "persist.camera.legacy_perf"
2019-06-30 18:06:30.251 13595-13595/com.srbl.mytx W/libOpenSLES: Conversion from OpenSL ES positional channel mask 0x4 to Android mask 0 loses channels
2019-06-30 18:06:30.251 13595-13595/com.srbl.mytx I/libOpenSLES: Emulating old channel mask behavior (ignoring positional mask 0x4, using default mask 0x10 based on channel count of 1)
2019-06-30 18:06:30.258 13595-13851/com.srbl.mytx I/CameraDeviceState: Legacy camera service transitioning to state IDLE
2019-06-30 18:06:30.265 13595-13595/com.srbl.mytx W/AudioRecord: AUDIO_INPUT_FLAG_FAST denied by server; frameCount 0 -> 960
2019-06-30 18:06:30.282 13595-13907/com.srbl.mytx E/starrtc_autils: (1917):Error in the syscall setaffinity: mask = -1228920688, err=22
2019-06-30 18:06:30.297 13595-13851/com.srbl.mytx I/RequestQueue: Repeating capture request set.
2019-06-30 18:06:30.315 13595-13891/com.srbl.mytx W/LegacyRequestMapper: convertRequestMetadata - control.awbRegions setting is not supported, ignoring value
2019-06-30 18:06:30.315 13595-13891/com.srbl.mytx W/LegacyRequestMapper: Only received metering rectangles with weight 0.
2019-06-30 18:06:30.318 13595-13891/com.srbl.mytx W/LegacyMetadataMapper: convertAfModeToLegacy - ignoring unsupported mode 4, defaulting to fixed
2019-06-30 18:06:30.319 13595-13891/com.srbl.mytx W/LegacyRequestMapper: convertRequestToMetadata - Ignoring android.lens.focusDistance false, only 0.0f is supported
2019-06-30 18:06:30.393 13595-13896/com.srbl.mytx E/starrtc_autils: (1917):Error in the syscall setaffinity: mask = -1227884656, err=22
2019-06-30 18:06:30.468 13595-13895/com.srbl.mytx I/CameraDeviceState: Legacy camera service transitioning to state CAPTURING
2019-06-30 18:06:30.554 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:30.614 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:30.677 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:30.747 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:30.811 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:30.882 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:30.945 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.012 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.080 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.146 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.212 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.277 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.344 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.409 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.440 13595-13600/com.srbl.mytx I/zygote: Do partial code cache collection, code=506KB, data=383KB
2019-06-30 18:06:31.441 13595-13600/com.srbl.mytx I/zygote: After code cache collection, code=506KB, data=383KB
2019-06-30 18:06:31.441 13595-13600/com.srbl.mytx I/zygote: Increasing code cache capacity to 2MB
2019-06-30 18:06:31.479 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.545 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.613 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.675 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.741 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.810 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.875 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:31.939 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.007 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.073 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.138 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.213 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.271 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.343 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.406 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.471 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.539 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.602 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.669 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.734 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.800 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.868 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.934 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:32.999 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!
2019-06-30 18:06:33.069 13595-13894/com.srbl.mytx E/starrtc_videoRender: (313):gNativeWindowPreviewSmall is NULL !!!

单向视频服务

工作在外考察需要直播给后台,需要单项的视频服务功能
还有看直播不需要检测摄像头

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.