crossle / janus-gateway-android Goto Github PK
View Code? Open in Web Editor NEWImplements Janus gateway video room on Android
License: MIT License
Implements Janus gateway video room on Android
License: MIT License
我下载了这个工程,但是找不到org.webrtc这个包,PeerConnection也在这个包里。请问是不是工程少文件了,还是我下载的不对?
Hello
Hi. When i run app, i just see my camera video, can not see video from janus video room, in log i saw this
Peerconnection error: Failed to create peer connection: Attempt to invoke virtual method 'boolean org.webrtc.PeerConnection.addStream(org.webrtc.MediaStream)' on a null object reference
Can you help?
Then here is full log
`
2019-05-16 15:37:04.019 27163-27243/in.minewave.janusvideoroom E/org.webrtc.Logging: WebRtcAudioManager: FS8010 is blacklisted for OpenSL ES usage!
2019-05-16 15:37:04.019 27163-27243/in.minewave.janusvideoroom E/org.webrtc.Logging: WebRtcAudioManager: FS8010 is blacklisted for OpenSL ES usage!
2019-05-16 15:37:04.300 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onOpen
2019-05-16 15:37:04.605 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:37:04.605 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "success",
"transaction": "4t3cvzJb5wxt",
"data": {
"id": 4633725150537974
}
}
2019-05-16 15:37:04.912 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:37:04.912 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "ack",
"session_id": 4633725150537974,
"transaction": "ALWLqVyZvnA2"
}
2019-05-16 15:37:04.912 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: Just an ack
2019-05-16 15:37:05.220 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:37:05.221 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "success",
"session_id": 4633725150537974,
"transaction": "HnnGad5QWIVf",
"data": {
"id": 2472205264152574
}
}
2019-05-16 15:37:05.528 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:37:05.528 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "ack",
"session_id": 4633725150537974,
"transaction": "Jj9zchvzH0Be"
}
2019-05-16 15:37:05.529 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: Just an ack
2019-05-16 15:37:05.529 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:37:05.529 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "event",
"session_id": 4633725150537974,
"transaction": "Jj9zchvzH0Be",
"sender": 2472205264152574,
"plugindata": {
"plugin": "janus.plugin.videoroom",
"data": {
"videoroom": "joined",
"room": 1234,
"description": "Demo Room",
"id": 3656735051263949,
"private_id": 2347560685,
"publishers": [
{
"id": 1959956844293865,
"display": "mmm",
"audio_codec": "opus",
"video_codec": "vp8",
"talking": false
},
{
"id": 68636682981605,
"display": "Vikas",
"audio_codec": "opus",
"video_codec": "vp8",
"talking": false
}
]
}
}
}
2019-05-16 15:37:05.610 27163-27234/in.minewave.janusvideoroom E/MainActivity: Creating capturer using camera1 API.
2019-05-16 15:37:05.617 27163-27234/in.minewave.janusvideoroom E/MainActivity: Looking for front facing cameras.
2019-05-16 15:37:05.630 27163-27234/in.minewave.janusvideoroom E/MainActivity: Creating front facing camera capturer.
2019-05-16 15:37:05.661 27163-27240/in.minewave.janusvideoroom E/PCRTCClient: Peerconnection error: Failed to create peer connection: Attempt to invoke virtual method 'boolean org.webrtc.PeerConnection.addStream(org.webrtc.MediaStream)' on a null object reference
2019-05-16 15:37:05.666 27163-27276/in.minewave.janusvideoroom E/libc: Access denied finding property "camera.hal1.packagelist"
2019-05-16 15:37:05.936 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:37:05.936 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "success",
"session_id": 4633725150537974,
"transaction": "nfUfaFewoL8d",
"data": {
"id": 3960067644042182
}
}
2019-05-16 15:37:06.243 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:37:06.243 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "success",
"session_id": 4633725150537974,
"transaction": "UbMEx4fNgTQA",
"data": {
"id": 7429867566318488
}
}
2019-05-16 15:37:06.555 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:37:06.556 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "ack",
"session_id": 4633725150537974,
"transaction": "lwjaLbbx7wq4"
}
2019-05-16 15:37:06.557 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: Just an ack
2019-05-16 15:37:06.562 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:37:06.563 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "event",
"session_id": 4633725150537974,
"transaction": "lwjaLbbx7wq4",
"sender": 3960067644042182,
"plugindata": {
"plugin": "janus.plugin.videoroom",
"data": {
"videoroom": "attached",
"room": 1234,
"id": 1959956844293865,
"display": "mmm"
}
},
"jsep": {
"type": "offer",
"sdp": "v=0\r\no=- 1557995766332945 1 IN IP4 188.213.167.189\r\ns=VideoRoom 1234\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS janus\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 188.213.167.189\r\na=sendonly\r\na=mid:audio\r\na=rtcp-mux\r\na=ice-ufrag:rj4I\r\na=ice-pwd:qln76bSBlXkKNGLMYnZxHZ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38\r\na=setup:actpass\r\na=rtpmap:111 opus/48000/2\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=ssrc:1543805454 cname:janus\r\na=ssrc:1543805454 msid:janus janusa0\r\na=ssrc:1543805454 mslabel:janus\r\na=ssrc:1543805454 label:janusa0\r\na=candidate:1 1 udp 2013266431 172.22.0.3 51747 typ host\r\na=candidate:2 1 udp 2013266431 172.18.0.2 36717 typ host\r\na=candidate:3 1 udp 2013266431 188.213.167.189 48233 typ host\r\na=end-of-candidates\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97\r\nc=IN IP4 188.213.167.189\r\na=sendonly\r\na=mid:video\r\na=rtcp-mux\r\na=ice-ufrag:rj4I\r\na=ice-pwd:qln76bSBlXkKNGLMYnZxHZ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38\r\na=setup:actpass\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtcp-fb:96 goog-remb\r\na=extmap:12 urn:3gpp:video-orientation\r\na=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=ssrc-group:FID 655037953 4127508172\r\na=ssrc:655037953 cname:janus\r\na=ssrc:655037953 msid:janus janusv0\r\na=ssrc:655037953 mslabel:janus\r\na=ssrc:655037953 label:janusv0\r\na=ssrc:4127508172 cname:janus\r\na=ssrc:4127508172 msid:janus janusv0\r\na=ssrc:4127508172 mslabel:janus\r\na=ssrc:4127508172 label:janusv0\r\na=candidate:1 1 udp 2013266431 172.22.0.3 51747 typ host\r\na=candidate:2 1 udp 2013266431 172.18.0.2 36717 typ host\r\na=candidate:3 1 udp 2013266431 188.213.167.189 48233 typ host\r\na=end-of-candidates\r\n"
}
}
2019-05-16 15:37:06.860 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:37:06.860 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "ack",
"session_id": 4633725150537974,
"transaction": "uXTftI9Tz1ut"
}
2019-05-16 15:37:06.861 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: Just an ack
2019-05-16 15:37:06.864 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:37:06.864 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "event",
"session_id": 4633725150537974,
"transaction": "uXTftI9Tz1ut",
"sender": 7429867566318488,
"plugindata": {
"plugin": "janus.plugin.videoroom",
"data": {
"videoroom": "attached",
"room": 1234,
"id": 68636682981605,
"display": "Vikas"
}
},
"jsep": {
"type": "offer",
"sdp": "v=0\r\no=- 1557995643554374 1 IN IP4 188.213.167.189\r\ns=VideoRoom 1234\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS janus\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 188.213.167.189\r\na=sendonly\r\na=mid:audio\r\na=rtcp-mux\r\na=ice-ufrag:L3N7\r\na=ice-pwd:NOoKjVUl4nQNujMNn9v98X\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38\r\na=setup:actpass\r\na=rtpmap:111 opus/48000/2\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=ssrc:615938264 cname:janus\r\na=ssrc:615938264 msid:janus janusa0\r\na=ssrc:615938264 mslabel:janus\r\na=ssrc:615938264 label:janusa0\r\na=candidate:1 1 udp 2013266431 172.22.0.3 36088 typ host\r\na=candidate:2 1 udp 2013266431 172.18.0.2 38945 typ host\r\na=candidate:3 1 udp 2013266431 188.213.167.189 51177 typ host\r\na=end-of-candidates\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97\r\nc=IN IP4 188.213.167.189\r\na=sendonly\r\na=mid:video\r\na=rtcp-mux\r\na=ice-ufrag:L3N7\r\na=ice-pwd:NOoKjVUl4nQNujMNn9v98X\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D2:B9:31:8F:DF:24:D8:0E:ED:D2:EF:25:9E:AF:6F:B8:34:AE:53:9C:E6:F3:8F:F2:64:15:FA:E8:7F:53:2D:38\r\na=setup:actpass\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtcp-fb:96 goog-remb\r\na=extmap:12 urn:3gpp:video-orientation\r\na=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=ssrc-group:FID 1786743678 1706664260\r\na=ssrc:1786743678 cname:janus\r\na=ssrc:1786743678 msid:janus janusv0\r\na=ssrc:1786743678 mslabel:janus\r\na=ssrc:1786743678 label:janusv0\r\na=ssrc:1706664260 cname:janus\r\na=ssrc:1706664260 msid:janus janusv0\r\na=ssrc:1706664260 mslabel:janus\r\na=ssrc:1706664260 label:janusv0\r\na=candidate:1 1 udp 2013266431 172.22.0.3 36088 typ host\r\na=candidate:2 1 udp 2013266431 172.18.0.2 38945 typ host\r\na=candidate:3 1 udp 2013266431 188.213.167.189 51177 typ host\r\na=end-of-candidates\r\n"
}
}
2019-05-16 15:37:34.919 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:37:34.920 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "ack",
"session_id": 4633725150537974,
"transaction": "YTFxCEN1spCC"
}
2019-05-16 15:37:34.921 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: Just an ack
2019-05-16 15:38:04.912 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:38:04.912 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "ack",
"session_id": 4633725150537974,
"transaction": "PVSfP4cEWmQj"
}
2019-05-16 15:38:04.913 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: Just an ack
2019-05-16 15:38:34.928 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage
2019-05-16 15:38:34.928 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: onMessage{
"janus": "ack",
"session_id": 4633725150537974,
"transaction": "IXqsrbML1BJz"
}
2019-05-16 15:38:34.930 27163-27234/in.minewave.janusvideoroom E/WebSocketChannel: Just an ack
`
Screen sharing works in janus ?
Please let me know if I am doing anything wrong
hello, today i found sometime my app crash, after check log with "No filter" in Android Studio, i found this error log:
2020-12-23 17:19:28.761 11058-12034/com.civix.link E/rtc: #
# Fatal error in ../../webrtc/rtc_base/event_tracer.cc, line 372
# last system error: 0
# Check failed: rtc::AtomicOps::CompareAndSwapPtr( &g_event_logger, static_cast<EventLogger*>(nullptr), new EventLogger()) == nullptr
#
#
2020-12-23 17:19:28.763 11058-12034/com.civix.link A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 12034 (pool-25-thread-)
2020-12-23 16:25:11.941 3397-4190/com.civix.link E/libc++abi: Pure virtual function called!
2020-12-23 16:25:11.942 3397-4190/com.civix.link A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 4190 (ModuleProcessTh)
2020-12-23 16:25:12.008 811-4409/? D/QCamera2HWI: nightMode 0,CurBrightnessStatus 0,pme->mFlashNeeded=0,callPluginProcess
2020-12-23 16:25:12.140 4465-4465/? I/crash_dump32: obtaining output fd from tombstoned
2020-12-23 16:25:12.140 1048-1048/? I//system/bin/tombstoned: received crash request for pid 3397
2020-12-23 16:25:12.144 4465-4465/? I/crash_dump32: performing dump of process 3397 (target tid = 4190)
2020-12-23 16:25:12.145 4465-4465/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2020-12-23 16:25:12.145 4465-4465/? A/DEBUG: Build fingerprint: 'SHARP/FS8010_00WW/SS2:8.0.0/OPR1.170623.027/00WW_2_080:user/release-keys'
2020-12-23 16:25:12.145 4465-4465/? A/DEBUG: Revision: '0'
2020-12-23 16:25:12.145 4465-4465/? A/DEBUG: ABI: 'arm'
2020-12-23 16:25:12.145 4465-4465/? A/DEBUG: pid: 3397, tid: 4190, name: ModuleProcessTh >>> com.civix.link <<<
2020-12-23 16:25:12.145 4465-4465/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
2020-12-23 16:25:12.159 4465-4465/? A/DEBUG: Abort message: 'Pure virtual function called!'
2020-12-23 16:25:12.159 4465-4465/? A/DEBUG: r0 00000000 r1 0000105e r2 00000006 r3 00000008
2020-12-23 16:25:12.159 4465-4465/? A/DEBUG: r4 00000d45 r5 0000105e r6 a168be38 r7 0000010c
2020-12-23 16:25:12.159 4465-4465/? A/DEBUG: r8 00000003 r9 cdea7c91 sl 00000000 fp a833d720
2020-12-23 16:25:12.159 4465-4465/? A/DEBUG: ip 00000000 sp a168be28 lr ec0333b7 pc ec063a54 cpsr 200e0010
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: backtrace:
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #00 pc 0004aa54 /system/lib/libc.so (tgkill+12)
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #01 pc 0001a3b3 /system/lib/libc.so (abort+54)
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #02 pc 000329c9 /system/lib/vndk-sp/libc++.so (abort_message+88)
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #03 pc 0004bc97 /system/lib/vndk-sp/libc++.so (__cxa_pure_virtual+6)
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #04 pc 0032f91f /data/app/com.civix.link-aapo3L7H91rFZkDBkBch2A==/lib/arm/libjingle_peerconnection_so.so
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #05 pc 0013c293 /data/app/com.civix.link-aapo3L7H91rFZkDBkBch2A==/lib/arm/libjingle_peerconnection_so.so
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #06 pc 00209877 /data/app/com.civix.link-aapo3L7H91rFZkDBkBch2A==/lib/arm/libjingle_peerconnection_so.so
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #07 pc 00202625 /data/app/com.civix.link-aapo3L7H91rFZkDBkBch2A==/lib/arm/libjingle_peerconnection_so.so
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #08 pc 0020265f /data/app/com.civix.link-aapo3L7H91rFZkDBkBch2A==/lib/arm/libjingle_peerconnection_so.so
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #09 pc 0020b4d5 /data/app/com.civix.link-aapo3L7H91rFZkDBkBch2A==/lib/arm/libjingle_peerconnection_so.so
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #10 pc 0020b69f /data/app/com.civix.link-aapo3L7H91rFZkDBkBch2A==/lib/arm/libjingle_peerconnection_so.so
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #11 pc 00214c9d /data/app/com.civix.link-aapo3L7H91rFZkDBkBch2A==/lib/arm/libjingle_peerconnection_so.so
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #12 pc 002285d9 /data/app/com.civix.link-aapo3L7H91rFZkDBkBch2A==/lib/arm/libjingle_peerconnection_so.so
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #13 pc 0012c087 /data/app/com.civix.link-aapo3L7H91rFZkDBkBch2A==/lib/arm/libjingle_peerconnection_so.so
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #14 pc 0012c0e3 /data/app/com.civix.link-aapo3L7H91rFZkDBkBch2A==/lib/arm/libjingle_peerconnection_so.so
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #15 pc 00047d43 /system/lib/libc.so (_ZL15__pthread_startPv+22)
2020-12-23 16:25:12.172 4465-4465/? A/DEBUG: #16 pc 0001ae7b /system/lib/libc.so (__start_thread+34)
Really big problem that i have found, i dont know why it appear, first time i think that becase the "rtc frame" still passed but the renderer is null, but not.
Here is my close activity function, i tried to set try catch but unlucky it's not working :(
override fun onDestroy() {
Log.e(TAG, "on destroy")
updateMediaContactStatus(AppParam.AX_ROOM_CALLING_ANSWER_Stop)
NotificationUtils.dismissAllNotificaton(this@SingleCallScreen)
window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
super.onDestroy()
try {
EventBus.getDefault().unregister(this)
} catch (e: Exception) {
e.printStackTrace()
}
try {
stopJanus()
} catch (e: Exception) {
e.printStackTrace()
}
try {
rootEglBase?.release()
} catch (e: Exception) {
e.printStackTrace()
}
}
here is stopJanus function
private fun stopJanus() {
if (::roomJanusInfor.isInitialized) {
peerConnectionClient?.disableSpeaker(this@SingleCallScreen)
unPublicMedia()
mWebSocketChannel?.release()
mWebSocketChannel = null
peerConnectionClient?.close()
peerConnectionClient = null
local_render.release()
main_render.release()
}
}
Can u help me to see what wrong? Thanks
I trying to implement this janus for Android native app(not browser) in AndroidStudio and try make. While compile i see many errors some..
work/android/VPhoneChatAgent/Janus/janus-gateway-android-master/app/src/main/java/computician/janusclient/EchoTest.java
error: package org.webrtc does not exist
error: package org.webrtc does not exist
error: package org.webrtc does not exist
error: package VideoRenderer does not exist
error: package PeerConnection does not exist
error: cannot find symbol class MediaStream
error: cannot find symbol class VideoRenderer
error: cannot find symbol variable VideoRendererGui
error: package VideoRendererGui does not exist
error: package VideoRendererGui does not exist
../../../../../../../../../../../../../../../../../work/android/VPhoneChatAgent/Janus/janus-gateway-android-master/app/src/main/java/computician/janusclient/JanusActivity.java
error: package org.webrtc does not exist
error: package VideoRenderer does not exist
error: cannot find symbol variable VideoRendererGui
error: package VideoRendererGui does not exist
error: package VideoRendererGui does not exist
../../../../../../../../../../../../../../../../../work/android/VPhoneChatAgent/Janus/janus-gateway-android-master/app/src/main/java/computician/janusclient/VideoRoomTest.java
error: package org.webrtc does not exist
error: package org.webrtc does not exist
error: package VideoRenderer does not exist
error: package VideoRenderer does not exist
error: package VideoRenderer does not exist
error: cannot find symbol class MediaStream
error: cannot find symbol class MediaStream
error: package PeerConnection does not exist
error: cannot find symbol class VideoRenderer
error: cannot find symbol class VideoRenderer
..All this from not found module
org.webrtc
Whan i try search this modul in poject dependence i don't see any, that can resolve this dependence.
Can you help me?
I try to build the code, with some change at:
I use the demo: https://janus-legacy.conf.meetecho.com/videoroomtest.html
so promise to see my phone camera display on this demo but I can not publish the video
janus hangup with reason ICE failed:
onMessage{
"janus": "hangup",
"session_id": 3207712005427140,
"sender": 8580842305574727,
"reason": "ICE failed"
}
And when I use list request, this is the result:
{
"videoroom": "participants",
"room": 1234,
"participants": [
{
"id": 448782740804501,
"display": "test",
"publisher": true,
"talking": false,
"subscribers": 1
},
{
"id": 3622076583036274,
"display": "Android webrtc",
"publisher": false
},
{
"id": 8737059264509004,
"display": "Bob",
"publisher": false
}
]
}
Does anyone have the same issue?
Please help, thank you!
what i have to write in the
mWebSocketChannel.initConnection("ws://xxx:xxx");
because this is showing an error..
app is crashing whenever I am closing the connection
This project is great, but I have a question, if I do not need to use my camera at present, how to control?
CreateVideoCapturer () return null, does not show the other side of the picture.
thank you
My camera is turn to black when I try to see my self through html demo!
I Have installed the app in mobile and emulator.
Mobile is showing front camera after giving permissions explicitly.
Emulator is now showing it as it doesnot have one.
But when i run the apps in 2 devices - 1 actual mobile and 1 emulator
Call is not getting made.
from logs i can show the room ids is different for both.
for mobile
“data”: {
“videoroom”: “joined”,
“room”: 1234,
“description”: “Demo Room”,
“id”: 6285911059968947,
“private_id”: 794513885,
“publishers”: []
}
for emulator
“data”: {
“videoroom”: “joined”,
“room”: 1234,
“description”: “Demo Room”,
“id”: 2864803617316933,
“private_id”: 1799934300,
“publishers”: []
}
When remote video started but when I stop and restart it then video on application is hung up.It is not started again .Please suggest
Hi.
It really helped me a lot. Thank you.
Good connection to janus server, local screen is good. However, video transmission between devices is not possible.
What parts should I touch? Thank you very much for your reply.
<connection to janus(two device)>
Creating new session: 2731860959455720; 0x1c8e520
Creating new handle in session 2731860959455720: 8473885957692655; 0x1c8e520 0x1c75820
[8473885957692655] Creating ICE agent (ICE Full mode, controlled)
Creating new session: 6984670661975620; 0x1c75b40
Creating new handle in session 6984670661975620: 6294000228167432; 0x1c75b40 0x1c27940
[6294000228167432] Creating ICE agent (ICE Full mode, controlled)
Call is working fine.
Only problem is ICE Connection failure when any opponent peer or subscriber leaves the call.
ICE Connection gets disconnected for that peer. Which is fine. But then in 10 seconds of that. ICE Connection state failed received in PeerConnection onIceConnectionChange() callback.
No Clue why it triggered this failure.
Same code of Crossle is working fine in iOS Swift code.
ICE disconnected when other peer leaves VideoRoom but ICE Connection doesnot fails as in case of android.
Following logs flow can help in understanding.
These are from the state when opponnent peer drops call
janus: event - plugin -> unpublished
IceConnectionState newState is: DISCONNECTED
onIceDisconnected()
janus: hangup
janus: event - plugin -> leaving
subscriberOnLeaving()
janus: success
janus: detached
IceConnectionState newState is: FAILED
hello, i saw your codec support is vp8, vp9, h264. But these lines of code do nothings?
preferredVideoCodec = VIDEO_CODEC_VP8;
if (peerConnectionParameters.videoCodec != null) {
if (peerConnectionParameters.videoCodec.equals(VIDEO_CODEC_VP9)) {
preferredVideoCodec = VIDEO_CODEC_VP9;
} else if (peerConnectionParameters.videoCodec.equals(VIDEO_CODEC_H264)) {
preferredVideoCodec = VIDEO_CODEC_H264;
}
} -> no more method to force video codec
So can you provide way to force the codec, such as ios:
let encoderFactory = RTCVideoEncoderFactoryH264()
let decoderFactory = RTCVideoDecoderFactoryH264()
factory = RTCPeerConnectionFactory(encoderFactory: encoderFactory, decoderFactory: decoderFactory)
Thanks
I have logged into my video using janus video room.
I am able to get connect to my janus server as i am getting logs from server about my user on janus server.
Here on mobile i am able to see my camera view on local render view but not getting remote render view.
with this warning in logs
onMessage{
“janus”: “event”,
“session_id”: 509610509862512312,
“transaction”: “lBLNILwqvw2p”,
“sender”: 2853941759229518,
“plugindata”: {
“plugin”: “janus.plugin.videoroom”,
“data”: {
“videoroom”: “attached”,
“room”: 3456,
“id”: 4668964347315315,
“display”: “sajid1",
“warning”: “Deprecated use of ‘listener’ ptype, update to the new ‘subscriber’ ASAP”
}
},
Can we add multiple remote users for this ?
When i change app from vertical to horizontal mode or vise versa during video call.
App is crashing with following logs. Please can you look into it.
E/rtc: # # Fatal error in ../../../home/crossle/Code/webrtc/src/webrtc/base/event_tracer.cc, line 372 # last system error: 11 # Check failed: rtc::AtomicOps::CompareAndSwapPtr( &g_event_logger, static_cast<EventLogger*>(nullptr), new EventLogger()) == nullptr # # A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 10679 (pool-2-thread-1), pid 10621 (y.project) I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: SurfaceViewRenderer: local_video_view: onMeasure(). New size: 2246x765 SurfaceViewRenderer: remote_video_view: onMeasure(). New size: 2246x765 I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: SurfaceViewRenderer: local_video_view: onMeasure(). New size: 2157x765 SurfaceViewRenderer: remote_video_view: onMeasure(). New size: 2157x765 I/org.webrtc.Logging: EglRenderer: local_video_view: setLayoutAspectRatio: 2.8196077 EglRenderer: remote_video_view: setLayoutAspectRatio: 2.8196077 I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: SurfaceViewRenderer: local_video_view: surfaceChanged: format: 4 size: 2157x765 I/org.webrtc.Logging: SurfaceViewRenderer: remote_video_view: surfaceChanged: format: 4 size: 2157x765 I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface E/WebSocketChannel: onOpen I/org.webrtc.Logging: EglRenderer: local_video_view: Dropping frame - No surface I/org.webrtc.Logging: MediaCodecVideoEncoder: Sync frame generated Process 10621 terminated.
Yesterday it showed connection success response. I tried multiple times.
Now i try to run it again
my janus server is running
But app is giving this error
E/WebSocketChannel: onFailurejava.io.IOException: unexpected end of stream on okhttp3.Address@1e366953
I also try some solutions but nothing works
Tried this:
OkHttpClient client = new OkHttpClient.Builder() .retryOnConnectionFailure(true) .build();
Also tried this
addHeader("Connection","close")
Nothing worked.
Here is my camera when i display front camera in app
Here is the image when i view in Janus
I have a lot of searching to fix this orientation problem, but still stuck, can you give me some advise plz
What happened to this connection since from some days . As there is a healthy amount of delay in connecting from remote video. Can you please check on urgent basis.
When I change the room id from 1234 to some other double , local and remote both are not working .Can you please help me thanks in advance
Its still crashing with some exceptions when doing above code
A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0x8af0d610 in tid 26834 (pool-1-thread-1)
this is crash
Originally posted by @akbarattar3 in #1 (comment)
I want to mix local and remote audio, but the org.webrtc.audio package is missing in libwebrtc.
Can you also share the libwebrtc module project on Github?
or How can I mix remote audio and local audio?
i am trying to create audio room like in janus audio bridge demo but not sure where to start
hi , have you ever looked into this https://github.com/devopvoid/webrtc-java and possibly have a desktop implementation maybe using JavaFX or swing ?
when i set setAudioEnabled to false my microphone got muted but the incomming sound keeps playing why was that ?
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.