summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2021/info/news-schedule.md8
-rw-r--r--playbook.md43
-rw-r--r--playbook.org29
3 files changed, 69 insertions, 11 deletions
diff --git a/2021/info/news-schedule.md b/2021/info/news-schedule.md
index 45baaf21..beefe9d7 100644
--- a/2021/info/news-schedule.md
+++ b/2021/info/news-schedule.md
@@ -6,10 +6,10 @@ Duration: 4:28
<div class="times" start="2021-11-27T14:05:00Z" end="2021-11-27T14:10:00Z">Saturday, Nov 27 2021, ~ 9:05 AM - 9:10 AM EST<br />Saturday, Nov 27 2021, ~ 6:05 AM - 6:10 AM PST<br />Saturday, Nov 27 2021, ~ 2:05 PM - 2:10 PM UTC<br />Saturday, Nov 27 2021, ~ 3:05 PM - 3:10 PM CET<br />Saturday, Nov 27 2021, ~ 4:05 PM - 4:10 PM EET<br />Saturday, Nov 27 2021, ~ 7:35 PM - 7:40 PM IST<br />Saturday, Nov 27 2021, ~10:05 PM - 10:10 PM +08<br />Saturday, Nov 27 2021, ~11:05 PM - 11:10 PM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
[[!inline pages="internal(2021/inline-alternate)" raw="yes"]]
-[[!template vidid="mainVideo" id=vid src="https://media.emacsconf.org/2021/emacsconf-2021-news--emacs-news-highlights--sacha-chua--main.webm" size="6.4M" subtitles="../../captions/emacsconf-2021-news--emacs-news-highlights--sacha-chua--main.vtt" duration="4:28"]]
-[Download .org](https://media.emacsconf.org/2021/emacsconf-2021-news--emacs-news-highlights--sacha-chua.org)
-
-
+<div class="video-card vid" data-id="mainVideo"><figure><video controls preload="metadata">
+<source src="https://media.emacsconf.org/2021/emacsconf-2021-news--emacs-news-highlights--sacha-chua--main.webm"><track label="English" kind="captions" srclang="en" src="/2021/captions/emacsconf-2021-news--emacs-news-highlights--sacha-chua--main.vtt" default>
+</video></figure>
+<div class="files"><ul><li><a href="https://media.emacsconf.org/2021/emacsconf-2021-news--emacs-news-highlights--sacha-chua--main.webm">Download .webm video (4:28, 6.4MB)</a></li><li><a href="https://media.emacsconf.org/2021/emacsconf-2021-news--emacs-news-highlights--sacha-chua.org">Download .org</a></li><li><a href="https://media.emacsconf.org/2021/emacsconf-2021-news--emacs-news-highlights--sacha-chua--main.vtt">Download --main.vtt</a></li></ul></div></div>
# Description
diff --git a/playbook.md b/playbook.md
index 6b16988a..d4f8439b 100644
--- a/playbook.md
+++ b/playbook.md
@@ -33,6 +33,7 @@
- [live0 can't handle the load or is close to network transfer limit](#network)
- [Before the conference](#before)
- [Help speakers with tech checks](#tech-checks)
+ - [Experiment with setup to allow MPV / BBB sound isolation](#org76b68a3)
<!-- This file was automatically generated from playbook.org. Instead of editing the .md, please edit the .org and republish. Thanks! -->
@@ -213,19 +214,20 @@
- HOST: Display getting-ready message
- STREAM: Set up BBB view in organizer room to have HOST's webcam maximized
- STREAM: Start streaming from OBS to local Icecast, relay to live0 icecast
-- CHECK: Confirm that the stream is live at <https://live.emacsconf.org/main.webm>
+- HOST: Confirm that the stream is live at <https://live.emacsconf.org/main.webm>
- STREAM: Update the status page to say that the stream is live
- CHECK: Start low-resolution stream, confirm at <https://live.emacsconf.org/main-480p.webm>
Call this on live0 with $CONF480PASS as the first parameter. The Icecast configuration is on `live0` at `/etc/icecast2/icecast.xml`.
PASS=$1
while true; do ffmpeg -loglevel 24 -f webm -reconnect_at_eof 1 -reconnect_streamed 1 -re -i http://localhost:8000/main.webm -vf scale=854:480 -f webm -c:a copy -b:v 500k -maxrate 1M -bufsize 1M -content_type video/webm -c:v libvpx icecast://ec2020main480pmu:$PASS@localhost:8000/main-480p.webm; done
-- CHECK: Start Youtube stream. Call this with $YOUTUBE1PASS, $YOUTUBE2PASS, or $TOOBNIX as the parameter
+- CHECK: Start Youtube and Toobnix streams. Call this with $YOUTUBE1PASS, $YOUTUBE2PASS, or $TOOBNIX as the parameter
MOUNT=$1
while true; do ffmpeg -loglevel 24 -i http://localhost:8000/main.webm -cluster_size_limit 2M -cluster_time_limit 5100 -b:v 1M -crf 30 -g 125 -deadline good -threads 4 -vcodec libx264 -acodec libmp3lame -f flv $MOUNT; done
-- CHECK: Verify the alternate streams and the load on live0.
-- CHECK: Verify with #emacsconf that the stream is active
+- CHECK: Verify YouTube and Toobnix streams and the CPU load on live0.
+- HOST: Verify with #emacsconf that the stream is active.
+- CHECK: Start alternate stream on second laptop. Point to main stream for now.
<a id="talk"></a>
@@ -329,7 +331,8 @@ Exception: [CHECK is unavailable](#check-gone)
- Mark it as public.
- Add it to the EmacsConf 2021 playlist.
- [? live sections ]
- - CHECK does a rough-cut of the recording from ${dump} to get the last X minutes or by time range
+ - CHECK does a rough-cut of the recording from ${dump} to get the last X minutes or by time range. There's about a 1-2 minute delay.
+ Ex: `(kill-new (conf-dump-get "alt" "10:24" "10:30" "qa_"))`
- When there's an opportunity to do so:
- CHECK finetunes the rough-cut recording (trim start and end) and posts it to:
- media.emacsconf.org/2021
@@ -345,6 +348,7 @@ Exceptions:
- [Speaker has not checked in](#missing)
- [? live]
+ - CHECK-alternate joins the BBB room.
- HOST joins the BBB room
- HOST starts recording in BBB or confirms that it's already recording
- STREAM joins meeting and gives go-ahead
@@ -356,7 +360,7 @@ Exceptions:
- HOST adds note to IRC/Etherpad that speakers can answer in any order, skip questions, answer afterwards, etc.
- [? Q&A needs to be wrapped up]
- HOST writes in Etherpad/IRC or nudges speaker verbally.
- - CHECK notes the time that the live Q&A finished.
+ - CHECK notes the time that the live Q&A finished and switches back to the main stream on CHECK-alternate.
- [? IRC/pad]
- HOST and STREAM switch to organizer BBB meeting (room S)
- HOST describes Q&A method and shows it on the screen
@@ -592,3 +596,30 @@ Exceptions:
- Encourage webcam for Q&A, although make it clear that it's totally optional
- Possible picture-in-picture approach to maximize screen real estate
+
+<a id="org76b68a3"></a>
+
+## Experiment with setup to allow MPV / BBB sound isolation
+
+Set MIC and OUTPUT appropriately.
+
+ MIC=alsa_input.usb-046d_0819_A68D6BE0-02.mono-fallback
+ OUTPUT=alsa_output.pci-0000_00_1b.0.analog-stereo
+ if [ "$1" == "-u" ]; then
+ pactl unload-module module-loopback
+ pactl unload-module module-null-sink
+ else
+ pacmd load-module module-null-sink sink_name=recording sink_properties=device.description=recording channels=2
+ pacmd load-module module-null-sink sink_name=mpv sink_properties=device.description=mpv
+ pacmd load-module module-loopback source=$MIC sink=recording
+ pacmd load-module module-loopback source=mpv.monitor sink=recording
+ pacmd load-module module-loopback source=recording.monitor sink=$OUTPUT
+ fi
+
+You can probably then use `pavucontrol` (choose All Streams instead of
+Applications on the Playback tab) or something like the following to
+redirect the mpv output to the mpv sink.
+
+ pacmd list-sink-inputs # notice the
+ pacmd move-sink-input 1 mpv
+
diff --git a/playbook.org b/playbook.org
index 4f99f066..80e3bbf9 100644
--- a/playbook.org
+++ b/playbook.org
@@ -479,4 +479,31 @@ Exceptions:
- Try to record name pronunciation
- Encourage webcam for Q&A, although make it clear that it's totally optional
- Possible picture-in-picture approach to maximize screen real estate
-
+** Experiment with setup to allow MPV / BBB sound isolation
+
+Set MIC and OUTPUT appropriately.
+
+#+begin_src sh :eval no
+MIC=alsa_input.usb-046d_0819_A68D6BE0-02.mono-fallback
+OUTPUT=alsa_output.pci-0000_00_1b.0.analog-stereo
+if [ "$1" == "-u" ]; then
+ pactl unload-module module-loopback
+ pactl unload-module module-null-sink
+else
+ pacmd load-module module-null-sink sink_name=recording sink_properties=device.description=recording channels=2
+ pacmd load-module module-null-sink sink_name=mpv sink_properties=device.description=mpv
+ pacmd load-module module-loopback source=$MIC sink=recording
+ pacmd load-module module-loopback source=mpv.monitor sink=recording
+ pacmd load-module module-loopback source=recording.monitor sink=$OUTPUT
+fi
+#+end_src
+
+You can probably then use =pavucontrol= (choose All Streams instead of
+Applications on the Playback tab) or something like the following to
+redirect the mpv output to the mpv sink.
+
+#+begin_src sh :eval no
+pacmd list-sink-inputs # notice the
+pacmd move-sink-input 1 mpv
+#+end_src
+