diff options
| -rw-r--r-- | 2022/organizers-notebook.md | 182 | ||||
| -rw-r--r-- | 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 <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’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 <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 ’{ “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 -<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’s an Ansible playbook      sachac’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’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  | 
