diff options
author | Sacha Chua <sacha@sachachua.com> | 2022-11-07 11:41:29 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2022-11-07 11:41:29 -0500 |
commit | 915d537894e53c9546a9f7d2a60c2ce16a390b17 (patch) | |
tree | bca905df10a03c4df6b4eed61c1b1829c6239650 /2022/organizers-notebook | |
parent | 73689c828b2ede6d4826963427ef7a96aa609e23 (diff) | |
download | emacsconf-wiki-915d537894e53c9546a9f7d2a60c2ce16a390b17.tar.xz emacsconf-wiki-915d537894e53c9546a9f7d2a60c2ce16a390b17.zip |
Streaming notes update
Diffstat (limited to '')
-rw-r--r-- | 2022/organizers-notebook.md | 297 | ||||
-rw-r--r-- | 2022/organizers-notebook/index.org | 306 |
2 files changed, 232 insertions, 371 deletions
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 +<a id="hyperlist"></a> + +## 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")) + + <a id="announce-program"></a> ## 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) + + <a id="live-protocol"></a> ## 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 <https://live0.emacsconf.org/emacsconf/$TRACK.webm> +### 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 -<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> +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. -<colgroup> -<col class="org-left" /> -<col class="org-left" /> +### Managing the stream from the agenda -<col class="org-left" /> -</colgroup> -<tbody> -<tr> -<td class="org-left">m (mpv)</td> -<td class="org-left">PLAYING</td> -<td class="org-left">emacsconf-stream-play-video, emacsconf-stream-set-talk-info</td> -</tr> +ssh orga@res.emacsconf.org -p $SSH\_PORT +emacsclient -c -nw -a emacs +You can then use -<tr> -<td class="org-left">q</td> -<td class="org-left">CLOSED_Q</td> -<td class="org-left"> </td> -</tr> +- 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. -<tr> -<td class="org-left">o</td> -<td class="org-left">OPEN_Q</td> -<td class="org-left">update the BBB redirect URLs to let people into the room</td> -</tr> -</tbody> -</table> +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 <file:///data/emacsconf/2022/index-gen.html> or <file:///data/emacsconf/2022/index-dev.html> . -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?) - <https://github.com/sampotts/plyr> 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 -<table id="org6880551" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> +<table id="orgbe76f36" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <colgroup> diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org index bd340db1..31878275 100644 --- a/2022/organizers-notebook/index.org +++ b/2022/organizers-notebook/index.org @@ -124,6 +124,25 @@ SCHEDULED: <2022-11-11 Fri> :END: *** TODO Update logbook with notes from e-mails :zaeph: *** TODO Follow up with speakers based on their availability +** TODO Make a linear hyperlist for managing EmacsConf :sachac: +:PROPERTIES: +:CUSTOM_ID: hyperlist +:END: + + +- 9:05 Journalism + - [X] [[elisp:(emacsconf-update-talk-status "journalism" "." "PLAYING")][Start talk]] + - [X] [[elisp:(emacsconf-update-talk-status "journalism" "." "CLOSED_Q")][Start closed Q&A]] + - [ ] [[elisp:(emacsconf-update-talk-status "journalism" "." "OPEN_Q")][Open Q&A]] + - [ ] [[elisp:(emacsconf-update-talk-status "journalism" "." "UNSTREAMED_Q")][Mark Q&A as unstreamed]] + - [ ] [[elisp:(emacsconf-update-talk-status "journalism" "." "TO_ARCHIVE")][Finish talk]] +- 9:40 Handwritten + - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "PLAYING")][Start talk]] + - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "CLOSED_Q")][Start closed Q&A]] + - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "OPEN_Q")][Open Q&A]] + - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "UNSTREAMED_Q")][Mark Q&A as unstreamed]] + - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "TO_ARCHIVE")][Finish talk]] + ** DONE Send schedule-published email for emacsconf-discuss :needsowner:timesensitive:email: CLOSED: [2022-11-01 Tue 08:50] SCHEDULED: <2022-10-31 Mon> DEADLINE: <2022-10-31 Mon> :PROPERTIES: @@ -322,7 +341,9 @@ placeholder text Overlay considerations: - talk videos will likely have subtitles; no subtitles for Q&A - zaeph doesn't like vertical text - +*** TODO Generate talk banners :sachac: +https://gitlab.com/akshay196/emacsconf-artwork/-/blob/main/2022/talk-banner/sample.svg + ** TODO Create protocol for live Q&A :zaeph: :PROPERTIES: :CUSTOM_ID: live-protocol @@ -486,126 +507,6 @@ Agenda: - 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.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: - #+begin_example - mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm & - #+end_example - - 8. 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 - - 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~. - - #+begin_example - cd /data/emacsconf/stream/2022 - track-mpv filename.webm - #+end_example - - 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 - - - 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] [[elisp:(emacsconf-update-talk-status "journalism" "." "PLAYING")][Start talk]] - - [X] [[elisp:(emacsconf-update-talk-status "journalism" "." "CLOSED_Q")][Start closed Q&A]] - - [ ] [[elisp:(emacsconf-update-talk-status "journalism" "." "OPEN_Q")][Open Q&A]] - - [ ] [[elisp:(emacsconf-update-talk-status "journalism" "." "UNSTREAMED_Q")][Mark Q&A as unstreamed]] - - [ ] [[elisp:(emacsconf-update-talk-status "journalism" "." "TO_ARCHIVE")][Finish talk]] -- 9:40 Handwritten - - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "PLAYING")][Start talk]] - - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "CLOSED_Q")][Start closed Q&A]] - - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "OPEN_Q")][Open Q&A]] - - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "UNSTREAMED_Q")][Mark Q&A as unstreamed]] - - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "TO_ARCHIVE")][Finish talk]] - *** Checklist for later dry run 1. Streams @@ -845,7 +746,6 @@ SCHEDULED: <2022-12-14 Wed> :CUSTOM_ID: watch-css :END: - *** TODO Add start and end attributes to the brief stuff for possible JS/CSS :PROPERTIES: :CREATED: [2022-10-20 Thu 22:26] @@ -1048,74 +948,131 @@ CLOSED: [2022-11-06 Sun 18:16] DEADLINE: <2022-11-20 Sun> :CUSTOM_ID: streaming :END: -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? + +*** Broadcasting from local OBS (optional) + - 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/ + + - 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 -*** Set up connection to the track + - 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; export SSH_PORT=46668 + - dev: export TRACK=dev; export TRACK_PORT=5906; export SSH_PORT=46668 + 4. Copy the password: -1. Set up your local environment - - gen: export TRACK=gen; export TRACK_PORT=5905 - dev: export TRACK=dev; export TRACK_PORT=5906 - -2. Copy the vnc password file - - scp emacsconf-$TRACK@res:~/.vnc/passwd vnc-passwd-$TRACK - -3. Start up the VNC server if it's not already running - - ssh emacsconf-$TRACK@res.emacsconf.org "~/bin/track-vnc" + 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: -4. Forward your local ports + #+begin_example + 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 & + #+end_example + + (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~) - ssh emacsconf-$TRACK@res.emacsconf.org -N -L $TRACK_PORT:127.0.0.1:$TRACK_PORT & - -4. 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. 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. + + 7. Verify with MPV on your local system: + #+begin_example + mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm & + #+end_example + + 8. 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 -5. Set up a viewer so that you can monitor the stream + 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~. + + #+begin_example + cd /data/emacsconf/stream/2022 + track-mpv filename.webm + #+end_example + + 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 - mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm - -*** Connect to the conf file on res.emacsconf.org -ssh orga@res.emacsconf.org + 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~ + + - 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 -*** Play a talk +You can then use -Shortcuts for navigating to a talk -- 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 +- emacsconf-stream-play-video +- emacsconf-stream-open-qa-windows-on-change +- emacsconf-agenda-by-track +- emacsconf-agenda -From the agenda, you can use ~C-c C-t~ to set the talk status: +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) | PLAYING | emacsconf-stream-play-video, emacsconf-stream-set-talk-info | -| q | CLOSED_Q | | -| o | OPEN_Q | update 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) -#+begin_src sh :eval no -ssh emacsconf-$TRACK@res.emacsconf.org -cd /data/emacsconf/2022/stream -~/bin/track-mpv file -#+end_src +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: - emacsconf-stream-open-pad @@ -1126,17 +1083,6 @@ Alternatively, you can switch to the VNC viewer and use the links in file:///data/emacsconf/2022/index-gen.html or file:///data/emacsconf/2022/index-dev.html . -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. @@ -1312,7 +1258,7 @@ https://emacsconf.org/2022/decisions/#schedule 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?) - https://github.com/sampotts/plyr for video? *** BLOCKED ?: Figure out JS and CSS niceties that will make organizers-notebook more enjoyable to browse through :css:js: |