From 915d537894e53c9546a9f7d2a60c2ce16a390b17 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Mon, 7 Nov 2022 11:41:29 -0500 Subject: Streaming notes update --- 2022/organizers-notebook.md | 297 ++++++++++++++++---------------------------- 1 file changed, 106 insertions(+), 191 deletions(-) (limited to '2022/organizers-notebook.md') diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index 4b861a22..870890d7 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -23,6 +23,7 @@ This file is automatically exported from [/2022/organizers-notebook/index.org](/ Time-sensitive tasks: - [Send prerec reminder](#prerec-reminder) +- [Make a linear hyperlist for managing EmacsConf](#hyperlist):sachac: - [Send schedule-published email for emacsconf-discuss](#announce-program):needsowner:timesensitive:email: - [Flesh out prepare.md for audio-recording tips before the prerec-deadline](#prepare-audio):zaeph: @@ -385,6 +386,7 @@ interests you! Ordered chronologically (and therefore by importance). - [Send prerec reminder](#prerec-reminder) +- [Make a linear hyperlist for managing EmacsConf](#hyperlist):sachac: - [Send schedule-published email for emacsconf-discuss](#announce-program):needsowner:timesensitive:email: - [Flesh out prepare.md for audio-recording tips before the prerec-deadline](#prepare-audio):zaeph: @@ -400,6 +402,24 @@ Ordered chronologically (and therefore by importance). ### TODO Follow up with speakers based on their availability + + +## TODO Make a linear hyperlist for managing EmacsConf :sachac: + +- 9:05 Journalism + - [X] [Start talk]((emacsconf-update-talk-status "journalism" "." "PLAYING")) + - [X] [Start closed Q&A]((emacsconf-update-talk-status "journalism" "." "CLOSED_Q")) + - [ ] [Open Q&A]((emacsconf-update-talk-status "journalism" "." "OPEN_Q")) + - [ ] [Mark Q&A as unstreamed]((emacsconf-update-talk-status "journalism" "." "UNSTREAMED_Q")) + - [ ] [Finish talk]((emacsconf-update-talk-status "journalism" "." "TO_ARCHIVE")) +- 9:40 Handwritten + - [ ] [Start talk]((emacsconf-update-talk-status "handwritten" "." "PLAYING")) + - [ ] [Start closed Q&A]((emacsconf-update-talk-status "handwritten" "." "CLOSED_Q")) + - [ ] [Open Q&A]((emacsconf-update-talk-status "handwritten" "." "OPEN_Q")) + - [ ] [Mark Q&A as unstreamed]((emacsconf-update-talk-status "handwritten" "." "UNSTREAMED_Q")) + - [ ] [Finish talk]((emacsconf-update-talk-status "handwritten" "." "TO_ARCHIVE")) + + ## DONE Send schedule-published email for emacsconf-discuss :needsowner:timesensitive:email: @@ -621,6 +641,11 @@ Overlay considerations: - zaeph doesn’t like vertical text +### TODO Generate talk banners :sachac: + +![img](https://gitlab.com/akshay196/emacsconf-artwork/-/blob/main/2022/talk-banner/sample.svg) + + ## TODO Create protocol for live Q&A :zaeph: @@ -812,123 +837,6 @@ Agenda: - 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.emacsconf.org:~/.vnc/passwd vnc-passwd-$TRACK - -5. Forward your local ports and connect via VNC viewer to the - appropriate forwarded port from your laptop: - - ssh emacsconf-$TRACK@res.emacsconf.org -N -L $TRACK\_PORT:127.0.0.1:$TRACK\_PORT & - 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`) - -6. Start recording. It’s probably on workspace 2, so you can switch with Alt-2. Confirm that it is now broadcasting to the stream. - -7. Verify with MPV on your local system: - - mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm & - -8. With luck, the 480p streams will be up automatically as well. On your local system: - - mpv https://live0.emacsconf.org/emacsconf/$TRACK-480p.webm & - -9. 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 - -10. 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 - -11. Use OBS or `pavucontrol` to adjust the volume of BBB as needed. - - Start an Emacs for emergency announcements. - - -### Managing the stream from the agenda - -ssh orga@res.emacsconf.org -p 46668 -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 happen in the background. If they don’t happen in the background, use emacsconf-add-org-after-todo-state-change-hook to add the todo state change hook, then try again. - -Task state shortcuts for C-c C-t: - -- **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 -- u (unstreamed) -- r (to archive) - -You can leave the emacsclient with `C-x 5 0` - - -### Test list for managing EmacsConf - -- 9:05 Journalism - - [X] [Start talk]((emacsconf-update-talk-status "journalism" "." "PLAYING")) - - [X] [Start closed Q&A]((emacsconf-update-talk-status "journalism" "." "CLOSED_Q")) - - [ ] [Open Q&A]((emacsconf-update-talk-status "journalism" "." "OPEN_Q")) - - [ ] [Mark Q&A as unstreamed]((emacsconf-update-talk-status "journalism" "." "UNSTREAMED_Q")) - - [ ] [Finish talk]((emacsconf-update-talk-status "journalism" "." "TO_ARCHIVE")) -- 9:40 Handwritten - - [ ] [Start talk]((emacsconf-update-talk-status "handwritten" "." "PLAYING")) - - [ ] [Start closed Q&A]((emacsconf-update-talk-status "handwritten" "." "CLOSED_Q")) - - [ ] [Open Q&A]((emacsconf-update-talk-status "handwritten" "." "OPEN_Q")) - - [ ] [Mark Q&A as unstreamed]((emacsconf-update-talk-status "handwritten" "." "UNSTREAMED_Q")) - - [ ] [Finish talk]((emacsconf-update-talk-status "handwritten" "." "TO_ARCHIVE")) - - ### Checklist for later dry run 1. Streams @@ -1396,106 +1304,124 @@ see conf.org for the rest of the process ## DONE Investigate streaming options, maybe OBS in the cloud :sachac: -Current status +Current status: - res.emacsconf.org seems to be able to handle 2x (OBS + TigerVNC + MPV, should test with Firefox as well) +- corwin and jman will stream gen from OBS on res +- bandali will stream dev from his laptop +- let sachac know if you want manual control or more autopilot for the gen stream Goals: - [X] Be able to start a VNC server with OBS, MPV, and Firefox, connect to it, and stream - [X] Have another session with the sound isolated -- [X] Split the audio so that we can join the Q&A room before the MPV ends - handled by automatic scene switcher detecting mpv -- [X] Control MPV from the commandline: track-mpv appears in the correct display, and it can also be controlled via the socket like this: - echo ’{ “command”: [“loadfile”, “test2.webm”] }’ | socat - ~/mpv-socket-emacsconf-dev +- [-] Split the audio so that we can join the Q&A room before the MPV ends - handled by automatic scene switcher detecting mpv, but we can’t share just a window, so we might as well just wait +- [X] Control MPV from the commandline: track-mpv appears in the correct display, and it can also be controlled via the socket like this: echo ’{ “command”: [“loadfile”, “test2.webm”] }’ | socat - ~/mpv-socket-emacsconf-dev - [ ] Share the window instead of the desktop? -### Set up connection to the track +### Broadcasting from local OBS (optional) -1. Set up your local environment - - gen: export TRACK=gen; export TRACK\_PORT=5905 - dev: export TRACK=dev; export TRACK\_PORT=5906 +- You can copy the profile from your track or look inside it for the icecast mount point details: + - Gen: rsync -avze ’ssh -p 46668’ emacsconf-gen@res.emacsconf.org:~/.config/obs-studio/basic/profiles/ ~/.config/obs-studio/basic/profiles/ + - Dev: rsync -avze ’ssh -p 46668’ emacsconf-dev@res.emacsconf.org:~/.config/obs-studio/basic/profiles/ ~/.config/obs-studio/basic/profiles/ -2. Copy the vnc password file - - scp emacsconf-$TRACK@res:~/.vnc/passwd vnc-passwd-$TRACK +- 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 -3. Start up the VNC server if it’s not already running +- Verify with MPV: - ssh emacsconf-$TRACK@res.emacsconf.org “~/bin/track-vnc” + mpv https://live0.emacsconf.org/emacsconf/gen.webm + mpv https://live0.emacsconf.org/emacsconf/dev.webm -4. Forward your local ports +- With luck, the 480p streams will be up automatically as well - ssh emacsconf-$TRACK@res.emacsconf.org -N -L $TRACK\_PORT:127.0.0.1:$TRACK\_PORT & + mpv https://live0.emacsconf.org/emacsconf/gen-480p.webm + mpv https://live0.emacsconf.org/emacsconf/dev-480p.webm -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 -6. Set up a viewer so that you can monitor the stream - - mpv +### Connecting to the track VNC +1. Stop broadcasting locally if you were testing local OBS. -### Connect to the conf file on res.emacsconf.org +2. Install a VNC viewer on your system (ex: tigervnc-viewer). -ssh orga@res.emacsconf.org -emacsclient -c -nw -a emacs +3. Set up your local environment: + - gen: export TRACK=gen; export TRACK\_PORT=5905; export SSH\_PORT=46668 + - dev: export TRACK=dev; export TRACK\_PORT=5906; export SSH\_PORT=46668 +4. Copy the password: + + scp emacsconf-$TRACK@res.emacsconf.org:~/.vnc/passwd vnc-passwd-$TRACK -p $SSH\_PORT +5. Forward your local ports and connect via VNC viewer to the + appropriate forwarded port from your laptop: + + ssh emacsconf-$TRACK@res.emacsconf.org -N -L $TRACK_PORT:127.0.0.1:$TRACK_PORT -p $SSH_PORT & + 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 -p $SSH_PORT ~/bin/track-vnc`) -### Play a talk +6. Start recording (not streaming). If you don’t see OBS when you connect, it’s probably on workspace 2, so you can switch with Alt-2. Confirm that it is now broadcasting to the stream. -Shortcuts for navigating to a talk +7. Verify with MPV on your local system: + + mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm & -- **C-c e a a:** agenda -- **C-c e a g:** gen agenda -- **C-c e a d:** dev agenda -- **C-c e t:** emacsconf-go-to-talk +8. With luck, the 480p streams will be up automatically as well. On your local system: + + mpv https://live0.emacsconf.org/emacsconf/$TRACK-480p.webm & -From the agenda, you can use `C-c C-t` to set the talk status: +9. 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 + + 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 - +1. 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` +2. Use OBS or `pavucontrol` to adjust the volume of BBB as needed. + - Start an Emacs for emergency announcements. ---+### Managing the stream from the agenda -- - - - - - - +ssh orga@res.emacsconf.org -p $SSH\_PORT +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 happen in the background. If they don’t happen in the background, use emacsconf-add-org-after-todo-state-change-hook to add the todo state change hook, then try again. - - - - - - -
m (mpv)PLAYINGemacsconf-stream-play-video, emacsconf-stream-set-talk-info
qCLOSED_Q 
oOPEN_Qupdate the BBB redirect URLs to let people into the room
+Task state shortcuts for C-c C-t: -If the video doesn’t play automatically when the talk changes to PLAYING, you can play it manually with: +- **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 +- u (unstreamed) +- r (to archive) - ssh emacsconf-$TRACK@res.emacsconf.org - cd /data/emacsconf/2022/stream - ~/bin/track-mpv file +You can leave the emacsclient with `C-x 5 0` -### Do Q&A +#### Do Q&A From the emacsclient on orga@res.emacsconf.org, you can open various talk-related things: @@ -1507,17 +1433,6 @@ Alternatively, you can switch to the VNC viewer and use the links in or . -i3 cheat sheet: - -- 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 -- Alt-Enter creates a terminal - For Q&A, you may want to have the Etherpad on the left, the BBB Q&A or IRC chat on the right, and the terminal and OBS windows on workspace 2. @@ -1752,7 +1667,7 @@ Ideas to consider: - Toggling local time display on the schedule - Making organizers-notebook nicer to browse through (or maybe use organice?) -- Improve the video player (resolution switching?) +- Improve the video player (resolution switching? chapter markers?) - for video? ### BLOCKED ?: Figure out JS and CSS niceties that will make organizers-notebook more enjoyable to browse through :css:js: @@ -3187,7 +3102,7 @@ Probably focus on grabbing the audio first and seeing what’s worth keeping Make a table of the form - +
-- cgit v1.2.3