nextcloud / nextcloud/spreed

No self video on Chrome macOS

Open
#8,719 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

browser: Chrome/Chromium bug feature: call 📹 feature: frontend 🖌️
Dominant language
PHP
Stars
2.2k
Forks
587
Avg merge
18h 27m
Merged PRs (30d)
333

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce

  1. Create a new group conversation
  2. Start call using Google Chrome on macOS
  3. In "Camera and microphone check" choose camera and mic (yes, in this step camera shows up, can config bg blur n stuff)
  4. After input config Start call
  5. Observe that no self-video is present (the container is "transparent") and others in the call does not receive video from this instance either.

It sometimes work, after cold restart of Chrome. If the steps above result in video, then

  1. End call
  2. Wait a bit
  3. Start call
  4. Observe that no self-video is present (it is "transparent") and others in the call does not receive video from this instance either.
Expected behaviour

Video should show up

Actual behaviour

Video does not show up

Talk app

Talk app version: 15.0.3

Custom Signaling server configured: No

Custom TURN server configured: Yes

listening-port=3478
fingerprint
use-auth-secret
static-auth-secret=<set>
realm=<FQDN>
total-quota=100
bps-capacity=0
stale-nonce
no-multicast-peers
external-ip=<WAN IP>

Custom STUN server configured: No, using supplied stun.nextcloud.com:443

Browser

Microphone available: yes, USB

Camera available: yes, USB

Operating system: macOS 12.6.3 (21G419) Monterey

Browser name: Google Chrome

Browser version: 110.0.5481.77 (Official Build) (x86_64)

Browser notes:

Does not work on
- Google Chrome 110.0.5481.77 (Official Build) (x86_64)
Works on (same physical machine, camera/mic, OS)
- Firefox 109.0.1 (64-bit)
- Safari Version 16.3 (17614.4.6.11.4, 17614)

Browser log

js console with "-jQuery" filter starting from moment before clicking "Start call"

JitsiStreamBackgroundEffect.js:296 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
CallButton.vue:258 Joining call
react_devtools_backend.js:4012 oc_defaults is deprecated: use OC.theme instead, this will be removed in Nextcloud 20
tflite-simd.js:9 [WASM] Loading model of size: 249792
tflite-simd.js:9 INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
webrtc.js:1539 localMediaStarted

chrome://webrtc-internals/

Caller origin: https://<CLOUD FQDN>
Caller process id: 43732
getUserMedia call
Time: 14:12:14 GMT+0200 (Eastern European Standard Time)
Audio constraints: {deviceId: {exact: ["a3faed56736bde69bb3a9549f3eb0b0c26bb54e56a751f10f9fb5a85982be09a"]}}
Video constraints: {width: {ideal: 1920}, height: {ideal: 1200}, frameRate: {ideal: 60}, deviceId: {exact: ["0a6473228c0008139b7e4fa6eed46802e138d7a70486c01ed47cf9e0e20a4fbc"]}}
getUserMedia result
Time: 14:12:14 GMT+0200 (Eastern European Standard Time)
Stream id: OyESeHDm2UE4uGkkcf1Uk4f38ofT4yVMKhqh
Audio track: id:fa412b58-926e-47e0-a07b-915ae424f291 label:Unknown USB Audio Device (046d:09a6)
Video track: id:e3143264-4a00-4b39-8df8-0758635f7c4d label:USB Camera VID:1133 PID:2470 (046d:09a6)

Server configuration

Operating system: Ubuntu

Web server: Nginx

Database: Maria

PHP version: 7.4

Nextcloud Version: 25.0.3

List of activated apps:

Enabled:
  - activity: 2.17.0
  - bruteforcesettings: 2.5.0
  - calendar: 4.2.3
  - camerarawpreviews: 0.8.1
  - circles: 25.0.0
  - cloud_federation_api: 1.8.0
  - comments: 1.15.0
  - contacts: 5.0.3
  - contactsinteraction: 1.6.0
  - dashboard: 7.5.0
  - dav: 1.24.0
  - drawio: 2.1.0
  - federatedfilesharing: 1.15.0
  - federation: 1.15.0
  - files: 1.20.1
  - files_3dmodelviewer: 0.0.1
  - files_linkeditor: 1.1.13
  - files_pdfviewer: 2.6.0
  - files_rightclick: 1.4.0
  - files_sharing: 1.17.0
  - files_trashbin: 1.15.0
  - firstrunwizard: 2.14.0
  - logreader: 2.10.0
  - lookup_server_connector: 1.13.0
  - nextcloud_announcements: 1.14.0
  - notifications: 2.13.1
  - oauth2: 1.13.0
  - password_policy: 1.15.0
  - privacy: 1.9.0
  - provisioning_api: 1.15.0
  - recommendations: 1.4.0
  - related_resources: 1.0.3
  - richdocuments: 7.1.0
  - serverinfo: 1.15.0
  - settings: 1.7.0
  - spreed: 15.0.3
  - support: 1.8.0
  - suspicious_login: 4.3.0
  - systemtags: 1.15.0
  - text: 3.6.0
  - theming: 2.0.1
  - twofactor_backupcodes: 1.14.0
  - updatenotification: 1.15.0
  - user_status: 1.5.0
  - viewer: 1.9.0
  - weather_status: 1.5.0
  - workflowengine: 2.7.0
Disabled:
  - admin_audit
  - cadviewer: 8.22.2
  - dicomviewer
  - emlviewer
  - encryption
  - epubreader
  - files_bpm: 1.0.1
  - files_external
  - files_versions: 1.12.0
  - fileslibreofficeedit: 1.1.0
  - mail: 2.2.2
  - photos: 2.0.0
  - sharebymail: 1.15.0
  - survey_client: 1.13.0
  - twofactor_totp
  - user_ldap

Nextcloud configuration:

{
    "system": {
        "debug": false,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "<FQDN>"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "25.0.3.2",
        "overwrite.cli.url": "<FQDN>",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "maintenance": false,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "filelocking.enabled": true,
        "filelocking.ttl": 3600,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "dbindex": 0,
            "password": "***REMOVED SENSITIVE VALUE***",
            "timeout": 1.5
        },
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "PLAIN",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "ssl",
        "log_type": "file",
        "logfile": "</path/to/nextcloud.log>",
        "logfilemode": 416,
        "loglevel": 2,
        "logtimezone": "Europe\/Riga",
        "log_rotate_size": 104857600,
        "simpleSignUpLink.shown": false,
        "blacklisted_files": [],
        "default_phone_region": "LV",
        "default_language": "en_GB",
        "default_locale": "en_GB",
        "allow_local_remote_servers": true
    }
}
Server log (data/nextcloud.log)

cleared the log and no log messages were written during the process

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the missing self-video flow on Chrome 110 on macOS and inspect the logged entry points JitsiStreamBackgroundEffect.js, CallButton.vue, and webrtc.js. Compare the Chrome behavior with Firefox or Safari using the reported camera and TURN configuration. Done means the local video is visible and is received by other call participants after starting and restarting a call.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.