haiyangwu / mediasoup-demo-android Goto Github PK
View Code? Open in Web Editor NEWmediasoup android demo https://demo.mediasoup.org
mediasoup android demo https://demo.mediasoup.org
Session error description: Failed to set remote Audio Description send parameters..
at org.mediasoup.droid.RecvTransport.nativeConsume(Native Method)
The at org. Mediasoup. The droid. RecvTransport. Consume (RecvTransport. Java: 48)
The at org. Mediasoup. The droid. Lib. RoomClient. OnNewConsumer (RoomClient. Java: 1055)
The at org. Mediasoup. The droid. Lib. RoomClient. Access the $300 (RoomClient. Java: 39)
The at org. Mediasoup. The droid. Lib. RoomClient $2. Lambda $onRequest $2 $2 $RoomClient (RoomClient. Java: 597)
The at org. Mediasoup. The droid. Lib. - $$Lambda $RoomClient $2 $8 b9dcudrw2ll5uzqlkr80_pqlg0. Run (Lambda)
web with android terminal is flow,but android terminal to android terminal is not flow,why show this situation.Is there some config can solve it or not
i use this demo to butt joint V2 Server, backgroud server log tips dtls failed
Put my network is shutdown,my protoo connect is failed,and when my network get well,sometime toast show ‘Could not join the room, internal error’ and close connect.【测试断网重连机制,当网络断开再次恢复后,有时会报错在发送 join 命令时】
android log(客户端日志):
W/Peer: request() createWebRtcTransport fail, 500, 500
W/System.err: org.protoojs.droid.ProtooException
W/System.err: at org.mediasoup.droid.lib.Protoo.syncRequest(Protoo.java:80)
at org.mediasoup.droid.lib.Protoo.syncRequest(Protoo.java:70)
at org.mediasoup.droid.lib.RoomClient.createSendTransport(RoomClient.java:900)
W/System.err: at org.mediasoup.droid.lib.RoomClient.joinImpl(RoomClient.java:674)
at org.mediasoup.droid.lib.RoomClient.access$500(RoomClient.java:38)
at org.mediasoup.droid.lib.RoomClient$2.lambda$onOpen$0$RoomClient$2(RoomClient.java:574)
W/System.err: at org.mediasoup.droid.lib.-$$Lambda$RoomClient$2$1yrKTPoWaRxWuD7Kk1QcDNV7v7Y.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
W/System.err: at android.os.Looper.loop(Looper.java:237)
W/System.err: at android.os.HandlerThread.run(HandlerThread.java:67)
mediasoup server log(服务器端日志):
mediasoup-demo-server:INFO protoo connection request [roomId:101, peerId:lojt2nfi, address:183.185.216.161, origin:undefined] +21s
mediasoup-demo-server:WARN:Room handleProtooConnection() | there is already a protoo Peer with same peerId, closing it [peerId:lojt2nfi] +34m
mediasoup-demo-server:INFO:Room last Peer in the room left, closing the room [roomId:101] +21s
protoo-server:ERROR:WebSocketTransport connection "error" event [conn:WSS:[183.185.216.161]:34888, error:Error: read ECONNRESET] +22s
mediasoup:ERROR:Channel [pid:2665 Worker::GetRouterFromRequest() | throwing MediaSoupError: Router not found +34m
mediasoup:WARN:Channel request failed [method:router.createWebRtcTransport, id:277]: Router not found +35s
mediasoup-demo-server:ERROR:Room request failed:Error: Router not found at Channel._processMessage (/usr/local/webrtc/mediasoup/mediasoup-demo/server/node_modules/mediasoup/lib/Channel.js:206:37) at Socket.Channel._consumerSocket.on (/usr/local/webrtc/mediasoup/mediasoup-demo/server/node_modules/mediasoup/lib/Channel.js:68:34) at Socket.emit (events.js:182:13) at Socket.EventEmitter.emit (domain.js:441:20) at addChunk (_stream_readable.js:283:12) at readableAddChunk (_stream_readable.js:264:11) at Socket.Readable.push (_stream_readable.js:219:10) at Pipe.onStreamRead [as onread] (internal/stream_base_commons.js:94:17) +34m
目前运行起来默认是vp8的,如何更改为H264编码
This happens on: PeerConnection.getStats method.
I am using: implementation 'io.github.haiyangwu:mediasoup-client:3.4.0'
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 28453 (Timer-12), pid 27670
2023-04-19 14:33:34.298 28901-28901 DEBUG pid-28901 A pid: 27670, tid: 28453, name: Timer-12
2023-04-19 14:33:34.596 28901-28901 DEBUG pid-28901 A #2 pc 00000000008c6d76 /base.apk!libmediasoupclient_so.so (offset 0x1cf7000) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
2023-04-19 14:33:34.596 28901-28901 DEBUG pid-28901 A #3 pc 00000000008c531e /base.apk!libmediasoupclient_so.so (offset 0x1cf7000) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
2023-04-19 14:33:34.596 28901-28901 DEBUG pid-28901 A #4 pc 00000000008c5ff2 /base.apk!libmediasoupclient_so.so (offset 0x1cf7000) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
2023-04-19 14:33:34.596 28901-28901 DEBUG pid-28901 A #5 pc 000000000075cbbb /base.apk!libmediasoupclient_so.so (offset 0x1cf7000) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
2023-04-19 14:33:34.596 28901-28901 DEBUG pid-28901 A #6 pc 0000000000759aba /base.apk!libmediasoupclient_so.so (offset 0x1cf7000) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
2023-04-19 14:33:34.596 28901-28901 DEBUG pid-28901 A #7 pc 0000000000ffd3f5 /base.apk!libmediasoupclient_so.so (offset 0x1cf7000) (Java_org_webrtc_PeerConnection_nativeNewGetStats+75) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
2023-04-19 14:33:34.600 28901-28901 DEBUG pid-28901 A #15 pc 00000000002fa5cc /base.apk (offset 0x13c0000) (org.webrtc.PeerConnection.getStats)
2023-04-19 14:33:34.601 28901-28901 DEBUG pid-28901 A #21 pc 00000000000368d2 /base.apk (offset 0xb7000) (webphone.client.WebphoneClient$startCallQualityTimer$callQualityTimerTask$1.run+30)
If i try to change HOSTNAME in UrlFactory class with my server address, I'm getting "WebSocket disconnected" error.
Can anyone tell me the solution.
It is recommended to give priority to repair, otherwise it cannot be productized !
java.lang.UnsatisfiedLinkError
No implementation found for void org.webrtc.voiceengine.WebRtcAudioTrack.nativeGetPlayoutData(int, long) (tried Java_org_webrtc_voiceengine_WebRtcAudioTrack_nativeGetPlayoutData and Java_org_webrtc_voiceengine_WebRtcAudioTrack_nativeGetPlayoutData__IJ)
您好,我在app进入房间后再退出房间再进入房间会报这个错误,请问有办法解决吗?不是100%出现
02-25 13:22:51.026 10929-11025/org.roomclient.demo E/AndroidRuntime: JUNK_FATAL_EXCEP: FATAL EXCEPTION: AudioRecordJavaThread,Process: org.roomclient.demo, PID: 10929
02-25 13:22:51.027 10929-11025/org.roomclient.demo E/AndroidRuntime: FATAL EXCEPTION: AudioRecordJavaThread
Process: org.roomclient.demo, PID: 10929
java.lang.UnsatisfiedLinkError: No implementation found for void org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(int, long) (tried Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded and Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded__IJ)
at org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(Native Method)
at org.webrtc.voiceengine.WebRtcAudioRecord.access$600(WebRtcAudioRecord.java:26)
at org.webrtc.voiceengine.WebRtcAudioRecord$AudioRecordThread.run(WebRtcAudioRecord.java:166)
Hello,
Thank you very much for sharing this demo app.
We are meeting one issue with this demo app on real devices. The sound level of the mic is very low.
Sound level:
@haiyangwu any idea why ?
Thanks a lot
Hello, I have carried out secondary development of the project and changed the way of video streaming to get from the recording screen, but how do I input the audio stream into the mediasoup Android client? Currently I can get the byte data of the audio stream
Tested on Xiami 5s (andr.8.0)
Video stream works great but the sound is almost not hearable. It works via phone speaker, how can I switch the audio output to the loud speaker?
您好,请问android 实时语音噪音太大,怎么解决呢?
I am using this in android native app url i post in app 4443/?roomId=yhj3knsh&peerId=ryqxw6oc&forceVP9=true but in video streaming codec was H264 in web i was posting forceVP9= true why this error came please resolve this.... is this error came before in android for anyone pls help me out @haiyangwu
when i am changing package name for my project it gives error: package org.mediasoup.droid.demo.vm does not exist
import org.mediasoup.droid.demo.vm.PeerProps;
error: package org.mediasoup.droid.demo.vm does not exist
i am getting this error in build generated files which is not editable
Hello, I am a student studying.
I want to make a webrtc Android app using media soup.
But in this sample app, it seems like it's connected to the user itself, but nothing appears on the screen.
I am asking for help because I can't figure out which part to fix. Thank you.
throw test,android terminal is not flow,i guess it may be because pixel is too high.
界面上提示:Error creating a consumer: failed to set remote offer sdp: dumpliate a=mid value '2'
Sometime facing issue:
org.mediasoup.droid.demo E/soup.droid.dem: No implementation found for void org.webrtc.voiceengine.WebRtcAudioTrack.nativeGetPlayoutData(int, long) (tried Java_org_webrtc_voiceengine_WebRtcAudioTrack_nativeGetPlayoutData and Java_org_webrtc_voiceengine_WebRtcAudioTrack_nativeGetPlayoutData__IJ)
2020-07-08 15:31:16.473 11162-12312/org.mediasoup.droid.demo E/AndroidRuntime: FATAL EXCEPTION: AudioTrackJavaThread
Process: org.mediasoup.droid.demo, PID: 11162
java.lang.UnsatisfiedLinkError: No implementation found for void org.webrtc.voiceengine.WebRtcAudioTrack.nativeGetPlayoutData(int, long) (tried Java_org_webrtc_voiceengine_WebRtcAudioTrack_nativeGetPlayoutData and Java_org_webrtc_voiceengine_WebRtcAudioTrack_nativeGetPlayoutData__IJ)
at org.webrtc.voiceengine.WebRtcAudioTrack.nativeGetPlayoutData(Native Method)
at org.webrtc.voiceengine.WebRtcAudioTrack.access$400(WebRtcAudioTrack.java:28)
at org.webrtc.voiceengine.WebRtcAudioTrack$AudioTrackThread.run(WebRtcAudioTrack.java:147)
track.removeSink(renderer); in BindingAdapter
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x50 in tid 23586 !libmediasoupclient_so.so (Java_org_webrtc_VideoTrack_nativeRemoveSink+6) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
previously it was working fine with org.mediasoup.droid:mediasoup-client:3.0.8-beta-3
android.view.InflateException: Binary XML file line #10 in com.mes.mymediasoup:layout/item_remote_peer: Binary XML file line #10 in com.mes.mymediasoup:layout/item_remote_peer: Error inflating class
Caused by: android.view.InflateException: Binary XML file line #10 in com.mes.mymediasoup:layout/item_remote_peer: Error inflating class
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:854)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1010)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:961)
at android.view.LayoutInflater.inflate(LayoutInflater.java:659)
at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
at com.mes.mymediasoup.mediasoup.adapters.PeerAdapter.onCreateViewHolder(PeerAdapter.java:101)
at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:7078)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6235)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6118)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6114)
at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2303)
at androidx.recyclerview.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:561)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
at androidx.recyclerview.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:3540)
at android.view.View.measure(View.java:24726)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:735)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:481)
at android.view.View.measure(View.java:24726)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6931)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:760)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:833)
at android.view.View.measure(View.java:24726)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:735)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:481)
at android.view.View.measure(View.java:24726)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6931)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:145)
at android.view.View.measure(View.java:24726)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6931)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
at android.view.View.measure(View.java:24726)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6931)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:24726)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6931)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
at android.view.View.measure(View.java:24726)
2021-09-07 19:27:11.306 30023-30023/? E/AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6931)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.DecorView.onMeasure(DecorView.java:746)
at android.view.View.measure(View.java:24726)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:3162)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1930)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2230)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1818)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7913)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:980)
at android.view.Choreographer.doCallbacks(Choreographer.java:804)
at android.view.Choreographer.doFrame(Choreographer.java:739)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:965)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:264)
at android.app.ActivityThread.main(ActivityThread.java:7581)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:980)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Failed to create EGL context: 0x3003
at org.webrtc.EglBase14Impl.createEglContext(EglBase14Impl.java:280)
at org.webrtc.EglBase14Impl.(EglBase14Impl.java:78)
at org.webrtc.EglBase.createEgl14(EglBase.java:215)
at org.webrtc.EglBase.create(EglBase.java:158)
at org.webrtc.EglRenderer.lambda$init$0$EglRenderer(EglRenderer.java:241)
at org.webrtc.EglRenderer$$ExternalSyntheticLambda6.run(Unknown Source:6)
at org.webrtc.ThreadUtils$4.call(ThreadUtils.java:199)
at org.webrtc.ThreadUtils$4.call(ThreadUtils.java:196)
at org.webrtc.ThreadUtils$3.run(ThreadUtils.java:173)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at org.webrtc.EglRenderer$HandlerWithExceptionCallback.dispatchMessage(EglRenderer.java:103)
at android.os.Looper.loop(Looper.java:264)
at android.os.HandlerThread.run(HandlerThread.java:67)
at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java:184)
at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java:196)
at org.webrtc.EglRenderer.init(EglRenderer.java:232)
at org.webrtc.EglRenderer.init(EglRenderer.java:259)
at org.webrtc.SurfaceEglRenderer.init(SurfaceEglRenderer.java:61)
at org.webrtc.SurfaceViewRenderer.init(SurfaceViewRenderer.java:87)
at org.webrtc.SurfaceViewRenderer.init(SurfaceViewRenderer.java:71)
at com.mes.mymediasoup.mediasoup.ui.view.PeerView.init(PeerView.java:53)
at com.mes.mymediasoup.mediasoup.ui.view.PeerView.(PeerView.java:29)
... 67 more
Caused by: java.lang.RuntimeException: Failed to create EGL context: 0x3003
RTP capacities only return Audio codec, so no video consumer
I'm trying this demo, I change HOSTNAME into my own mediasoup server then running to my Device and Websocket disconnected appear, how do i fixed it?
Hi, I'm getting WebSocket Disconnected error in android 7.0 version. Can any one tell me the solution.
Hello @haiyangwu,
There is a problem with using this project
2019-11-20 19:47:59.109 25541-25620/org.mediasoup.droid.demo E/AndroidRuntime: FATAL EXCEPTION: AudioRecordJavaThread
Process: org.mediasoup.droid.demo, PID: 25541
java.lang.UnsatisfiedLinkError: No implementation found for void org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(int, long) (tried Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded and Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded__IJ)
at org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(Native Method)
at org.webrtc.voiceengine.WebRtcAudioRecord.access$600(WebRtcAudioRecord.java:26)
at org.webrtc.voiceengine.WebRtcAudioRecord$AudioRecordThread.run(WebRtcAudioRecord.java:166)
System version:6.0.1 (API 23)
CPU_ABI:armeabi-v7a
Log:
09-07 10:36:59.053 28998-29191/org.mediasoup.droid.demo E/art: No implementation found for void org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(int, long) (tried Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded and Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded__IJ)
09-07 10:36:59.053 28998-29191/org.mediasoup.droid.demo E/AndroidRuntime: FATAL EXCEPTION: AudioRecordJavaThread
Process: org.mediasoup.droid.demo, PID: 28998
java.lang.UnsatisfiedLinkError: No implementation found for void org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(int, long) (tried Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded and Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded__IJ)
at org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(Native Method)
at org.webrtc.voiceengine.WebRtcAudioRecord.access$600(WebRtcAudioRecord.java:26)
at org.webrtc.voiceengine.WebRtcAudioRecord$AudioRecordThread.run(WebRtcAudioRecord.java:166)
09-07 10:36:59.173 28998-29098/org.mediasoup.droid.demo E/RoomClient: joinRoom() failed:
09-07 10:36:59.173 28998-29098/org.mediasoup.droid.demo E/RoomClient: org.protoojs.droid.ProtooException
09-07 10:36:59.173 28998-29098/org.mediasoup.droid.demo E/RoomClient: org.protoojs.droid.ProtooException
at org.mediasoup.droid.lib.Protoo.syncRequest(Protoo.java:80)
at org.mediasoup.droid.lib.Protoo.syncRequest(Protoo.java:70)
at org.mediasoup.droid.lib.RoomClient.createSendTransport(RoomClient.java:890)
at org.mediasoup.droid.lib.RoomClient.joinImpl(RoomClient.java:674)
at org.mediasoup.droid.lib.RoomClient.access$500(RoomClient.java:38)
at org.mediasoup.droid.lib.RoomClient$2.lambda$onOpen$0$RoomClient$2(RoomClient.java:574)
at org.mediasoup.droid.lib.-$$Lambda$RoomClient$2$1yrKTPoWaRxWuD7Kk1QcDNV7v7Y.run(lambda)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)
if two android devices connect, it will crash here:
mediasoupclient-jni: [ERROR] transport_jni::JNI_RecvTransport_Consume() | Failed to set remote offer sdp: Duplicate a=mid value '2'.
2020-06-17 15:32:27.633 10709-10819/org.mediasoup.droid.demo W/System.err: org.mediasoup.droid.MediasoupException: Failed to set remote offer sdp: Duplicate a=mid value '2'.
2020-06-17 15:32:27.634 10709-10819/org.mediasoup.droid.demo W/System.err: at org.mediasoup.droid.RecvTransport.nativeConsume(Native Method)
2020-06-17 15:32:27.634 10709-10819/org.mediasoup.droid.demo W/System.err: at org.mediasoup.droid.RecvTransport.consume(RecvTransport.java:48)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at org.mediasoup.droid.lib.RoomClient.onNewConsumer(RoomClient.java:1052)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at org.mediasoup.droid.lib.RoomClient.access$300(RoomClient.java:38)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at org.mediasoup.droid.lib.RoomClient$2.lambda$onRequest$2$RoomClient$2(RoomClient.java:596)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at org.mediasoup.droid.lib.-$$Lambda$RoomClient$2$8B9dCuDRW2LL5UzQlkr80_pqLG0.run(Unknown Source:6)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at android.os.Handler.handleCallback(Handler.java:873)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at android.os.Handler.dispatchMessage(Handler.java:99)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at android.os.Looper.loop(Looper.java:224)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at android.os.HandlerThread.run(HandlerThread.java:65)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo E/RoomClient: "newConsumer" request failed:
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo E/RoomClient: org.mediasoup.droid.MediasoupException: Failed to set remote offer sdp: Duplicate a=mid value '2'.
2020-06-17 15:32:27.637 10709-10819/org.mediasoup.droid.demo E/RoomClient: org.mediasoup.droid.MediasoupException: Failed to set remote offer sdp: Duplicate a=mid value '2'.
Can't make echo cancellation work. In a room with 2+ participants I hear myself after a short delay.
I've tried to specify some flags explicitly:
JavaAudioDeviceModule.builder(appContext)
.setUseHardwareAcousticEchoCanceler(true)
.setUseHardwareNoiseSuppressor(true)
but with no success.
Official AppRtc demo from Google works fine. Any ideas how to fix this?
Hi thanks for your work,
I'am trying to force h264 stream from online demo to show it on Android device. I see from stats that the stream, sent from online demo, is using h264.
Unfortunately on Android the Rendering View is black. Have you some idea on how I can solve and using h264 with Android?
If i use vp8 the stream works correctly.
Thanks
cannot find symbol
ViewMeBindingImpl mBinding;
^
symbol: class ViewMeBindingImpl
location: class MeView
When I enable the forceH264 button, the app can not see other peer's view. So I think maybe there is something wrong with the app about H264 codec. Comparing other codec, the H264 is more professional.
How can I solve the problem?
设置视频编解码方式无作用 一直使用默认vp8格式 望改正
throw test,android terminal is not flow,i guess it may be because pixel is too high.I try to control send bitrate size,but not effect.
`String codecOptions ="[\r\n" + "{\r\n" + ""videoGoogleStartBitrate": "1000"\r\n" + "},\r\n"
+ "{\r\n" + ""videoGoogleMaxBitrate": "600"\r\n" + "},\r\n"
+ "{\r\n" + ""videoGoogleMinBitrate": "1500"\r\n" + "}\r\n"
+ "]";
mCamProducer =
mSendTransport.produce(
producer -> {
Logger.e(TAG, "onTransportClose(), camProducer");
if (mCamProducer != null) {
mStore.removeProducer(mCamProducer.getId());
mCamProducer = null;
}
},
mLocalVideoTrack,
null,
// codecOptions);
null);`
2020-06-26 17:09:38.442 1107-1107/org.mediasoup.droid.demo E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.mediasoup.droid.demo, PID: 1107
android.view.InflateException: Binary XML file line #3: Binary XML file line #3: Error inflating class
Caused by: android.view.InflateException: Binary XML file line #3: Error inflating class
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:651)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
at android.view.LayoutInflater.inflate(LayoutInflater.java:496)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at org.mediasoup.droid.demo.adapter.PeerAdapter.onCreateViewHolder(PeerAdapter.java:55)
at org.mediasoup.droid.demo.adapter.PeerAdapter.onCreateViewHolder(PeerAdapter.java:24)
at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6794)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5975)
at androidx.recyclerview.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:286)
at androidx.recyclerview.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:343)
at androidx.recyclerview.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:359)
at androidx.recyclerview.widget.GapWorker.prefetch(GapWorker.java:366)
at androidx.recyclerview.widget.GapWorker.run(GapWorker.java:397)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6810)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Failed to create EGL context: 0x3003
at org.webrtc.EglBase14Impl.createEglContext(EglBase14Impl.java:280)
at org.webrtc.EglBase14Impl.(EglBase14Impl.java:78)
at org.webrtc.EglBase$-CC.createEgl14(EglBase.java:215)
at org.webrtc.EglBase$-CC.create(EglBase.java:158)
at org.webrtc.EglRenderer.lambda$init$0$EglRenderer(EglRenderer.java:241)
at org.webrtc.-$$Lambda$EglRenderer$A5MPsBufyTiKpmjvPS46Dr9iaHs.run(Unknown Source:6)
at org.webrtc.ThreadUtils$4.call(ThreadUtils.java:199)
at org.webrtc.ThreadUtils$4.call(ThreadUtils.java:196)
at org.webrtc.ThreadUtils$3.run(ThreadUtils.java:173)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at org.webrtc.EglRenderer$HandlerWithExceptionCallback.dispatchMessage(EglRenderer.java:103)
at android.os.Looper.loop(Looper.java:201)
at android.os.HandlerThread.run(HandlerThread.java:65)
at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java:184)
at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java:196)
at org.webrtc.EglRenderer.init(EglRenderer.java:232)
at org.webrtc.EglRenderer.init(EglRenderer.java:259)
at org.webrtc.SurfaceEglRenderer.init(SurfaceEglRenderer.java:61)
at org.webrtc.SurfaceViewRenderer.init(SurfaceViewRenderer.java:87)
at org.webrtc.SurfaceViewRenderer.init(SurfaceViewRenderer.java:71)
at org.mediasoup.droid.demo.view.PeerView.init(PeerView.java:51)
at org.mediasoup.droid.demo.view.PeerView.(PeerView.java:33)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:651)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
at android.view.LayoutInflater.inflate(LayoutInflater.java:496)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at org.mediasoup.droid.demo.adapter.PeerAdapter.onCreateViewHolder(PeerAdapter.java:55)
at org.mediasoup.droid.demo.adapter.PeerAdapter.onCreateViewHolder(PeerAdapter.java:24)
at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6794)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5975)
at androidx.recyclerview.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:286)
at androidx.recyclerview.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:343)
at androidx.recyclerview.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:359)
at androidx.recyclerview.widget.GapWorker.prefetch(GapWorker.java:366)
at androidx.recyclerview.widget.GapWorker.run(GapWorker.java:397)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6810)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.lang.RuntimeException: Failed to create EGL context: 0x3003
at org.webrtc.EglBase14Impl.createEglContext(EglBase14Impl.java:280)
at org.webrtc.EglBase14Impl.(EglBase14Impl.java:78)
at org.webrtc.EglBase$-CC.createEgl14(EglBase.java:215)
at org.webrtc.EglBase$-CC.create(EglBase.java:158)
at org.webrtc.EglRenderer.lambda$init$0$EglRenderer(EglRenderer.java:241)
2020-06-26 17:09:38.442 1107-1107/org.mediasoup.droid.demo E/AndroidRuntime: at org.webrtc.-$$Lambda$EglRenderer$A5MPsBufyTiKpmjvPS46Dr9iaHs.run(Unknown Source:6)
at org.webrtc.ThreadUtils$4.call(ThreadUtils.java:199)
at org.webrtc.ThreadUtils$4.call(ThreadUtils.java:196)
at org.webrtc.ThreadUtils$3.run(ThreadUtils.java:173)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at org.webrtc.EglRenderer$HandlerWithExceptionCallback.dispatchMessage(EglRenderer.java:103)
at android.os.Looper.loop(Looper.java:201)
at android.os.HandlerThread.run(HandlerThread.java:65)
when i change server and change parameter which i send to server it gives ((ProtooException )e).error) = Cannot find local variable 'e'
Error Creating a consumer: Failed to set remote offer sdk: Duplicate a=mid value'2'
i am using Android Device and Multiple browsers Firefox, safari, chrome.
on 1 to 1 it is working fine but when i am trying to connect multiple devices it is not working. i am not able to see videos of multiple user.
@haiyangwu 你好,请教个问题,Android硬件设备不支持AEC回声消除,mediasoup的webrtc代码能做优化处理吗?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.