summaryrefslogtreecommitdiffstats
path: root/2022/organizers-notebook
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2022/organizers-notebook.md182
-rw-r--r--2022/organizers-notebook/index.org170
2 files changed, 304 insertions, 48 deletions
diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md
index 7b432a22..0f19aa17 100644
--- a/2022/organizers-notebook.md
+++ b/2022/organizers-notebook.md
@@ -764,32 +764,150 @@ ex: liberapay, patreon, anyone looking for a job, etc.
zaeph is available on 2022-11-06
-- Streams
+Goals:
+
+- Good: Streamers are set up to broadcast from their own OBS if needed (could be a backup plan, could be the main plan)
+- Better: Streamers can connect to the VNC session for their track, manage OBS, start videos (with overlays), and browse the Q&A links
+- Best: Streamers can connect via emacsclient in orga@res.emacsconf.org, manage the task status, and have everything working
+
+Agenda:
+
+- Get familiar with the setup
+- Consider whether we want to prioritize local OBS (more screen real estate) or stream OBS (easier swapping, can be controlled remotely)
+- Consider whether we want mumble to be able to quickly add audio; how do we want to set it up scene-wise?
+
+
+### Broadcasting from local OBS
+
+- You can copy the profile from your track or look inside it for the icecast mount point details:
+ - Gen: rsync -avze ssh emacsconf-gen@res.emacsconf.org:~/.config/obs-studio/basic/profiles/ ~/.config/obs-studio/basic/profiles/
+ - Dev: rsync -avze ssh emacsconf-dev@res.emacsconf.org:~/.config/obs-studio/basic/profiles/ ~/.config/obs-studio/basic/profiles/
+
+- Sacha will turn off the OBS recordings on res so that you can test streaming from your computer
+ - If you’re doing this independently, you can jump ahead to “Test connecting to the VNC” in order to stop the recording yourself
+
+- Verify with MPV:
+
+ mpv https://live0.emacsconf.org/emacsconf/gen.webm
+ mpv https://live0.emacsconf.org/emacsconf/dev.webm
+
+- With luck, the 480p streams will be up automatically as well
+
+ mpv https://live0.emacsconf.org/emacsconf/gen-480p.webm
+ mpv https://live0.emacsconf.org/emacsconf/dev-480p.webm
+
+
+### Connecting to the track VNC
+
+1. Stop broadcasting locally if you were testing local OBS.
+
+2. Install a VNC viewer on your system (ex: tigervnc-viewer).
+
+3. Set up your local environment:
+ - gen: export TRACK=gen; export TRACK\_PORT=5905
+ - dev: export TRACK=dev; export TRACK\_PORT=5906
+4. Copy the password:
+
+ scp emacsconf-$TRACK@res:~/.vnc/passwd vnc-passwd-$TRACK
+
+5. Forward your local ports:
+
+ ssh emacsconf-$TRACK@res.emacsconf.org -N -L $TRACK\_PORT:127.0.0.1:$TRACK\_PORT &
+
+6. Connect via VNC viewer to the appropriate forwarded port from your laptop
+
+ xvncviewer 127.0.0.1:$TRACK\_PORT -shared -geometry 1280x720 -passwd vnc-passwd-$TRACK
+
+ (If this doesn’t find a VNC server to connect to, you can start it with `ssh emacsconf-$TRACK@res.emacsconf.org ~/bin/track-vnc`)
+
+7. Start recording. It’s probably on workspace 2, so you can switch with Alt-2. Confirm that it is now broadcasting to the stream.
+
+8. Verify with MPV on your local system:
+
+ mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm
+
+9. With luck, the 480p streams will be up automatically as well. On your local system:
+
+ mpv https://live0.emacsconf.org/emacsconf/$TRACK-480p.webm
+
+10. Play a video. It should display the video and update the overlays. If you need to update the overlays manually, you can copy files from `/data/emacsconf/overlays` onto `$HOME/other.png` and `$HOME/video.png`.
+
+ cd /data/emacsconf/stream/2022
+ track-mpv filename.webm
+
+11. Test Q&A. You can either wait for the video to finish or quit it with “q”.
+ You can paste in the URLs or use
+ `firefox /data/emacsconf/2022/index-$TRACK.html`
+
+ i3 cheat sheet:
+
+ - Alt-Enter creates a terminal
+ - Alt-d runs a command
+ - Alt-e toggles horizontal/vertical split
+ - Alt-f toggles full-screen
+ - Alt-w switches to tabbed view
+ - Alt-1 switches to workspace 1, Alt-2 switches to workspace 2
+ - Alt-Shift-2 moves things to workspace 2
+ - Alt-Shift-Left moves the current window to the left
+ - Alt-Shift-Right moves the current window to the right
+
+ 10. Use OBS or `pavucontrol` to adjust the volume of BBB as needed.
+
+ 11. Start an Emacs for emergency announcements.
+
+
+### Managing the stream from the agenda
+
+ssh orga@res.emacsconf.org
+emacsclient -c -nw -a emacs
+
+You can then use
+
+- emacsconf-stream-play-video
+- emacsconf-stream-open-qa-windows-on-change
+- emacsconf-agenda-by-track
+- emacsconf-agenda
+
+If things are going well, you can use C-c C-t on the agenda view to change a talk to PLAYING, CLOSED\_Q, or OPEN\_Q, and various things should appen in the background.
+
+Task shortcut:
+
+- **m (mpv):** PLAYING - -stream-play-video, emacsconf-stream-set-talk-info, publish the files to the media directory
+- **q (Q&A):** CLOSED\_Q
+- **o (open):** update the BBB redirect URLs to let people into the room
+
+
+### Checklist for later dry run
+
+1. Streams
- [ ] General stream
- [ ] Development stream
- [ ] 480p streams
- - [ ] Toobnix stream
- - [ ] YouTube stream
-- Scenes
+2. Scenes
- [ ] Intro
- [ ] Prerec
- [ ] Q&A: live
- [ ] Q&A: IRC
- [ ] Q&A: pad
-- [ ] IRC channels
+3. [ ] IRC channels
- [ ] Announce
- [ ] Question handling
- [ ] Timers
-- [ ] Watching pages
+4. [ ] Watching pages
- [ ] Before launch
- [ ] Streaming
- [ ] Emergency announcement
-- [ ] Pads
-- [ ] Wiki
+5. [ ] Pads
+6. [ ] Wiki
- [ ] Schedule update
- [ ] Message on the schedule
- [ ] Prerec live
-- [ ] Wind everything down
+7. [ ] Wind everything down
+
+Later on
+
+- [ ] Toobnix stream
+- [ ] YouTube stream
### Create test
@@ -942,8 +1060,7 @@ Please keep the backstage password and other speakers’ talk resources
secret. If you see a talk that you’d like to caption, you can e-mail
me at sacha@sachachua.com and I can reserve it for you. Then you can
correct any misrecognized words, fix capitalizations, remove filler
-words as needed, and maybe even split and merge the subtitles to make
-them read more nicely.${wrap}
+words as needed, and so on.${wrap}
You can find captioning tips at <https://emacsconf.org/captioning/> .
Feel free to use your favourite subtitle editor, and you can convert
@@ -1211,13 +1328,17 @@ Goals:
3. Start up the VNC server if it&rsquo;s not already running
- ssh emacsconf-$TRACK@res.emacsconf.org -L $TRACK\_PORT:127.0.0.1:$TRACK\_PORT &ldquo;~/bin/track-vnc; sleep infinity&rdquo;
+ ssh emacsconf-$TRACK@res.emacsconf.org ~/bin/track-vnc
-4. Connect via VNC viewer to the appropriate forwarded port from your laptop
+4. Forward your local ports
+
+ ssh emacsconf-$TRACK@res.emacsconf.org -N -L $TRACK\_PORT:127.0.0.1:$TRACK\_PORT &
+
+5. Connect via VNC viewer to the appropriate forwarded port from your laptop
xvncviewer 127.0.0.1:$TRACK\_PORT -shared -geometry 1280x720 -passwd vnc-passwd-$TRACK
-5. Set up a viewer so that you can monitor the stream
+6. Set up a viewer so that you can monitor the stream
mpv <https://live0.emacsconf.org/emacsconf/$TRACK.webm>
@@ -1225,7 +1346,7 @@ Goals:
### Connect to the conf file on res.emacsconf.org
ssh orga@res.emacsconf.org
-emacsclient -a -c -nw
+emacsclient -c -nw -a emacs
### Play a talk
@@ -1359,7 +1480,18 @@ echo &rsquo;{ &ldquo;command&rdquo;: [&ldquo;loadfile&rdquo;, &ldquo;test2.webm&
### DONE Move my conf.org setup to res so that we can control everything from there
-### TODO Set timers for echoing text into the appropriate places and starting videos
+### TODO Set timers for changing todo state
+
+ (defun emacsconf-schedule-test-buffer (info)
+ (mapcar (lambda (o) (plist-put o :buffer "1") o) info))
+ (let ((emacsconf-schedule-strategies '(emacsconf-schedule-test-buffer)))
+ (emacsconf-stream-schedule-timers (emacsconf-schedule-prepare
+ (emacsconf-schedule-inflate-sexp
+ `(("Test" :start ,(format-time-string "%Y-%m-%d %H:%M"
+ (time-add (current-time) (seconds-to-time 60))))
+ (journalism :time "1")
+ (school :time "1")
+ (handwritten :time "1"))))))
### TODO Figure out how to work with the layout
@@ -2952,7 +3084,7 @@ Probably focus on grabbing the audio first and seeing what&rsquo;s worth keeping
Make a table of the form
-<table id="org2207b7a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="org54251e6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@@ -3920,7 +4052,7 @@ Where:
Nice if there&rsquo;s an Ansible playbook
sachac&rsquo;s notes:
- <file:///home/zaeph/code/docker/emacsconf-publish/>
+ <file:///home/sacha/code/docker/emacsconf-publish/>
- probably good to set it up on front
It&rsquo;s now on front.
@@ -4407,6 +4539,14 @@ Sacha Chua
:url (format "https://media.emacsconf.org/%s/backstage" emacsconf-year)
:password emacsconf-backstage-password
:captioner-email (assoc-default "EMAIL" captioner-info)
+ :captioner-volunteered
+ (if (string= (plist-get talk :captioner) "sachac")
+ "I edited the captions, and here they are."
+ (format "%s volunteered to edit the captions for your video." (assoc-default "NAME_SHORT" captioner-info)))
+ :captioner-thanks
+ (if (string= (plist-get talk :captioner) "sachac")
+ "It was fun working on your captions. Thanks!"
+ (format "%s: Thank you for editing the captions!" (assoc-default "NAME_SHORT" captioner-info)))
:captions (with-temp-buffer (insert-file-contents captions) (buffer-string))))
(mml-attach-file captions "text/vtt" "Subtitles" "attachment")))
@@ -4418,8 +4558,8 @@ Sacha Chua
Hi ${speakers-short}!
Because you sent in your video early, we were able to caption it so
-that more people can find and enjoy your talk. ${captioner}
-volunteered to caption your talk video, and here it is. I&rsquo;ve attached
+that more people can find and enjoy your talk. ${captioner-volunteered}
+I&rsquo;ve attached
the caption text file in case you want to review it, suggest any
corrections, or use the text in a blog post or elsewhere. You can look
at the attached file or watch your video with closed captions at
@@ -4427,7 +4567,7 @@ ${url} (username: emacsconf, password: ${password}). I've also
included the captions at the end of this e-mail for your convenience.
Thanks again for your contribution!${wrap}
-${captioner}: Thanks!
+${captioner-thanks}
Sacha
diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org
index 40964ba9..6ae4cd24 100644
--- a/2022/organizers-notebook/index.org
+++ b/2022/organizers-notebook/index.org
@@ -438,40 +438,156 @@ waiting for prerecs
maybe after we get the prerecs
ex: liberapay, patreon, anyone looking for a job, etc.
** BLOCKED Do a dry run
-SCHEDULED: <2022-11-06 Sun>
+SCHEDULED: <2022-11-06 Sun 13:00>
:PROPERTIES:
:CUSTOM_ID: dry-run
:END:
zaeph is available on 2022-11-06
-- Streams
- - [ ] General stream
- - [ ] Development stream
- - [ ] 480p streams
- - [ ] Toobnix stream
- - [ ] YouTube stream
-- Scenes
- - [ ] Intro
- - [ ] Prerec
- - [ ] Q&A: live
- - [ ] Q&A: IRC
- - [ ] Q&A: pad
-- [ ] IRC channels
- - [ ] Announce
- - [ ] Question handling
- - [ ] Timers
-- [ ] Watching pages
- - [ ] Before launch
- - [ ] Streaming
- - [ ] Emergency announcement
-- [ ] Pads
-- [ ] Wiki
- - [ ] Schedule update
- - [ ] Message on the schedule
- - [ ] Prerec live
-- [ ] Wind everything down
+Goals:
+- Good: Streamers are set up to broadcast from their own OBS if needed (could be a backup plan, could be the main plan)
+- Better: Streamers can connect to the VNC session for their track, manage OBS, start videos (with overlays), and browse the Q&A links
+- Best: Streamers can connect via emacsclient in orga@res.emacsconf.org, manage the task status, and have everything working
+Agenda:
+- Get familiar with the setup
+- Consider whether we want to prioritize local OBS (more screen real estate) or stream OBS (easier swapping, can be controlled remotely)
+- Consider whether we want mumble to be able to quickly add audio; how do we want to set it up scene-wise?
+
+*** Broadcasting from local OBS
+ - You can copy the profile from your track or look inside it for the icecast mount point details:
+
+ - Gen: rsync -avze ssh emacsconf-gen@res.emacsconf.org:~/.config/obs-studio/basic/profiles/ ~/.config/obs-studio/basic/profiles/
+ - Dev: rsync -avze ssh emacsconf-dev@res.emacsconf.org:~/.config/obs-studio/basic/profiles/ ~/.config/obs-studio/basic/profiles/
+
+ - Sacha will turn off the OBS recordings on res so that you can test streaming from your computer
+ - If you're doing this independently, you can jump ahead to "Test connecting to the VNC" in order to stop the recording yourself
+
+ - Verify with MPV:
+ #+begin_example
+ mpv https://live0.emacsconf.org/emacsconf/gen.webm
+ mpv https://live0.emacsconf.org/emacsconf/dev.webm
+ #+end_example
+
+ - With luck, the 480p streams will be up automatically as well
+ #+begin_example
+ mpv https://live0.emacsconf.org/emacsconf/gen-480p.webm
+ mpv https://live0.emacsconf.org/emacsconf/dev-480p.webm
+ #+end_example
+
+*** Connecting to the track VNC
+
+ 1. Stop broadcasting locally if you were testing local OBS.
+
+ 2. Install a VNC viewer on your system (ex: tigervnc-viewer).
+
+ 3. Set up your local environment:
+
+ - gen: export TRACK=gen; export TRACK_PORT=5905
+ - dev: export TRACK=dev; export TRACK_PORT=5906
+ 4. Copy the password:
+
+ scp emacsconf-$TRACK@res:~/.vnc/passwd vnc-passwd-$TRACK
+
+ 5. Forward your local ports:
+
+ ssh emacsconf-$TRACK@res.emacsconf.org -N -L $TRACK_PORT:127.0.0.1:$TRACK_PORT &
+
+ 6. Connect via VNC viewer to the appropriate forwarded port from your laptop
+
+ xvncviewer 127.0.0.1:$TRACK_PORT -shared -geometry 1280x720 -passwd vnc-passwd-$TRACK
+
+ (If this doesn't find a VNC server to connect to, you can start it with ~ssh emacsconf-$TRACK@res.emacsconf.org ~/bin/track-vnc~)
+
+ 7. Start recording. It's probably on workspace 2, so you can switch with Alt-2. Confirm that it is now broadcasting to the stream.
+
+ 8. Verify with MPV on your local system:
+ #+begin_example
+ mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm
+ #+end_example
+
+ 9. With luck, the 480p streams will be up automatically as well. On your local system:
+ #+begin_example
+ mpv https://live0.emacsconf.org/emacsconf/$TRACK-480p.webm
+ #+end_example
+
+ 10. Play a video. It should display the video and update the overlays. If you need to update the overlays manually, you can copy files from ~/data/emacsconf/overlays~ onto ~$HOME/other.png~ and ~$HOME/video.png~.
+
+ #+begin_example
+ cd /data/emacsconf/stream/2022
+ track-mpv filename.webm
+ #+end_example
+
+ 11. Test Q&A. You can either wait for the video to finish or quit it with "q".
+ You can paste in the URLs or use
+ ~firefox /data/emacsconf/2022/index-$TRACK.html~
+
+ i3 cheat sheet:
+ - Alt-Enter creates a terminal
+ - Alt-d runs a command
+ - Alt-e toggles horizontal/vertical split
+ - Alt-f toggles full-screen
+ - Alt-w switches to tabbed view
+ - Alt-1 switches to workspace 1, Alt-2 switches to workspace 2
+ - Alt-Shift-2 moves things to workspace 2
+ - Alt-Shift-Left moves the current window to the left
+ - Alt-Shift-Right moves the current window to the right
+
+ 12. Use OBS or ~pavucontrol~ to adjust the volume of BBB as needed.
+
+ 13. Start an Emacs for emergency announcements.
+
+*** Managing the stream from the agenda
+
+ssh orga@res.emacsconf.org
+emacsclient -c -nw -a emacs
+
+You can then use
+
+- emacsconf-stream-play-video
+- emacsconf-stream-open-qa-windows-on-change
+- emacsconf-agenda-by-track
+- emacsconf-agenda
+
+If things are going well, you can use C-c C-t on the agenda view to change a talk to PLAYING, CLOSED_Q, or OPEN_Q, and various things should appen in the background.
+
+Task shortcut:
+- m (mpv) :: PLAYING - -stream-play-video, emacsconf-stream-set-talk-info, publish the files to the media directory
+- q (Q&A) :: CLOSED_Q
+- o (open) :: update the BBB redirect URLs to let people into the room
+
+*** Checklist for later dry run
+
+ 1. Streams
+ - [ ] General stream
+ - [ ] Development stream
+ - [ ] 480p streams
+ 2. Scenes
+ - [ ] Intro
+ - [ ] Prerec
+ - [ ] Q&A: live
+ - [ ] Q&A: IRC
+ - [ ] Q&A: pad
+ 3. [ ] IRC channels
+ - [ ] Announce
+ - [ ] Question handling
+ - [ ] Timers
+ 4. [ ] Watching pages
+ - [ ] Before launch
+ - [ ] Streaming
+ - [ ] Emergency announcement
+ 5. [ ] Pads
+ 6. [ ] Wiki
+ - [ ] Schedule update
+ - [ ] Message on the schedule
+ - [ ] Prerec live
+ 7. [ ] Wind everything down
+
+
+Later on
+- [ ] Toobnix stream
+- [ ] YouTube stream
*** Create test
gst-launch-1.0 compositor name=mix sink_1::xpos=1180 sink_1::ypos=470 ! videoconvert ! autovideosink filesrc location=community-title.svg ! rsvgdec ! imagefreeze num_buffers=100 ! mix. videotestsrc ! video/x-raw,width=400,height=300 ! mix. audiotestsrc freq ! autoaudiosink