AminArria / janus_erlang_wrapper_demo

Demo for a Erlang app wrapping Janus
Apache License 2.0
20 stars 8 forks source link

[FATAL] [dtls.c:janus_dtls_load_keys:290] Error opening certificate file #1

Closed lc3t35 closed 5 years ago

lc3t35 commented 5 years ago

Following your instructions, the docker for Janus fails to start with this error :

---------------------------------------------------
  Starting Meetecho Janus (WebRTC Server) v0.7.5
---------------------------------------------------

Checking command line arguments...
Debug/log level is 4
Debug/log timestamps are disabled
Debug/log colors are enabled
Adding 'vmnet' to the ICE ignore list...
Using 172.18.0.2 as local IP...
[WARN] Token based authentication disabled
Initializing recorder code
Initializing ICE stuff (Full mode, ICE-TCP candidates disabled, half-trickle, IPv6 support disabled)
STUN server to use: stun.l.google.com:19302
  >> 74.125.140.127:19302 (IPv4)
Testing STUN server: message is of 20 bytes
  >> Our public address is 159.65.24.201
TURN REST API backend: (disabled)
Crypto: OpenSSL >= 1.1.0
[WARN] The libsrtp installation does not support AES-GCM profiles
[FATAL] [dtls.c:janus_dtls_load_keys:290] Error opening certificate file

What's missing in the installation prerequisites or configuration steps ?

AminArria commented 5 years ago

Weird, seems to fail opening a certificate file. Some versions might not be pin down an mess the installation

I'll try a fresh install later tonight and see how it goes.

Let me know if you manage to fix it.

AminArria commented 5 years ago

@lc3t35 I've fixed it in latest commit ca0efac.

Seems like a change in Janus now causes the error when the cert config is present, but no cert is found.

PS: If error persist (or some other error) fill free to reopen/keep using this issue

lc3t35 commented 5 years ago

Solved, thank you !

Janus commit: 38d29d0f02db14c8dd07e1ded0c4d250f502ca1c
Compiled on:  Tue Sep 17 21:38:07 UTC 2019

---------------------------------------------------
  Starting Meetecho Janus (WebRTC Server) v0.7.5
---------------------------------------------------

Checking command line arguments...
Debug/log level is 4
Debug/log timestamps are disabled
Debug/log colors are enabled
Adding 'vmnet' to the ICE ignore list...
Using 172.18.0.2 as local IP...
[WARN] Token based authentication disabled
Initializing recorder code
Initializing ICE stuff (Full mode, ICE-TCP candidates disabled, half-trickle, IPv6 support disabled)
STUN server to use: stun.l.google.com:19302
  >> 74.125.140.127:19302 (IPv4)
Testing STUN server: message is of 20 bytes
  >> Our public address is 159.65.24.201
TURN REST API backend: (disabled)
Crypto: OpenSSL >= 1.1.0
[WARN] The libsrtp installation does not support AES-GCM profiles
[WARN] No cert/key specified, autogenerating some...
Fingerprint of our certificate: 88:...:3D
[WARN] Event handlers support disabled
Plugins folder: /opt/janus/lib/janus/plugins
Sessions watchdog started
Joining Janus requests handler thread
Loading plugin 'libjanus_echotest.so'...
JANUS EchoTest plugin initialized!
Loading plugin 'libjanus_nosip.so'...
JANUS NoSIP plugin initialized!
Loading plugin 'libjanus_textroom.so'...
JANUS TextRoom plugin initialized!
Loading plugin 'libjanus_sip.so'...
JANUS SIP plugin initialized!
Loading plugin 'libjanus_videocall.so'...
JANUS VideoCall plugin initialized!
Loading plugin 'libjanus_streaming.so'...
JANUS Streaming plugin initialized!
Loading plugin 'libjanus_videoroom.so'...
JANUS VideoRoom plugin initialized!
Loading plugin 'libjanus_audiobridge.so'...
JANUS AudioBridge plugin initialized!
Loading plugin 'libjanus_voicemail.so'...
JANUS VoiceMail plugin initialized!
Loading plugin 'libjanus_recordplay.so'...
JANUS Record&Play plugin initialized!
Transport plugins folder: /opt/janus/lib/janus/transports
Loading transport plugin 'libjanus_pfunix.so'...
[WARN] Unix Sockets server disabled (Janus API)
[WARN] Unix Sockets server disabled (Admin API)
[WARN] No Unix Sockets server started, giving up...
[WARN] The 'janus.transport.pfunix' plugin could not be initialized
Loading transport plugin 'libjanus_websockets.so'...
[WARN] libwebsockets has been built without IPv6 support, will bind to IPv4 only
libwebsockets logging: 0
WebSockets server started (port 8188)...
[WARN] Secure WebSockets server disabled
[WARN] Admin WebSockets server disabled
[WARN] Secure Admin WebSockets server disabled
JANUS WebSockets transport plugin initialized!
WebSockets thread started
Loading transport plugin 'libjanus_http.so'...
HTTP webserver started (port 8088, /janus path listener)...
[WARN] HTTPS webserver disabled
[WARN] Admin/monitor HTTP webserver disabled
[WARN] Admin/monitor HTTPS webserver disabled
JANUS REST (HTTP/HTTPS) transport plugin initialized!

I can connect to the web page, following the given steps but there is no video displayed as broadcaster, where should be the video file ? maybe can you explain the html file in priv/static/janus-client ?

<video id="localVideo" autoplay muted style="width:40%;"></video>
<video id="remoteVideo" autoplay style="width:40%;"></video>
AminArria commented 5 years ago

What OS and browser are you using? The autoplay might cause some issues and you will probably have to allow the video recording, but it worked fine for me on macOS Firefox 69

Did it populate the room and feed fields?

lc3t35 commented 5 years ago

OSX and FF68. I can see the controls but no video. Which video is displayed, where is it stored ? Yes it populate the room and feed fields, no error in the console.

AminArria commented 5 years ago
Screen Shot 2019-09-18 at 17 57 16

That's how it should display for a broadcaster. The video isn't stored anywhere, it's just as watching any other kind of video stream.

Did you try both options, janus-client and api-client?

lc3t35 commented 5 years ago

yep tried both, with Chrome too. It seems that the authorization to access the camera is not processed/given. I don't run at localhost but real server, maybe missing https can break the demo ?

AminArria commented 5 years ago

Ow... Outside of localhost I can't guarantee it will work. I'll try spinning up one later and see how it goes.

Nonetheless, since room and feed fields are populated connection to server seems to be working fine, so it looks to be a purely client-side specific issue. Try manually giving the permissions.

Also, if you don't mind, you could send me the IP/domain name of the server and I'll see if I can run the demo in my browser.