From edd23e7ae3e75f4ad3f783160d10ce2c21fceccd Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sat, 5 Nov 2022 10:15:59 -0400 Subject: dry run notes --- 2022/organizers-notebook.md | 182 ++++++++++++++++++++++++++++++++----- 2022/organizers-notebook/index.org | 170 ++++++++++++++++++++++++++++------ 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 . 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’s not already running - ssh emacsconf-$TRACK@res.emacsconf.org -L $TRACK\_PORT:127.0.0.1:$TRACK\_PORT “~/bin/track-vnc; sleep infinity” + 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 @@ -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 ’{ “command”: [“loadfile”, “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’s worth keeping Make a table of the form - +
@@ -3920,7 +4052,7 @@ Where: Nice if there’s an Ansible playbook sachac’s notes: - + - probably good to set it up on front It’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’ve attached +that more people can find and enjoy your talk. ${captioner-volunteered} +I’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 -- cgit v1.2.3