summaryrefslogtreecommitdiffstats
path: root/playbook.org
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2021-11-20 20:17:07 -0500
committerSacha Chua <sacha@sachachua.com>2021-11-20 20:17:07 -0500
commitc42aa40033fd9d16e1da51cccc56b6063d6eec6e (patch)
treeeb6956cceacd452c63bc5d9b3860e36e2019a3b8 /playbook.org
parentfd4aa97b1f39cc0d696e382b66f01cc6bc6f9d1e (diff)
downloademacsconf-wiki-c42aa40033fd9d16e1da51cccc56b6063d6eec6e.tar.xz
emacsconf-wiki-c42aa40033fd9d16e1da51cccc56b6063d6eec6e.zip
Add custom IDs, streaming script
Diffstat (limited to 'playbook.org')
-rw-r--r--playbook.org75
1 files changed, 75 insertions, 0 deletions
diff --git a/playbook.org b/playbook.org
index 1083a52e..49281f95 100644
--- a/playbook.org
+++ b/playbook.org
@@ -81,6 +81,9 @@
- Backchannel for easy viewing
*** Start streaming :stream:
+:PROPERTIES:
+:CUSTOM_ID: start-streaming
+:END:
- HOST: Display getting-ready message
- STREAM: Set up BBB view in organizer room to have HOST's webcam maximized
@@ -103,6 +106,9 @@
** Talk process
*** Check in a speaker
+:PROPERTIES:
+:CUSTOM_ID: check-in
+:END:
Exception: [[*CHECK is unavailable][CHECK is unavailable]]
@@ -139,6 +145,9 @@ Exception: [[*CHECK is unavailable][CHECK is unavailable]]
*** Present talk
+:PROPERTIES:
+:CUSTOM_ID: present
+:END:
- CHECK marks previous talk as done and notes the time finished:
- ${conf}
@@ -165,6 +174,9 @@ Exception: [[*CHECK is unavailable][CHECK is unavailable]]
- HOST nudges speaker verbally.
*** Publish information
+:PROPERTIES:
+:CUSTOM_ID: publish
+:END:
- CHECK updates the schedule in:
- ${conf}
@@ -199,6 +211,9 @@ ${description}
- wiki page for talk
*** Handle Q&A
+:PROPERTIES:
+:CUSTOM_ID: questions
+:END:
Exceptions:
- [[*Speaker has not checked in][Speaker has not checked in]]
@@ -235,12 +250,18 @@ Exceptions:
- [[*Present talk][Present next talk]]
** Break time
+:PROPERTIES:
+:CUSTOM_ID: break
+:END:
- CHECK stops and restarts the Toobnix restreaming process, and re-checks the stream
- CHECK uses =conf-upcoming-add-subtree= to add the afternoon talks to upcoming.org
- HOST doublechecks network transfer limit and server health
** End of stream
+:PROPERTIES:
+:CUSTOM_ID: end
+:END:
- CHECK stops ffmpeg process for Youtube
- CHECK stops ffmpeg process for main-480p
@@ -249,23 +270,35 @@ Exceptions:
** In case of...
*** Last-minute prerecording submission
+:PROPERTIES:
+:CUSTOM_ID: last-minute-prerec
+:END:
- CHECK will copy it from the FTP upload server to ${protected} and name it appropriately.
- CHECK will notify STREAM with the scp command and the mpv command so that STREAM can choose.
*** Last-minute caption update
+:PROPERTIES:
+:CUSTOM_ID: last-minute-captions
+:END:
- CHECK uploads the --main.vtt file to ${protected}
- CHECK notifies STREAM via ${upcoming}
- STREAM uses the provided commands to download the VTT file and load it into MPV with =--sub-file=
*** Speaker has not checked in
+:PROPERTIES:
+:CUSTOM_ID: missing
+:END:
- Let the previous talk run a little longer for Q&A; end at least in time for the prerec
- After the previous Q&A wraps up, play the prerec
- [? still not around after prerec finishes]
- HOST: Speaker might be having some difficulty connecting, but we'll collect your questions on the pad and send them afterwards.
- Can play next prerec a few minutes early
*** Speaker does not have a prerec and has not checked in
+:PROPERTIES:
+:CUSTOM_ID: really-missing
+:END:
- Let the previous talk do live Q&A/demo if ready
- Close to the time of the missing talk:
- See if any of the previous speakers want to be set up for an impromptu talk/extension in a BBB room, just in case
@@ -285,6 +318,9 @@ Exceptions:
accept a prerecording afterwards, then include it on the site and in
post-conference communication
*** Alternate stream volunteer wants to stream (nice to have, at risk)
+:PROPERTIES:
+:CUSTOM_ID: alternate
+:END:
- CHECK gives ALTERNATE the BBB room URL for the talk they are interested in
- ALTERNATE starts streaming to assigned end point
- CHECK confirms stream
@@ -295,24 +331,48 @@ Exceptions:
- HOST sends ${alternate-url} to IRC: Alternate stream for ${title}: ${alternate-url}
- ALTERNATE notifies #emacsconf-org when the stream is done.
- CHECK updates ${stream-status} to note that the alternate stream is finished.
+
+ FFMPEG process for sending the desktop and audio to the $CONFALT mountpoint on Linux with X11 and Alsa:
+
+ 1. Set the CONFALT environment variable to icecast://user:password@live0.emacsconf.org:8000/alt.webm
+ 2. Install pavucontrol if you don't have it already.
+ 3. Start the following command:
+ #+begin_src sh :eval no :tangle playbook/stream-desktop-and-audio.sh
+ while 1; do ffmpeg -reconnect_at_eof 1 -reconnect_streamed 1 -loglevel 0 -ar 48000 -f alsa -channels 2 -sample_rate 48000 -i default -re -video_size 1280x720 -framerate 25 -f x11grab -i :0.0 -cluster_size_limit 2M -cluster_time_limit 5100 -content_type video/webm -c:v libvpx -b:v 1M -crf 30 -g 125 -deadline good -threads 4 -f webm $CONFALT; done
+ #+end_src
+ 4. Use pavucontrol to set the recording source for the ffmpeg
+ command to be the audio monitor, so you get system output as
+ well.
*** Pad malfunction or mess-up
+:PROPERTIES:
+:CUSTOM_ID: pad-broken
+:END:
- PAD resets the pad using https://etherpad.wikimedia.org/p/emacsconf-2021/timeslider
- [? still not recovered]
- PAD reimports the pad from backup
*** CRDT malfunctions
+:PROPERTIES:
+:CUSTOM_ID: crdt-broken
+:END:
- HOST notifies CHECK and tries reconnecting
- [? still doesn't work]
- Switch to backup Etherpad
*** Conduct guidelines issue
+:PROPERTIES:
+:CUSTOM_ID: conduct
+:END:
- HOST addresses it (on-camera if needed) with a reminder and/or a kick or a ban
*** CHECK is unavailable
+:PROPERTIES:
+:CUSTOM_ID: check-gone
+:END:
- HOST does check-ins
- HOST refers to conf.org for Q&A preference etc.
@@ -322,10 +382,16 @@ Exceptions:
- Updating schedule/wiki on the fly
*** HOST is unavailable
+:PROPERTIES:
+:CUSTOM_ID: host-gone
+:END:
- Either STREAM or CHECK does hosting
*** Technical issues during a live presentation
+:PROPERTIES:
+:CUSTOM_ID: live-issues
+:END:
- HOST tries to contact the speaker
- [? back on track]
@@ -338,6 +404,9 @@ Exceptions:
be able to follow up after the conference
*** Big technical issues with streaming
+:PROPERTIES:
+:CUSTOM_ID: stream-issues
+:END:
- HOST notifies #emacsconf and #emacsconf-org and pad
- HOST updates the 2021.md wiki page
@@ -349,6 +418,9 @@ Exceptions:
- STREAM e-mails the mailing list
*** live0 can't handle the load or is close to network transfer limit
+:PROPERTIES:
+:CUSTOM_ID: network
+:END:
- OR:
- Redirect some viewers via asking in #emacsconf:
@@ -358,6 +430,9 @@ Exceptions:
- Add additional node to Linode account for shared transfer pool (TODO: doublecheck)
* Before the conference
+:PROPERTIES:
+:CUSTOM_ID: before
+:END:
** Help speakers with tech checks
- Explain process
- Test audio, webcam, screensharing, collaborative pad