metaprovide / talked Goto Github PK
View Code? Open in Web Editor NEWCall recording for Nextcloud Talk
License: GNU Affero General Public License v3.0
Call recording for Nextcloud Talk
License: GNU Affero General Public License v3.0
I am sorry for large listing
Talked server and NextCloud are separate hosts
get fresh install
10.222.10.55 - - [21/Sep/2022:08:58:26 +0300] "DELETE /ocs/v2.php/apps/spreed/api/v4/call/fmrnh4x8 HTTP/1.1" 200 81 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:16 +0300] "GET /ocs/v2.php/apps/spreed/api/v1/chat/fmrnh4x8?setReadMarker=0&lookIntoFuture=1&lastKnownMessageId=16740&includeLastKnown=0 HTTP/1.1" 200 301 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:27 +0300] "POST /ocs/v2.php/apps/spreed/api/v4/call/fmrnh4x8 HTTP/1.1" 200 81 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:27 +0300] "GET /ocs/v2.php/apps/spreed/api/v1/chat/fmrnh4x8?setReadMarker=0&lookIntoFuture=1&lastKnownMessageId=16742&includeLastKnown=0 HTTP/1.1" 200 304 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:28 +0300] "GET /ocs/v2.php/apps/spreed/api/v4/call/fmrnh4x8 HTTP/1.1" 200 701 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:30 +0300] "GET /ocs/v2.php/apps/spreed/api/v4/room/fmrnh4x8 HTTP/1.1" 200 839 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:38 +0300] "DELETE /ocs/v2.php/apps/spreed/api/v4/call/fmrnh4x8 HTTP/1.1" 200 81 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:38 +0300] "POST /ocs/v2.php/apps/spreed/api/v4/room/fmrnh4x8/participants/active HTTP/1.1" 200 841 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:28 +0300] "GET /ocs/v2.php/apps/spreed/api/v1/chat/fmrnh4x8?setReadMarker=0&lookIntoFuture=1&lastKnownMessageId=16743&includeLastKnown=0 HTTP/1.1" 200 302 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:40 +0300] "GET /ocs/v2.php/apps/spreed/api/v4/call/fmrnh4x8 HTTP/1.1" 200 436 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:40 +0300] "POST /ocs/v2.php/apps/spreed/api/v4/call/fmrnh4x8 HTTP/1.1" 200 81 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:40 +0300] "GET /ocs/v2.php/apps/spreed/api/v1/chat/fmrnh4x8?setReadMarker=0&lookIntoFuture=1&lastKnownMessageId=16744&includeLastKnown=0 HTTP/1.1" 200 303 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:41 +0300] "GET /ocs/v2.php/apps/spreed/api/v4/call/fmrnh4x8 HTTP/1.1" 200 699 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:43 +0300] "GET /ocs/v2.php/apps/spreed/api/v4/room/fmrnh4x8 HTTP/1.1" 200 838 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:43 +0300] "GET /ocs/v2.php/apps/spreed/api/v4/room/fmrnh4x8 HTTP/1.1" 200 838 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:51 +0300] "DELETE /ocs/v2.php/apps/spreed/api/v4/call/fmrnh4x8 HTTP/1.1" 200 81 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:51 +0300] "POST /ocs/v2.php/apps/spreed/api/v4/room/fmrnh4x8/participants/active HTTP/1.1" 200 838 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:42 +0300] "GET /ocs/v2.php/apps/spreed/api/v1/chat/fmrnh4x8?setReadMarker=0&lookIntoFuture=1&lastKnownMessageId=16745&includeLastKnown=0 HTTP/1.1" 200 301 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:52 +0300] "POST /ocs/v2.php/apps/spreed/api/v4/call/fmrnh4x8 HTTP/1.1" 200 81 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:52 +0300] "GET /ocs/v2.php/apps/spreed/api/v1/chat/fmrnh4x8?setReadMarker=0&lookIntoFuture=1&lastKnownMessageId=16746&includeLastKnown=0 HTTP/1.1" 200 304 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:54 +0300] "GET /ocs/v2.php/apps/spreed/api/v4/call/fmrnh4x8 HTTP/1.1" 200 697 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:58:55 +0300] "GET /ocs/v2.php/apps/spreed/api/v4/room/fmrnh4x8 HTTP/1.1" 200 837 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
10.222.10.55 - - [21/Sep/2022:08:59:04 +0300] "DELETE /ocs/v2.php/apps/spreed/api/v4/call/fmrnh4x8 HTTP/1.1" 200 81 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
DEBUG:selenium.webdriver.remote.remote_connection:Remote response: status=200 | data={"value":null} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '14', 'date': 'Wed, 21 Sep 2022 06:12:04 GMT'})
DEBUG:selenium.webdriver.remote.remote_connection:Finished Request
INFO:root:Starting ffmpeg process
INFO:root:Recording has started
[pid: 14236|app: 0|req: 1/1] 10.222.10.71 () {32 vars in 359 bytes} [Wed Sep 21 09:11:49 2022] POST /start => generated 37 bytes in 19692 msecs (HTTP/1.1 200) 2 headers in 71 bytes (1 switches on core 0)
[x11grab @ 0x55eaef1f19c0] Stream #0: not enough frames to estimate rate; consider increasing probesize
INFO:root:Stop ffmpeg process
INFO:root:Stop browser
DEBUG:selenium.webdriver.remote.remote_connection:DELETE http://localhost:46841/session/0c005eb8-ab4c-4859-90a1-b1518b77b756/window {}
how to turn on debug selenium/firefox to get logs?
how to fix it
Hi there,
In order to record multiple rooms, I should create one docker per room I want to record, right?
Tried following the installation setup in README (both client and server) and didn't succeed in getting it working: the server returns an empty response. This is most likely not a bug, but rather me missing something due to the not-so-comprehensive documentation and no help from Stackoverflow and such.
Ubuntu 20.04
nginx/1.18.0
Nextcloud 23.0.0
[Unit]
Description=talked
Requires=network.target
After=network.target
[Service]
WorkingDirectory=/opt/talked
User=talked
Group=talked
RuntimeDirectory=talked
Environment=TALKED_CONFIG_PATH=/opt/talked/config.toml
ProtectSystem=full
ProtectHome=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
PrivateTmp=yes
NoNewPrivileges=yes
SyslogIdentifier=talked
StandardOutput=syslog
StandardError=syslog
ExecStart=/opt/talked/talked/bin/uwsgi --socket 127.0.0.1:3031 --logto /opt/talked/uwsgi.log --master --manage-script-name --mount /=talked.main:app
Restart=always
[Install]
WantedBy=multi-user.target
location /talked {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031;
auth_basic "Nothing to see here, move along";
auth_basic_user_file /opt/talked/.htpasswd;
}
The content of uwsgi log file after a couple of failed requests:
*** Starting uWSGI 2.0.20 (64bit) on [Sun Feb 20 16:17:51 2022] ***
compiled with version: 9.3.0 on 19 February 2022 14:31:49
os: Linux-5.4.0-100-generic #113-Ubuntu SMP Thu Feb 3 18:43:29 UTC 2022
nodename: nextcloud
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /opt/talked
detected binary path: /opt/talked/talked/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
your processes number limit is 15188
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address 127.0.0.1:3031 fd 3
Python version: 3.8.10 (default, Nov 26 2021, 20:14:08) [GCC 9.3.0]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x557262ef09a0
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 145840 bytes (142 KB) for 1 cores
*** Operational MODE: single process ***
mounting talked.main:app on /
WSGI app 0 (mountpoint='/') ready in 0 seconds on interpreter 0x557262ef09a0 pid: 13259 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 13259)
spawned uWSGI worker 1 (pid: 13278, cores: 1)
[pid: 13278|app: 0|req: 1/1] 23.88.50.247 () {38 vars in 430 bytes} [Sun Feb 20 16:18:14 2022] GET /talked => generated 232 bytes in 12 msecs (HTTP/1.1 404) 2 headers in 87 bytes (1 switches on core 0)
[pid: 13278|app: 0|req: 2/2] 23.88.50.247 () {38 vars in 430 bytes} [Sun Feb 20 16:19:07 2022] GET /talked => generated 232 bytes in 1 msecs (HTTP/1.1 404) 2 headers in 87 bytes (1 switches on core 0)
invalid request block size: 21573 (max 4096)...skip
>> curl 127.0.0.1:3031
curl: (52) Empty reply from server
>> sudo -u www-data php occ talked:record 'xxxxxxxx' 'status'
An unhandled exception has been thrown:
TypeError: Return value of OCA\Talked\Command\Record::sendPostRequest() must be of the type string, null returned in /var/www/nextcloud/apps/talked/lib/Command/Record.php:207
Stack trace:
#0 /var/www/nextcloud/apps/talked/lib/Command/Record.php(109): OCA\Talked\Command\Record->sendPostRequest()
#1 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OCA\Talked\Command\Record->execute()
#2 /var/www/nextcloud/3rdparty/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run()
#3 /var/www/nextcloud/3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
#4 /var/www/nextcloud/3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun()
#5 /var/www/nextcloud/lib/private/Console/Application.php(211): Symfony\Component\Console\Application->run()
#6 /var/www/nextcloud/console.php(99): OC\Console\Application->run()
#7 /var/www/nextcloud/occ(11): require_once('/var/www/nextcl...')
Server: 0.3.1, installed through PIP according to the instructions in README
Client: 0.3.0, installed through Nextcloud apps
Followed the install instructions, and have the nextcloud instance talking to the talked instance
(hosted on same server)
however when running /recording start
getting a few errors about pulse audio and x11
ubuntu 20.04.03 LTS Server
Running on a hyperV VM (not sure if relevent or not?)
log output here
https://pastebin.com/FZVzA6FJ
not sure of version?
installed today following the install instructions on home page
Have base_url be sent by the client, instead of specifying it in the config.
Hello
We have installed talked server on our same nextcloud server (Latest Version of Nextcloud) by following procedure
Nextcloud is running through apache without docker.
https://github.com/MetaProvide/talked
And installed the talked client from app store. Registered the commands as:
sudo -u www-data php occ talk:command:add recording Talked “php /var/www/html/nextcloud/files/occ talked:record {ROOM} {ARGUMENTS}” 2 2
Created conversation and invited nextcloud user via link.
But when run command in chat /recording start, it says “An error occurred while running the command. Please ask an administrator to check the logs.”
Logs:
InvalidArgumentException: Chat command failed [Code: 1]: php /var/www/html/nextcloud/files/occ talked:record ‘du4jf9ty’ ‘start’
Error: Attempt to read property “message” on null at /var/www/html/nextcloud/files/apps/talked/lib/Command/Record.php#204
Os: Debian 10
Thanks
After starting the FF and Selenium, the Talk room cannot be created.
/recording start
Stock Debian Bullseye
INFO:root:Starting virtual x server
DEBUG:easyprocess:command: ['Xvfb', '-help']
DEBUG:easyprocess:process was started (pid=286607)
DEBUG:easyprocess:process has ended, return code=0
DEBUG:pyvirtualdisplay.abstractdisplay:command: ['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '1280x720x24', '-displayfd', '7']
DEBUG:pyvirtualdisplay.abstractdisplay:set $DISPLAY=:0
INFO:root:Starting browser
INFO:root:https://example.com/nextcloud/index.php/call/efnahyey
INFO:root:Configuring browser options
INFO:root:Creating browser
DEBUG:selenium.webdriver.remote.remote_connection:POST http://127.0.0.1:41687/session {"capabilities": {"firstMatch": [{}], "alwaysMatch": {"browserName": "firefox", "acceptInsecureCerts": true, "moz:firefoxOptions": {"prefs": {"media.navigator.permission.disabled": true, "privacy.webrtc.legacyGlobalIndicator": false, "full-screen-api.warning.timeout": 0}, "args": ["--kiosk", "--width=1280", "--height=720"]}}}, "desiredCapabilities": {"browserName": "firefox", "acceptInsecureCerts": true, "moz:firefoxOptions": {"prefs": {"media.navigator.permission.disabled": true, "privacy.webrtc.legacyGlobalIndicator": false, "full-screen-api.warning.timeout": 0}, "args": ["--kiosk", "--width=1280", "--height=720"]}}}
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 127.0.0.1:41687
DEBUG:urllib3.connectionpool:http://127.0.0.1:41687 "POST /session HTTP/1.1" 200 699
DEBUG:selenium.webdriver.remote.remote_connection:Finished Request
INFO:root:Navigate to call link
DEBUG:selenium.webdriver.remote.remote_connection:POST http://127.0.0.1:41687/session/435c43c3-b4e5-45d2-aad3-124f4726e8c4/url {"url": "https://example.com/nextcloud/index.php/call/efnahyey"}
DEBUG:urllib3.connectionpool:http://127.0.0.1:41687 "POST /session/435c43c3-b4e5-45d2-aad3-124f4726e8c4/url HTTP/1.1" 200 14
...
DEBUG:selenium.webdriver.remote.remote_connection:Finished Request
WARNING:root:Failed to load the Talk room.
[pid: 286470|app: 0|req: 1/1] 127.0.0.1 () {32 vars in 401 bytes} [Fri Sep 23 14:39:51 2022] POST /start => generated 44 bytes in 25406 msecs (HTTP/1.1 200) 2 headers in 71 bytes (1 switches on core 0)
Talked version 0.4.0 configured per instructions
Please let me know if additional info is required - more than happy to help.
It happens when quickly stopping and starting the talked server and then launching a recording.
Greetings!
I have a Nextcloud (25.0.3) server and I tried setting up the Talked server on another AWS VM (Ubuntu 20.04.3 LTS) following the procedure at: https://github.com/MetaProvide/talked. When I am using the command "/recording start
" in a chat room, I am getting an error "An error occurred while running the command. Please ask an administrator to check the logs.
" the logs from the Nextcloud are:
"PHP Error: Attempt to read property "message" on null at /mypath/apps/talked/lib/Command/Record.php#204
" and "spreed InvalidArgumentException: Chat command failed [Code: 1]: php /mypath/occ talked:record 'ah6u7siz' 'start'
".
My systemd service contains:
[Unit]
Description=talked
Requires=network.target
After=network.target
[Service]
WorkingDirectory=/opt/talked
User=talked
Group=talked
RuntimeDirectory=talked
Environment=TALKED_CONFIG_PATH=/opt/talked/config.toml
ProtectSystem=full
ProtectHome=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
PrivateTmp=yes
NoNewPrivileges=yes
SyslogIdentifier=talked
StandardOutput=syslog
StandardError=syslog
ExecStart=/opt/talked/talked/bin/uwsgi --http 127.0.0.1:5000 --die-on-term --master --manage-script-name --mount /=talked.main:app
Restart=always
[Install]
WantedBy=multi-user.target
My apache (Apache/2.4.41) config file:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName talked.mydomain.com
DocumentRoot /var/www/talked
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/talked">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
SSLEngine on
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
Include /etc/letsencrypt/options-ssl-apache.conf
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:5000
ProxyPassReverse / http://127.0.0.1:5000
SSLCertificateFile /etc/letsencrypt/live/talked.mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/talked.mydomain.com/privkey.pem
</VirtualHost>
</IfModule>
I believe I have set this up correctly but I am getting the error. I have searched over the web for the same but I can hardly see a post that covers this issue.
Note: I have gone through this as well - #44
Further, on visiting the link (https://talked.mydomain.com) on the browser, after authentication, I am getting:
{"message":"version: 0.5.0"}
which seems okay.
Looking forward to hearing from you.
So far, I am yet to meet a single person other than the developers who have managed to install a Talked server and get it to a fully functional state. I encountered so many problems that I just stopped trying at some point.
This looks like a perfect use case for Docker if the developers could provide an image for the Talked server.
What would be even better is to eventually include this image into Nextcloud AIO. It would increase the user base for this software tremendously.
Shared secret authentication
The first line in the readme: "Talked works by launching a Firefox instance in a virtual framebuffer, joining the Talk call, and then recording whatever is on screen using FFmpeg."
Seems like a very high overhead approach. It really shouldn't be using firefox (or any kind of web browser) at all. This is especially important since most SERVERS won't have firefox or any of the thousand GUI-related dependencies installed. Instead, it should hook directly up to the streams being sent from the server, and feed them into a multi-track MKV file. There is no reason for any transcoding, since the streams are already compressed for transfer over the network, just capture each video and audio track straight to disk. Media players like VLC are capable of presenting MKV files with any number of video and audio tracks.
You can check with the implementation in the mobile applications for how to connect to a call and receive the streams. As this would be a recording-only client, you obviously don't need to implement the sending part.
https://nextcloud-talk.readthedocs.io/en/latest/
Also look up webrtc
Here's somewhere to look at what NC does internally; https://help.nextcloud.com/t/how-do-i-connect-webrtc-for-talk-manually/108167
Previously have successfully installed LibreTranslate in Nextcloud and the default port number is also 5000 same as Talked server.
Any chance in the configuration of Talked server can modify the port number to others. Thanks.
General Description
Created public room and issue /recording start but failed.
All the settings and services are presumed to be running well and ok:
Run out of ideas and hope someone can provide some guidance on how to solve it. Thank you very much.
A clear and concise description of what the bug is.
If applicable, add screenshots to help explain your problem.
Please consider your privacy, before completing this section.
Example: Ubuntu 16.04
Please consider your privacy, before completing this section.
Which Talked version are you using? How did you install it?
[I think] by default you record the mp4. This is often useful and alright.
But in many cases, I only want to have mp3 audio only - it would maybe reduce computation, storage and bandwidth.
Would be cool to have a toggle option of what format to record. [Maybe also support .wav etc]
Hi there,
I'm implementing streaming output support to talked. I implemented support, for now just for "audio_only = True" use case (and tested with icecast output):
https://github.com/ColmenaDev/talked
Please advice on what should go to json parameters and what should go to config file. Also, ffmpeg in docker is too old, and tee plugin is not working with onfail (so for now I'm using two encoding pipelines in ffmpeg available in ubuntu 20.04). It would be nice to update dockerfile to Debian 11 or Ubuntu 22.04.
This will allow recording of none public Talk rooms. Automatically adding and removing the recording user from the room when the recording is started and stopped would be very useful.
Hi
I have installed talked on ubuntu, and intergrate it with nextcloud talk. When i run command "/recording start" i get following error
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/opt/talked/talked/lib/python3.8/site-packages/talked/recorder.py", line 52, in start
browser = launch_browser(call_link, msg_queue, nextcloud_version, grid_view)
File "/opt/talked/talked/lib/python3.8/site-packages/talked/recorder.py", line 132, in launch_browser
change_name_of_user(driver, nextcloud_version)
File "/opt/talked/talked/lib/python3.8/site-packages/talked/recorder.py", line 208, in change_name_of_user
driver.find_element_by_css_selector("input.username-form__input").send_keys(
AttributeError: 'WebDriver' object has no attribute 'find_element_by_css_selector'
talked: 0.4V
Nextcloud: 24
Please suggest solution
itll make life easy
The syntax "find_element_by_ ... " throws an AttributeError with the latest version of Selenium, because that syntax is deprecated
find_element_by_css_selector(
has to be replaced with find_element(By.CSS_SELECTOR,
find_element_by_tag_name(
has to be replaced with find_element(By.TAG_NAME,
more on https://selenium-python.readthedocs.io/locating-elements.html
Ubuntu 22.04.1 LTS, python 3.10, selenium 4.4.3
File "/opt/talked/talked/lib/python3.10/site-packages/talked/recorder.py", line 208, in change_name_of_user
driver.find_element_by_css_selector("input.username-form__input").send_keys(
AttributeError: 'WebDriver' object has no attribute 'find_element_by_css_selector'
Talked client version: [e.g. 0.4.0]
Talked server version: [e.g. 0.4.0]
It would be AWESOME if the recorder can create a different audio track for each user. This would be very useful for ending up with a higher quality and easier audio-editing, as nobody talks over each other, at least in the recording.
The tomlkit library seems like a good option
These are the Debian dependencies that are used in Talked:
pulseaudio
xvfb
ffmpeg
python3
python3-flask
python3-selenium
python3-tomlkit (Will be added soon)
python3-pyvirtualdisplay
uwsgi
uwsgi-plugin-python3
Firefox gecko driver
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.