tgm17
Posts: 8
Joined: Wed Sep 06, 2017 10:14 pm

UV4L - No www folder

Wed Sep 13, 2017 9:21 pm

I installed UV4l on Debian Jessie. There is no "www" folder under the "/var" folder! Where is the physical folder for the localhost?
Thanks.

RpiName
Posts: 611
Joined: Sat Jul 06, 2013 3:14 am

Re: UV4L - No www folder

Wed Sep 13, 2017 10:41 pm

tgm17 wrote:
Wed Sep 13, 2017 9:21 pm
There is no "www" folder under the "/var" folder!
If you want UV4L to run your custom web app, you generally have to properly specify those options starting with --www-* in the configuration file or via command line. For detailed informations on these options, please read the uv4l-server manual. The online version of this manual is here: https://www.linux-projects.org/document ... 4l-server/

If you need a very simple example on how to deploy and run a web application, follow the same approach as in this tutorial:
https://www.linux-projects.org/uv4l/tut ... detection/

The UV4L Streaming Server really embeds "two servers": one serving built-in web pages useful for the end-users to try or test all the media streaming functionalities. These pages cannot be modified as they are statically linked to the binary; and another one serving custom web apps (mentioned earlier). The former listens to port 8080 by default and is the one you can access right after having installed UV4L according to the instructions. It can be disabled through the appropriate options, if required.

tgm17
Posts: 8
Joined: Wed Sep 06, 2017 10:14 pm

Re: UV4L - No www folder

Thu Sep 14, 2017 3:17 pm

Thanks RpiName.
I tried to run the Face Detection demo. I see the demo page when I point my browser to "https://{RPi IP Address}" but when I click the "Start Streaming" button nothing happens. My chrome debugger shows a call to wss://{RPi IP Address}/webrtc. The status is 101. Any idea?

Here 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

RpiName
Posts: 611
Joined: Sat Jul 06, 2013 3:14 am

Re: UV4L - No www folder

Sat Sep 16, 2017 4:55 pm

tgm17 wrote:
Thu Sep 14, 2017 3:17 pm
Any idea?
I have personally tried to run that tutorial and also enabled the HTTPS as you you seemed to do from your config file and everything worked as expected with or without HTTPS. If you see no video, probably your browser does not support the H264 codec which is set in the code used in the tutorial?

Return to “Camera board”

Who is online

Users browsing this forum: No registered users and 16 guests