0

I've had no luck getting audio working with uv4l-uvc / webrtc. I've tried connecting from a Mac with chrome 54.0.2840.98 and firefox 49.0.2. Video works fine on both but no audio on either.

I verified that I can record audio from the Logitech C920 webcam using arecord and aplayback.

I am running the server with SSL enabled if that's any factor. Launch args and log output are:

uv4l --device-id 046d:082d --config-file=/etc/uv4l/uv4l-uvc.conf

<notice> [core] Trying driver 'uvc' from built-in drivers...
<warning> [core] Driver 'uvc' not found
<notice> [core] Trying driver 'uvc' from external plug-in's...
<notice> [driver] Video functionality '' recognized at 046d:082d
<notice> [core] Device detected!
<notice> [core] Registering device node /dev/video0

First question, what does the "Driver 'uvc' not found" warning mean ?  Is it of any consequence to the no-audio problem ?

Here's my config file uv4l-uvc.conf (sorry for the big paste):

    # This file contains the default values of SOME of all the available
# options for the UV4L core module, the UVC driver, and the
# streaming server front-end.
#
# This file is referenced by the 'uv4l_uvc' system script.
# Alternatively, it can be passed as argument to
# the '--driver-config-file' driver option and/or to the
# '--config-file' option of uv4l. Options passed via command line
# will override those specified in this file.
#
# Please refer to the 'uv4l', 'uv4l-uvc' 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 --mutiargs-option 80 120 in the command line becomes:
# multiargs-option = 80
# multiargs-option = 120

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

driver = uvc
# 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


##################################
# UVC driver options
##################################
# device-path = <bus>:<address>
#   path to the USB device to detect in the form bus:address (as hexadecimal numbers)

# device-id = <vid>:<pid>
# alternative to 'device-path', vendor and product identifiers of the USB device


#################################
# 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=8090
# 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=/etc/ssl/private/selfsign.key
server-option = --ssl-certificate-file=/etc/ssl/private/selfsign.crt

### WebRTC options:
server-option = --enable-webrtc=yes
server-option = --enable-webrtc-video=yes
server-option = --enable-webrtc-audio=yes
# server-option = --enable-webrtc-datachannels=yes
# server-option = --webrtc-datachannel-label=uv4l
# server-option = --webrtc-datachannel-socket=/tmp/uv4l.socket
server-option = --webrtc-receive-video=yes
### video rendering window size on display
### all four lines below one for each (x, y, width, height)
### fullscreen should be disabled if you want to set the size of the window:
# 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
# server-option = --webrtc-renderer2-window=480
# server-option = --webrtc-renderer2-window=0
# server-option = --webrtc-renderer2-window=320
# server-option = --webrtc-renderer2-window=240
# 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=5.0
# server-option = --webrtc-prerenderer-smoothing=yes
# 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=800
# 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=yes
# server-option = --webrtc-ignore-loopback=yes

### 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=no
# server-option = --www-root-path=/usr/share/uv4l/www/
# 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=/etc/ssl/private/selfsign.key
server-option = --www-ssl-certificate-file=/etc/ssl/private/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

### Other options:
# server-option = --editable-config-file=#path
# server-option = --enable-control-panel=yes
# server-option = --enable-rest-api=yes
  • read the installation instructions: it's clearly mentioned how to make use of the audio input of the webcam with the /etc/asound.conf file linux-projects.org/uv4l/installation . Another option is to just flash the VideoConferincing DEMO OS which works out of the box and has everything configured: linux-projects.org/rpi-videoconference-demo-os . Just plugin the webcam first and then access to the dedicate streaming server running on the rpi running at port 8000. – strumpet Nov 15 '16 at 16:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.