summaryrefslogtreecommitdiffstats
path: root/2022/organizers-notebook/index.org
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-11-03 15:34:01 -0400
committerSacha Chua <sacha@sachachua.com>2022-11-03 15:34:01 -0400
commit7894bc33982bd414b7fdea5619574d44a84113c2 (patch)
tree5b089db648d32cb4ccedd3dc7c7bb860867ca2e7 /2022/organizers-notebook/index.org
parented309f9ff800a5735fbe8baa128d133f4f781077 (diff)
downloademacsconf-wiki-7894bc33982bd414b7fdea5619574d44a84113c2.tar.xz
emacsconf-wiki-7894bc33982bd414b7fdea5619574d44a84113c2.zip
Add notes on stream
Diffstat (limited to '2022/organizers-notebook/index.org')
-rw-r--r--2022/organizers-notebook/index.org145
1 files changed, 112 insertions, 33 deletions
diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org
index 48d50561..8e3b284f 100644
--- a/2022/organizers-notebook/index.org
+++ b/2022/organizers-notebook/index.org
@@ -471,6 +471,25 @@ zaeph is available on 2022-11-06
- [ ] Message on the schedule
- [ ] Prerec live
- [ ] Wind everything down
+
+*** 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
+
+gst-launch-1.0 compositor name=mix sink_1::xpos=1200 sink_1::ypos=600 ! videoconvert ! autovideosink \
+filesrc location=community-title.svg ! rsvgdec ! imagefreeze num_buffers=100 ! mix. \
+filesrc location=background.opus ! oggdemux ! opusdec ! audioconvert ! audioresample ! mix.
+videotestsrc ! video/x-raw,width=400,height=300,framerate=25/1 num_buffers=(25 * (4 * 60 + 5)) ! mix.
+
+gst-launch-1.0 webmmux name=mux ! filesink location=community.webm \
+compositor name=mix sink_1::xpos=1200 sink_1::ypos=600 ! videoconvert ! vp8enc ! queue ! mux.video_0 \
+filesrc location=community-title.svg ! rsvgdec ! imagefreeze num_buffers=2450 ! mix. \
+filesrc location=background.opus ! oggdemux ! opusdec ! audioconvert ! audioresample ! vorbisenc ! queue ! mux.audio_0 \
+videotestsrc num_buffers=2450 ! video/x-raw,width=400,height=300,framerate=10/1 ! mix.
+
+1251,/home/sacha/proj/emacsconf/private/assets/titles% find -name community-title.svg -exec inkscape --export-type=png --export-width=1280 --export-height=720 --export-background-opacity=0 {} \;
+
+
** TODO [#C] Smoothen captioning workflow :sachac:
:PROPERTIES:
:CUSTOM_ID: caption-workflow
@@ -829,60 +848,120 @@ 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
-- [ ] Share the window instead of the desktop?
- [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
-
-Process on res:
+- [ ] Share the window instead of the desktop?
+
+*** Set up connection to the track
-1. Copy the vnc password file
- - scp emacsconf-gen@res:~/.vnc/passwd vnc-passwd-gen
- - scp emacsconf-dev@res:~/.vnc/passwd vnc-passwd-dev
-1. Start up the VNC server if it's not already running
- - Gen: ssh emacsconf-gen@res.emacsconf.org -L 5905:127.0.0.1:5905 -L 6005:127.0.0.1:6005 "~/bin/track-vnc; sleep infinity"
- - Dev: ssh emacsconf-dev@res.emacsconf.org -L 5906:127.0.0.1:5906 -L 6006:127.0.0.1:6006 "~/bin/track-vnc; sleep infinity"
-2. Connect via VNC viewer to the appropriate forwarded port from your laptop
- - Gen: xvncviewer 127.0.0.1:5905 -shared -geometry 1280x720 -passwd vnc-passwd-gen
- - Dev: xvncviewer 127.0.0.1:5906 -shared -geometry 1280x720 -passwd vnc-passwd-dev
-3. Load something with audio in Firefox, and start playing it.
-4. Use pavucontrol to make sure the Firefox process is going into the $track-qa sink.
+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 -L $TRACK_PORT:127.0.0.1:$TRACK_PORT "~/bin/track-vnc; sleep infinity"
+
+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
+
+5. Set up a viewer so that you can monitor the stream
+
+ mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm
+
+*** Connect to the conf file on res.emacsconf.org
-To play an MPV file, ssh to the appropriate account and:
+ssh orga@res.emacsconf.org
+emacsclient -a -c -nw
-~/bin/track-mpv files
+*** Play a talk
-To change the displayed text, echo text to ~/url.txt, ~/news.txt, or ~/bottom.txt like this:
+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
-ssh emacsconf-dev@res.emacsconf.org "echo emacsconf.org/2021/talks/project > ~/url.txt"
+From the agenda, you can use ~C-c C-t~ to set the talk status:
-or use ~emacsconf-stream-set-talk-info~ or ~emacsconf-stream-write-news~,
-or use the TODO state change hook set up with ~emacsconf-add-org-after-todo-state-change-hook~.
+| 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 |
-To kill the VNC server:
+If the video doesn't play automatically when the talk changes to PLAYING, you can play it manually with:
+
+#+begin_src sh :eval no
+ssh emacsconf-$TRACK@res.emacsconf.org
+cd /data/emacsconf/2022/stream
+~/bin/track-mpv file
+#+end_src
+
+*** Do Q&A
+
+From the emacsclient on orga@res.emacsconf.org, you can open various talk-related things:
+- emacsconf-stream-open-pad
+- emacsconf-stream-join-qa
+- emacsconf-stream-join-chat
+
+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.
+
+*** Other tasks as needed
+
+**** Display emergency news / announcements
+
+M-x emacsconf-stream-broadcast to send a message to both streams
+or M-x emacsconf-stream-set-news to send a message to one stream.
+
+If that doesn't work, edit the news file directly with:
+~ssh emacsconf-$TRACK@res.emacsconf.org > ~/news.txt~
+
+If that doesn't work, use the VNC session to switch to an Emacs window
+and type your message in.
+**** Kill the VNC server:
ssh emacsconf-gen@res.emacsconf.org "vncserver -kill"
ssh emacsconf-dev@res.emacsconf.org "vncserver -kill"
| ~/bin/track-obs | start OBS with the track's profile and scene collection |
| ~/bin/track-mpv file.webm | play the file using the track's sink |
-
+*** Other notes
There are sockets in the home directory for MPV control if you want to keep that process.
echo '{ "command": ["loadfile", "test2.webm"] }' | socat - ~/mpv-socket-emacsconf-dev
-After you start recording in OBS,
-watch at https://live.emacsconf.org/2022/watch/dev/ or https://live.emacsconf.org/2022/watch/gen/
-i3 cheat sheet:
-- M-RET: terminal
-- M-f: toggle full-screen
-- M-w: switch to tabbed view
-- M-j: go to next window
-- M-shift-SPC: toggle floating
-- to resize a window, right-click-drag on its title bar
-*** TODO Move my conf.org setup to res so that we can control everything from there
+*** DONE Move my conf.org setup to res so that we can control everything from there
+CLOSED: [2022-11-03 Thu 14:10]
*** TODO Set timers for echoing text into the appropriate places and starting videos
-*** TODO Use xdotool to automate joining BBB in Firefox (signing in, clicking on listen only)
+*** TODO Figure out how to work with the layout
+https://i3wm.org/docs/layout-saving.html
+
+
+
+*** TODO [#C] Use xdotool to automate joining BBB in Firefox (signing in, clicking on listen only)
*** TODO [#C] Experiment with sharing part of the screen so that there's space for us to work a little off-screen
We might just have to rely on xdotool to move windows the way we want them