summaryrefslogtreecommitdiffstats
path: root/README.org
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--README.org100
1 files changed, 12 insertions, 88 deletions
diff --git a/README.org b/README.org
index 73fe80f..5282ff4 100644
--- a/README.org
+++ b/README.org
@@ -297,98 +297,17 @@ For each track:
1. Install the Tampermonkey extension by going to https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/ .
-2. Install the BBB script by clicking on the Tampermonkey extension, choosing *Install New Script*, and pasting in the following:
-
- #+begin_src js :eval no
- // ==UserScript==
- // @name Emacsconf BBB setup
- // @namespace https://emacsconf.org/
- // @version 0.2
- // @description Join BBB and set things up
- // @author Sacha Chua
- // @match https://bbb.emacsverse.org/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=emacsverse.org
- // @grant none
- // ==/UserScript==
- (
- async function() {
- 'use strict';
- const NAME = 'emacsconf';
- async function waitUntil(conditionFunc, interval=500, timeout=null) {
- let initResult = conditionFunc();
- if (initResult) return initResult;
- return new Promise((resolve, reject) => {
- let timeSoFar = 0;
- let timer = setInterval(() => {
- let result = conditionFunc();
- if (result) {
- clearInterval(timer);
- resolve(result);
- }
- timeSoFar += interval;
- if (timeout && timeSoFar > timeout) {
- clearInterval(timer);
- reject();
- }
- }, interval);
- });
- }
- // https://stackoverflow.com/questions/66536154/changing-input-text-of-a-react-app-using-javascript
- function setNativeValue(element, value) {
- const valueSetter = Object.getOwnPropertyDescriptor(element, 'value').set;
- const prototype = Object.getPrototypeOf(element);
- const prototypeValueSetter = Object.getOwnPropertyDescriptor(prototype, 'value').set;
-
- if (valueSetter && valueSetter !== prototypeValueSetter) {
- prototypeValueSetter.call(element, value);
- } else {
- valueSetter.call(element, value);
- }
- }
- setTimeout(function() {
- if (document.querySelector('input#joinFormName')) {
- setNativeValue(document.querySelector('input#joinFormName'), NAME);
- document.querySelector('input#joinFormName').dispatchEvent(new Event('input', { bubbles: true }));
- document.querySelector('input#consentCheck').click()
- document.querySelector('button[type="submit"]').click();
- return;
- }
- if (document.querySelector('.icon-bbb-listen')) {
- document.querySelector('.icon-bbb-listen').closest('button').click();
- }
- if (document.querySelector('.icon-bbb-user')) {
- document.querySelector('.icon-bbb-user').closest('button').click();
- }
- }, 2000);
- })();
- #+end_src
+2. Install the BBB script by clicking on the Tampermonkey extension, choosing *Install New Script*, and using this as the URL. Enable checking for updates.
+
+ https://live.emacsconf.org/emacsconf-tampermonkey-bbb.js
+
+ (these are updated by the Ansible playbook tag "static")
Press =Ctrl+s= to save.
3. Add this script for IRC:
- #+begin_src js :eval no
-// ==UserScript==
-// @name Connect to EmacsConf chat automatically
-// @namespace https://emacsconf.org/
-// @version 0.1
-// @description try to take over the world!
-// @author You
-// @match https://chat.emacsconf.org/*
-// @icon https://www.google.com/s2/favicons?sz=64&domain=emacsconf.org
-// @grant none
-// ==/UserScript==
-
-(function() {
- 'use strict';
- setTimeout(() => {
- if (document.querySelector('.connect-row')) {
- document.querySelector('.connect-row').closest('form').querySelector('button').click();
- }
- }, 1000);
-})();
- #+end_src
-
+ https://live.emacsconf.org/emacsconf-tampermonkey-irc.js
4. Join an BBB meeting and switch out of full-screen with F11. Check the address bar to see if autoplay is disabled (crossed-out autoplay icon). If it is, click on it and change *Block audio* to *Allow audio and video*.
@@ -419,6 +338,9 @@ ffmpeg -y -i handwritten/reencode.webm -t 60 -vcodec copy -acodec copy test.webm
nodemon -w . -e yml -x 'ansible-playbook -i inventory.yml prod-playbook.yml --tags vnc; true'
* Restreaming
+:PROPERTIES:
+:ID: 20251122T182719.845166
+:END:
Add something like this to your ~prod-vars.yml~:
@@ -460,7 +382,9 @@ restreaming_platforms:
source: gen.webm
#+end_src
-It doesn't get automatically started, so you'll also need to call ~screen -S restream-$TRACK_ID-youtube~ and ~screen -S restream-$TRACK_ID-toobnix~.
+This will set up scripts on the live0 server.
+
+It doesn't get automatically started, so you'll also need to call ~screen -S restream-$SHIFT_ID-youtube~ and ~screen -S restream-$TRACK_ID-toobnix~.
* BBB
ansible-playbook -i inventory.yml prod-playbook.yml --tags bbb
* Local testing with vagrant