UV4L (RPi) - Conferencing with Janus WebRTC

1.4k Views Asked by At

I tried "Audio/Video Conferencing with Janus WebRTC Gateway" page. I left everything as default except I set the "Watch live audio & video from other participants" to "Yes". Then I joined the Janus video Room page at "https://janus.conf.meetecho.com/videoroomtest.html" from a Chrome browser (my laptop). I could see the streaming from my laptop camera on the page but no streaming from the RPi. Although it shows the streaming baud rate from RPI camera which is changing every second but it doesn't show the video. Also when I talk, I hear my voice from the RPi speakers, so the RPi is definitely connected but it cannot transfer the video properly. Any idea? Thanks in advance.

Also this is my raspicam.conf:

# This file contains the default values of SOME of all the available
# options for the UV4L core module, the raspicam driver, and the
# streaming server front-end.
#
# This file is referenced by the 'uv4l_raspicam' init script.
# Alternatively, it can be passed as argument to
# the '--driver-config-file' driver option and/or to the
# '--config-file' option of uv4l.
#
# Please refer to the 'uv4l', 'uv4l-raspicam' and 'uv4l-server' manual
# pages for all the valid options and values or for more informations
# about their meaning.

# NOTE: for multi argument options you must specify one arg per line,
# e.g --min-object-size 80 120 becomes:
# min-object-size = 80
# min-object-size = 120


##################################
# uv4l core options
##################################

driver = raspicam
# video_nr = 0
auto-video_nr = yes
# verbosity = 6
# syslog-host = localhost
# syslog-port = 514
# frame-timeout = 5000
frame-buffers = 4
# drop-bad-frames = yes
# relaxed-ownership = yes


##################################
# raspicam driver options
##################################

encoding = mjpeg
# width = 640
# height = 480
framerate = 30
#custom-sensor-config = 2

### dual camera options:
# stereoscopic-mode = side_by_side
# camera-number = 1
# decimate = yes
# swap-eyes = yes

### still and/or video options:
# quality = 85
# stills-denoise = yes
video-denoise = no
# raw = no

### h264 options:
# profile = high
# level = 4.2
# bitrate = 8000000
# intra-refresh-mode = dummy
# intra-period = #arg
# inline-headers = yes
# quantisation-parameter #arg

### video overlay options:
nopreview = no
fullscreen = no
# osd-layer = 2
# opacity = 255
### preview window <x, y, w, h>:
preview = 480
preview = 240
preview = 320
preview = 240

### post-processing options:
# text-overlay = yes
# text-filename = /usr/share/uv4l/raspicam/text.json
# object-detection = yes
# object-detection-mode = accurate_tracking
# min-object-size = 80
# min-object-size = 80
# main-classifier = /usr/share/uv4l/raspicam/lbpcascade_frontalface.xml
# secondary-classifier =/usr/share/uv4l/raspicam/lbpcascade_frontalface.xml

### image settings options:
# sharpness = 0
# contrast = 0
# brightness = 50
# saturation = 0
# iso = 400
# vstab = yes
# ev = 0
# exposure = auto
# awb = auto
# imgfx = none
# metering = average
# rotation = 0
# hflip = no
# vflip = no
# shutter-speed = 0
# drc = off
# red-gain = 100
# blue-gain = 100
# text-annotation = HelloWorld!
# text-annotation-background = yes
### ROI <x, y, w, h> normalized to [0, 1]
# roi = 0
# roi = 0
# roi = 1
# roi = 1
### ISP blocks
# black-level-compensation = yes
# lens-shading = yes
# automatic-defective-pixel-correlation = yes
# white-balance-gain = yes
# crosstalk = yes
# gamma = yes
# sharpening = yes

### TC358743 HDMI to MIPI converter options:
# tc358743 = no
# tc358743-i2c-dev = /dev/i2c-1
# tc358743-init-command = /usr/share/uv4l/raspicam/tc358743_init.sh
# tc358743-no-signal-fallthrough = no

### advanced options:
# statistics = yes
# output-buffers = 3

### serial Number & License Key:
# serial-number = #arg
# license-key = #arg


#################################
# streaming server options
#################################

### path to a separate config file that will be parsed by the streaming server
### module directly when it's loaded,
### in which you are allowed to specify all the streaming server options
### listed below in the short form "option=value" instead of the longer
### "--server-option = --option=value" form that you must use
### in this configuration file.
#server-config-file = #path

# server-option = --port=8080
# server-option = --bind-host-address=localhost
# server-option = --md5-passwords=no
# server-option = --user-password=myp4ssw0rd
# server-option = --admin-password=myp4ssw0rd
### To enable 'config' user authentication
# server-option = --config-password=myp4ssw0rd

### HTTPS options:
server-option = --use-ssl=yes
server-option = --ssl-private-key-file=/home/pi/selfsign.key
server-option = --ssl-certificate-file=/home/pi/selfsign.crt

### WebRTC options:
server-option = --enable-webrtc=yes
# server-option = --enable-webrtc-datachannels=yes
# server-option = --webrtc-datachannel-label=uv4l
# server-option = --webrtc-datachannel-socket=/tmp/uv4l.socket
server-option = --enable-webrtc-video=yes
server-option = --enable-webrtc-audio=yes
# server-option = --webrtc-receive-video=yes
# server-option = --webrtc-receive-datachannels=no
# server-option = --webrtc-received-datachannel-socket=/tmp/uv4l.socket
server-option = --webrtc-receive-audio=yes
server-option = --webrtc-received-audio-volume=10.0
# server-option = --webrtc-prerenderer-smoothing=yes
# server-option = --webrtc-recdevice-index=0
# server-option = --webrtc-vad=yes
# server-option = --webrtc-echo-cancellation=no
# server-option = --webrtc-preferred-vcodec=0
# server-option = --webrtc-enable-hw-codec=yes
# server-option = --webrtc-hw-vcodec-minbitrate=256
# server-option = --webrtc-hw-vcodec-maxbitrate=4000
# server-option = --webrtc-hw-vcodec-startbitrate=1200
server-option = --webrtc-max-playout-delay=34
# server-option = --webrtc-cpu-overuse-detection=no
# server-option = --webrtc-combined-audiovideo-bwe=no
# server-option = --webrtc-stun-urls=stun:stun.l.google.com:19302
# server-option = --webrtc-ice-servers=[{"urls": "stun:stun1.example.net"}, {"urls": "turn:turn.example.org", "username": "user", "credential": "myPassword"}]
# server-option = --webrtc-stun-server=yes
# server-option = --webrtc-tcp-candidate-policy=1
# server-option = --webrtc-rtcp-mux-policy=0
# server-option = --webrtc-enable-dscp=no
# server-option = --webrtc-ignore-loopback=yes
### video rendering window positions and sizes on the display.
### for each window, default values can be optionally overridden, but if you
### do this you must specify one line for each of the four x, y, width, height
### window properties (in that order).
### If fullscreen is set the image is stretched to the maximum available display
### resolution from the specified size.
### window 1
# server-option = --webrtc-renderer-window=0
# server-option = --webrtc-renderer-window=0
# server-option = --webrtc-renderer-window=480
# server-option = --webrtc-renderer-window=352
# server-option = --webrtc-renderer-fullscreen=no
# server-option = --webrtc-renderer-rotation=180
# server-option = --webrtc-renderer-opacity=255
### window 2
# server-option = --webrtc-renderer2-window=480
# server-option = --webrtc-renderer2-window=0
# server-option = --webrtc-renderer2-window=320
# server-option = --webrtc-renderer2-window=240
### window 3
# server-option = --webrtc-renderer3-window=0
# server-option = --webrtc-renderer3-window=352
# server-option = --webrtc-renderer3-window=176
# server-option = --webrtc-renderer3-window=128

### XMPP options:
# server-option = --xmpp-server=lambada.jitsi.net
# server-option = --xmpp-port=5222
# server-option = --xmpp-muc-domain=meet.jit.si
# server-option = --xmpp-room=room
# server-option = --xmpp-room-password=room_password
# server-option = --xmpp-username=me
# server-option = --xmpp-password=mypassword
# server-option = --xmpp-reconnect=yes
# server-option = --xmpp-bosh-enable
# server-option = --xmpp-bosh-tls
# server-option = --xmpp-bosh-server
# server-option = --xmpp-bosh-port
# server-option = --xmpp-bosh-hostname
# server-option = --xmpp-bosh-path
# server-option = --xmpp-bridge-host=localhost
# server-option = --xmpp-bridge-port=7999

### Janus WebRTC Gateway options:
# server-option = --janus-gateway-url=http://janus.conf.meetecho.com:8088
# server-option = --janus-gateway-root=/janus
# server-option = --janus-room=1234
# server-option = --janus-room-pin=#pin
# server-option = --janus-username=test
# server-option = --janus-token=#token
# server-option = --janus-proxy-host=#host
# server-option = --janus-proxy-port=80
# server-option = --janus-proxy-username=#user
# server-option = --janus-proxy-password=#password
# server-option = --janus-proxy-bypass=#regex
# server-option = --janus-force-hw-vcodec=no
# server-option = --janus-video-format=#code
# server-option = --janus-publish=yes
# server-option = --janus-subscribe=no
# server-option = --janus-reconnect=yes

### Fine-tuning options:
# server-option = --connection-timeout=15
# server-option = --enable-keepalive=yes
# server-option = --max-keepalive-requests=0
# server-option = --keepalive-timeout=7
# server-option = --max-queued-connections=8
# server-option = --max-streams=3
# server-option = --max-threads=5
# server-option = --thread-idle-time=10
# server-option = --chuncked-transfer-encoding=yes

### Advanced options:
# server-option = --frame-timeout=5000
# server-option = --frame-buffers=auto

### These options are specific to the HTTP/HTTPS Server
### serving custom Web pages only:
server-option = --enable-www-server=yes
server-option = --www-root-path=/usr/share/uv4l/demos/facedetection/
server-option = --www-index-file=index.html
server-option = --www-port=443
# server-option = --www-bind-host-address=#host
# server-option = --www-password=#password
server-option = --www-use-ssl=yes
server-option = --www-ssl-private-key-file=/home/pi/selfsign.key
server-option = --www-ssl-certificate-file=/home/pi/selfsign.crt
# server-option = --www-connection-timeout=15
# server-option = --www-enable-keepalive=no
# server-option = --www-max-keepalive-requests=0
# server-option = --www-keepalive-timeout=7
# server-option = --www-max-queued-connections=8
# server-option = --www-max-threads=4
# server-option = --www-thread-idle-time=10
# server-option = --www-chuncked-transfer-encoding=no
# server-option = --www-set-etag-header=yes
server-option = --www-webrtc-signaling-path=/webrtc

### Other options:
# server-option = --editable-config-file=#path
# server-option = --enable-control-panel=yes
# server-option = --enable-rest-api=yes
0

There are 0 best solutions below