Coder Social home page Coder Social logo

apprtcdemo's People

Contributors

hoanghiephui avatar njovy avatar renyuzhuo avatar samuelmarks avatar youjeongpark 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

apprtcdemo's Issues

Best approach to access preferences from AsyncHttpURLConnection.

I am using an authentication token in the header of the AsyncHttpURLConnection request.

Right now it is hardcoded but I'm trying to move it to preferences same way as the proposed TODO for glaznev.

I already have everything setup in preferences but I'm not sure what the best approach to access preferences from this non-activity class would be. Dragging the application context or the PreferenceManager all the way through WebSocketRTCClient -> RoomParametersFetcher -> AsyncHttpURLConnection seems to cumbersome.

WebSocket Error

When i build the appRTC , and come in room, and i will get the following message

10-27 13:52:45.805 31717-7266/com.via.rtc E/de.tavendo.autobahn.WebSocketReader﹕ javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x6082d8c0: Failure in SSL library, usually a protocol error
error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version (external/openssl/ssl/s23_clnt.c:744 0x5d866d74:0x00000000)

Do you have any idea about this message :'(

Running as a Service

I want to add ability to keep call in background without being killed.
I am trying to convert the code to a service. Could use some help
thanks.

disconnect when connection lost

Now if network connection was lost user disconnected from room.
How I can implement behaviour with reconnection timeout ?

How to get the remote audio data?

Hello.I download the WebRTC source code and compiled it for Android.
The client is working fine. I want to get hold of the raw audio data that is received from the remote end.
I see the MediaStream class in the Java level and found that it does have various Audio track parameters but couldn't find a way to get hold of the buffer itself.
Appreciate if any body has a clue as to how to access the audio buffer received from the remote end.

Thanks

Error on debugging: Installation failed with message INSTALL_FAILED_NO_MATCHING_ABIS.

Sorry, I am new to Android Studio, which is the latest version 1.4. I met the following error when I tried to debug the app after successful building:


Installation failed with message INSTALL_FAILED_NO_MATCHING_ABIS.
It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.

WARNING: Uninstalling will remove the application data!

Do you want to uninstall the existing application?


I continued and I tried again and again and I still met this message.

BTW, if possible, please publish the APK file also, so that anyone can try the APK at first.

Unable to stream Surface

Setting Screen capture enable always returns room full. Any solution for this?
How do you obtain & write bytes to the pointer? If I want to use this Library where would I write bytes? some documentation will be very helpful.

Not working on 2g

Hi,
I am trying to make it work on 2g or lower bandwidth networks (my signaling - xmpp works and I am getting ice candidates and sdp). All I am getting is black screen and no voice.
Are there any optimizations you guys can recommend? I can think of few now but not sure if it works:

  1. I am using turn server from bistri. I am thinking of setting up my own turn server restund or coturn which are collocated to my current location. Again I am not sure how well they perform on virtual machine where there is some delay.
  2. Changing audio codec to ilbc since it is much better for low bandwidth.

Are there anything else you guys can recommend.

Peerconnection factory is not created

i added the code in my app and made everything accordingly with different package name i am getting this error Peerconnection factory is not created

how can i solve this error?

PeerConnectionFactory Null

When i build the appRTC , and come in room, and i will get the following message

if (factory == null || isError) { Log.e(TAG, "Peerconnection factory is not created: " + "factory: " + factory + " - isError: " + isError); return; }

E/PCRTCClient: Peerconnection factory is not created: factory: null - isError: false

class not found org.webrtc.surfaceViewRenderer

Is there a "how to" manual of this project?

I git - clone the project, and without any change, try to compile in window's android studio for testing and i got this error:

ClassNotFoundException: Didn't find class "org.webrtc.SurfaceViewRenderer" on path: DexPathList[[zip file "/data/app/org.appspot.apprtc-2/base.apk"],nativeLibraryDirectories=[/data/app/org.appspot.apprtc-2/lib/arm64, /vendor/lib64, /system/lib64]]

Any solutions?

( dialogic xms server )SDP exception inside onRemoteDescription on peerConnectionClient.setRemoteDescription(sdp);

Hello i am trying to make a call on Dialogic WebRTC demo , when i a create offer the call is received and everything is Ok

but i get the sdp and i try to set the remote desc (peerConnectionClient.setRemoteDescription(sdp);)

i get exception whether on receiving offer
07-29 13:31:07.402 7137-7290/com.koa.test W/libjingle﹕ max-bundle specified without BUNDLE specified
07-29 13:31:07.402 7137-7290/com.koa.test E/libjingle﹕ Failed to set remote offer sdp: Failed to create channels.
07-29 13:31:07.402 7137-7290/com.koa.test E/PCRTCClient﹕ Peerconnection error: setSDP error: Failed to set remote offer sdp: Failed to create channels.

and when receiving Answer

sdp WRONG_CONTENT exception.

AppRTCDemo Android POST 405 Method Not Allowed

I'm trying to use apprtc Android.

If I remove the https://appr.tc address and insert the IP address of my server I get the following error:

09-09 16:39:05.327 13569-19172/org.appspot.apprtc E/RoomRTCClient: Room connection error: Non-200 response to POST to URL: http://XX.XXX.XXX.XXX:8083/r/45048692 : HTTP/1.1 405 Method Not Allowed
09-09 16:39:05.327 13569-19172/org.appspot.apprtc E/WSRTCClient: Non-200 response to POST to URL: http://XX.XXX.XXX.XXX:8083/r/45048692 : HTTP/1.1 405 Method Not Allowed

So if I try to replace POST with GET, the error is as follows:

09-09 16: 44: 48,371 13569-24617 / org.appspot.apprtc E / WSRTCClient: Room JSON parsing error: org.json.JSONException: Value <! DOCTYPE of type java.lang.String can not be converted to JSONObject

Unfortunately I can not fix this, the information found on the web or are old or do not solve my problem

failed to connect to stun.l.google.com/74.125.200.127 (port 19302) after 20000ms

Dear
It is not connected with STUN server. When i trying to connect with STUN server it raised java.net.SocketTimeoutException exception.

logcat:

09-27 10:25:23.250  30456-30628/healysta.tenwave.com.doctor I/System.out﹕ [socket][3:43587] exception

09-27 10:25:23.251 30456-30628/healysta.tenwave.com.doctor I/System.out﹕ [CDS]close[43587]

09-27 10:25:23.252 30456-30628/healysta.tenwave.com.doctor E/AsyncHttpURLConnection﹕ Socket connection timeout exception is java.net.SocketTimeoutException: failed to connect to stun.l.google.com/74.125.200.127 (port 19302) after 20000ms

09-27 10:25:23.253 30456-30628/healysta.tenwave.com.doctor E/RoomRTCClient﹕ Room connection error: HTTP POST to https://stun.l.google.com:19302/f1396bd8-e079-4237-b244-1a394c3ba96c timeout

09-27 10:25:23.253 30456-30628/healysta.tenwave.com.doctor E/WSRTCClient﹕ HTTP POST to https://stun.l.google.com:19302/f1396bd8-e079-4237-b244-1a394c3ba96c timeout

Please tell me what should i do to connect it with STUN server.

Thank You
Banti kumar

Recording video chat

Hello,
I download the WebRTC source code and compiled it for Android.Can anyone guide me to record both local or remote screen?

Many to many WebRTC

Hello,

I am studying your example and I have a question. How can I use this example to implement Many to Many WebRTC connection, if possible of course?

Thanks

"libjingle_peerconnection_so.so" has unexpected e_machine: 40

After the update to the latest WebRTC version , I can't run the app on 86X emulators anymore .
I always get this error :

java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/webrtcandroid-2/lib/x86/libjingle_peerconnection_so.so" has unexpected e_machine: 40
at java.lang.Runtime.loadLibrary(Runtime.java:372)

Is it a problem with the build?

how to tell when other user called stopVideoSource ?

I'm integrating this project into my app with few changes,
One of them is that i open the call as audio call and than switch to video call when the user asks.
the problem is i cant tell when the person i am talking to switches to audio and vice versa.
thanks.

remote video in ios client became frozen when the remote side has new apprtc for android

Hi

We are using https://github.com/ISBX/apprtc-ios alongside https://github.com/njovy/AppRTCDemo/commits/master to have video calls between android and ios devices.

we updated android client recently so we have three kind of clients: latest android client, previous android client and latest ios client.

latest ios vs latest ios ok
previous android vs previous android ok
previous android vs latest ios ok
latest android vs latest android ok
latest android vs previous android ok
latest android vs latest ios not ok

after updating android client to latest version, remote video on ios device became frozen after some seconds when talking with latest android client. remote audio and local video has no problem. remote video on android client has no problem.

any idea?

p.s. I posted this issue in both repositories

This App is not running in Android Kitkat 4.4 while working fine in Android 6.0

09-26 12:32:58.096 15630-17914/org.appspot.apprtc D/de.tavendo.autobahn.WebSocketConnection: fail connection [code = INTERNAL_ERROR, reason = WebSockets internal error (java.lang.NullPointerException)
09-26 12:32:58.096 15630-17914/org.appspot.apprtc D/de.tavendo.autobahn.WebSocketReader: quit
09-26 12:32:58.096 15630-17956/org.appspot.apprtc D/de.tavendo.autobahn.WebSocketWriter: WebSocket writer ended.
09-26 12:32:58.096 15630-17914/org.appspot.apprtc D/WSChannelRTCClient: WebSocket connection closed. Code: INTERNAL_ERROR. Reason: WebSockets internal error (java.lang.NullPointerException). State: NEW
09-26 12:32:58.096 15630-17914/org.appspot.apprtc D/de.tavendo.autobahn.WebSocketConnection: worker threads stopped
09-26 12:32:58.096 15630-17914/org.appspot.apprtc D/de.tavendo.autobahn.WebSocketConnection: fail connection [code = INTERNAL_ERROR, reason = WebSockets internal error (java.lang.NullPointerException)
09-26 12:32:58.096 15630-17914/org.appspot.apprtc D/de.tavendo.autobahn.WebSocketReader: quit
09-26 12:32:58.096 15630-15630/org.appspot.apprtc D/CallRTCClient: Remote end hung up; dropping PeerConnection
09-26 12:32:58.096 15630-17942/org.appspot.apprtc D/de.tavendo.autobahn.WebSocketConnection: SocketThread exited.
09-26 12:32:58.116 15630-17914/org.appspot.apprtc W/MessageQueue: Handler (de.tavendo.autobahn.WebSocketWriter$ThreadHandler) {42e33318} sending message to a Handler on a dead thread
java.lang.RuntimeException: Handler (de.tavendo.autobahn.WebSocketWriter$ThreadHandler) {42e33318} sending message to a Handler on a dead thread
at android.os.MessageQueue.enqueueMessage(MessageQueue.java:320)
at android.os.Handler.enqueueMessage(Handler.java:626)
at android.os.Handler.sendMessageAtTime(Handler.java:595)
at android.os.Handler.sendMessageDelayed(Handler.java:566)
at android.os.Handler.sendMessage(Handler.java:503)
at de.tavendo.autobahn.WebSocketWriter.forward(WebSocketWriter.java:95)
at de.tavendo.autobahn.WebSocketConnection.failConnection(WebSocketConnection.java:109)
at de.tavendo.autobahn.WebSocketConnection.handleMessage(WebSocketConnection.java:418)
at de.tavendo.autobahn.WebSocketConnection.access$1(WebSocketConnection.java:344)
at de.tavendo.autobahn.WebSocketConnection$ThreadHandler.handleMessage(WebSocketConnection.java:536)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at org.appspot.apprtc.util.LooperExecutor.run(LooperExecutor.java:44)
09-26 12:32:58.121 15630-15897/org.appspot.apprtc D/PCRTCClient: Closing peer connection.
09-26 12:32:58.131 15630-17914/org.appspot.apprtc W/MessageQueue: Handler (android.os.Handler) {42da7678} sending message to a Handler on a dead thread
java.lang.RuntimeException: Handler (android.os.Handler) {42da7678} sending message to a Handler on a dead thread
at android.os.MessageQueue.enqueueMessage(MessageQueue.java:320)
at android.os.Handler.enqueueMessage(Handler.java:626)
at android.os.Handler.sendMessageAtTime(Handler.java:595)
at android.os.Handler.sendMessageDelayed(Handler.java:566)
at android.os.Handler.post(Handler.java:326)
at de.tavendo.autobahn.WebSocketConnection.failConnection(WebSocketConnection.java:121)
at de.tavendo.autobahn.WebSocketConnection.handleMessage(WebSocketConnection.java:418)
at de.tavendo.autobahn.WebSocketConnection.access$1(WebSocketConnection.java:344)
at de.tavendo.autobahn.WebSocketConnection$ThreadHandler.handleMessage(WebSocketConnection.java:536)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at org.appspot.apprtc.util.LooperExecutor.run(LooperExecutor.java:44)
09-26 12:32:58.131 15630-17921/org.appspot.apprtc I/libjingle: (webrtcsession.cc:818): Session:7598169390711790190 Old state:STATE_SENTOFFER New state:STATE_CLOSED
09-26 12:32:58.131 15630-17921/org.appspot.apprtc D/PCRTCClient: IceGatheringState: COMPLETE
09-26 12:32:58.131 15630-17921/org.appspot.apprtc D/PCRTCClient: SignalingState: CLOSED
09-26 12:32:58.136 15630-17914/org.appspot.apprtc W/MessageQueue: Handler (android.os.Handler) {42da7678} sending message to a Handler on a dead thread
java.lang.RuntimeException: Handler (android.os.Handler) {42da7678} sending message to a Handler on a dead thread
at android.os.MessageQueue.enqueueMessage(MessageQueue.java:320)
at android.os.Handler.enqueueMessage(Handler.java:626)
at android.os.Handler.sendMessageAtTime(Handler.java:595)
at android.os.Handler.sendMessageDelayed(Handler.java:566)
at android.os.Handler.post(Handler.java:326)
at de.tavendo.autobahn.WebSocketConnection.failConnection(WebSocketConnection.java:132)
at de.tavendo.autobahn.WebSocketConnection.handleMessage(WebSocketConnection.java:418)
at de.tavendo.autobahn.WebSocketConnection.access$1(WebSocketConnection.java:344)
at de.tavendo.autobahn.WebSocketConnection$ThreadHandler.handleMessage(WebSocketConnection.java:536)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at org.appspot.apprtc.util.LooperExecutor.run(LooperExecutor.java:44)
09-26 12:32:58.136 15630-17914/org.appspot.apprtc D/WSChannelRTCClient: WebSocket connection closed. Code: INTERNAL_ERROR. Reason: WebSockets internal error (java.lang.NullPointerException). State: CLOSED
09-26 12:32:58.136 15630-17914/org.appspot.apprtc W/LooperExecutor: Running looper executor without calling requestStart()
09-26 12:32:58.136 15630-17914/org.appspot.apprtc D/de.tavendo.autobahn.WebSocketConnection: worker threads stopped
09-26 12:32:58.136 15630-17914/org.appspot.apprtc D/WSRTCClient: Disconnect. Room state: CONNECTED
09-26 12:32:58.136 15630-17914/org.appspot.apprtc D/WSRTCClient: Closing room.
09-26 12:32:58.136 15630-17914/org.appspot.apprtc D/WSRTCClient: C->GAE: https://apprtc.appspot.com/leave/2567899654467/48538717
09-26 12:32:58.141 15630-17914/org.appspot.apprtc D/WSChannelRTCClient: Disconnect WebSocket. State: CLOSED
09-26 12:32:58.141 15630-17914/org.appspot.apprtc D/WSChannelRTCClient: Disconnecting WebSocket done.
09-26 12:32:58.141 15630-17914/org.appspot.apprtc D/LooperExecutor: Looper thread finished.

Revision 13665 has dependencies for libc++_shared, boring ssl, etc

I tried to build revision 13665 (https://chromium.googlesource.com/external/webrtc/+/968c9ccfe80f6f0d64991d5e997ce74774381dfa) by myself - and libjingle_peerconnection_so.so depends on libc++_shared, boring ssl, protobuf_lite. Besides some classes in libjingle_peerconnection_java.jar use classes from base_java.jar (Logging.class for example). But in your commit you have only libjingle_peerconnection_so.so and libjingle_peerconnection.jar. Can you explain how thats possible, maybe this is another revision, not 13665, or maybe you changed files by yourself to cut this dependencies.

Group video Calling

Hey @njovy , video calls between androids and desktop browsers only ? or 1device to other device ?
i want group video call

Video in Moverio BT-200 is in Black&White.

Video in Moverio BT-200 is in Black&White.

I've read about this bug in the webrtc issues. I don't understand why it happens but I'm guessing this could be solved just by updating to a more recent webrtc revision?

I've looked at your commits, @njovy, when upgrading to a higher webrtc revision. I see basically you change libjingle dependencies and update the Java code related to them but I don't even know where to start from to do that.

I'll try to sum up my questions:

  • Is there a way I can upgrade libjingle without building webrtc from source code?
  • Would this be enough to be compatible with newer revisions? If not, can you point me in the right direction to do it?
  • By reading webrtc issue's comments, would you say there is any other way of fixing B&W video?

Hope the issue is not too convoluted.
Regards.

not an issue - a query

hi,

first I would like to appreciate the work you have been doing. APPRTC demo is very much useful to me. I would like to know if yu have come across any android native client using signaling.simplewebrtc.com signaling server...or have yu tried to do so? I tried to hit the server and facing issue. I tried to use it with socket io wrapper... also if there is source code for apprtc signaling server in github, I would love to have the github link.

Thanks.

doesnt run in 3g network

when i use 3g/4g or another one use 3g/4g the connection will tell me the ice server connection failed. but when we two all in wifi state ,the connection is all right.could u please tell me how can i fix it?

Streaming getting disconnected after around 40 seconds and black white video

Hi,

Thanks for putting up this app.

We tried to port this app on google glass and getting 2 issues ;

  1. Glass is streaming black and white video
  2. Stream gets disconnected after a period of around 40 seconds with below logs :

32540-4504/com.oneminuut.genzo E/libjingle﹕ webrtc: (process_thread_impl.cc:31): TimeUntilNextProcess returned an invalid value -25
07-31 23:11:44..
[31-07-2015 23:13:36] Triloki Nath Yadav: 32540-32540/com.oneminuut.genzo E/IStream﹕ Start of onStart
07-31 23:11:45.977 32540-1153/com.oneminuut.genzo A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 1153 (Binder_3)
07-31 23:11:48.852 498-525/? E/InputDispatcher﹕ channel '420cbe30 com.oneminuut.genzo/com.oneminuut.genzo.VideoAssistActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
07-31 23:11:48.907 498-525/? E/InputDispatcher﹕ channel '42208b18 com.oneminuut.genzo/org.appspot.apprtc.CallActivity (server)' ~ Channel is unrecoverably broken and will be disposed!

[9189-9330/com.oneminuut.genzo E/WEBRTC﹕ ERROR ; (23:15:27:622 | 525) 9330; (process_thread_impl.cc:31): TimeUntilNextProcess returned an invalid value -4
07-31 23:15:28.008 9189-9241/com.oneminuut.genzo E/WEBRTC﹕ ERROR ; (23:15:28: 14 | 0) 9241; (voe_audio_processing_impl.cc:1007): SetTypingDetectionStatus: not supported
07-31 23:15:28.110 9189-9242/com.oneminuut.genzo E/libjingle﹕ SetAudioSend: No audio channel exists.
07-31 23:15:28.118 9189-9242/com.oneminuut.genzo E/libjingle﹕ SetAudioPlayout: No audio channel exists.

Kindly see if you can help us.

Many Thanks,
Nitesh

FPS Fluctuate Issue

What should be done in order to get a stable Framerate? Improving BW did not help. Any ideas even after setting FPS to 30 I get MediaVideocodex sending 15FPS :(

Unable to get 1080p stream

Hi There,
I am using the libjingle_peerconnection.jar &libjingle_peerconnection_so.so file but despite of setting max width & max height to 1920 X1080 the stream sent is 720p. I have set my samsung tblet to 1080p resolution.Can you please guide me how to get 1080p or update the project with above files. This will be really helpful. Or atleast guide me how to get these files.
will waiting for your reply.

Not sending username and password to turn server

I am having own turn server , and i see in the logs that the requests from the app are having no username , but one from webclient have . Please help me with this. I changed some code to allow to add turn server from turn_server_override options as well as . My turnservers were not appearing in pc_config .

// Return the list of ICE servers described by a WebRTCPeerConnection
// configuration string.
private LinkedList<PeerConnection.IceServer> iceServersFromTurnOverrideJSON(String turnServerOverride)
throws JSONException {
JSONArray json = new JSONArray(turnServerOverride);
LinkedList<PeerConnection.IceServer> ret = new LinkedList<PeerConnection.IceServer>();
for(int j = 0; j < json.length(); ++j){
JSONObject server = json.getJSONObject(j);
JSONArray urls = server.getJSONArray("urls");
String credential = server.has("credential") ? server.getString("credential") : "";
String username = server.has("username") ? server.getString("username") : "";
for(int i = 0; i < urls.length(); i++){
String url = urls.getString(i);
ret.add(new PeerConnection.IceServer(url, username, credential));
}
}
return ret;
}

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.