diff options
Diffstat (limited to '')
-rw-r--r-- | 2022/organizers-notebook.md | 580 |
1 files changed, 310 insertions, 270 deletions
diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index 05350a57..43ec7208 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -23,30 +23,32 @@ This file is automatically exported from [/2022/organizers-notebook/index.org](/ Time-sensitive tasks: - [Send schedule-published email for emacsconf-discuss](#announce-program):needsowner:timesensitive:email: -- [Flesh out prepare.md for audio-recording tips before the prerec-deadline](#org4cb56d2):zaeph: +- [2022-10-30 volunteer update](#volunteer-2022-10-30) +- [Flesh out prepare.md for audio-recording tips before the prerec-deadline](#orgcaec25f):zaeph: Other projects: -- [Coordinate and help volunteers](#coordinate-volunteers):sachac: - [Prepare for prerecs](#prepare-prerec-process):zaeph: - [Work on the OBS scenes](#obs-scenes):zaeph:corwin: - [Build up the ansible playbook](#ansible):sachac:opal: - [Make something to display between talks](#intro):sachac: -- [css enhancement of watch pages](#watch-css):emacsconf: - [Create protocol for live Q&A](#live-protocol):zaeph: - [Find volunteers for tech-checks](#tech-checks):zaeph: -- [Smoothen captioning workflow](#caption-workflow):sachac: - [Update viewing instructions and watch pages](#write-viewing):sachac: -- [Prepare to handle talk state changes](#publish-live):sachac: -- [Set up talks on Toobnix and YouTube](#video-platforms):sachac: -- [Set up stream events on Toobnix and YouTube](#other-streams):sachac: -- [Ask speakers for bios or support nudges to include on their talk pages](#speaker-bio) +- [JS/CSS enhancement](#watch-css):emacsconf: +- [Prepare to handle talk state changes](#publish-live):sachac:publish: +- [Set up stream events on Toobnix and YouTube](#other-streams):sachac:stream: +- [Set up talks on Toobnix and YouTube](#video-platforms):sachac:yt:toobnix: +- [Check process for posting prerecs to the talk page and media directory as soon as the talk is live](#orgfc25f3c):sachac: +- [Ask speakers for bios or support nudges to include on their talk pages](#speaker-bio):wiki: - [Do a dry run](#dry-run) +- [Smoothen captioning workflow](#caption-workflow):sachac: - [Add category tags and possibly links between talks across 2022 and all previous years](#link-pages):needsowner:wiki: - [Turn off file upload service on media.emacsconf.org](#upload-off):sachac:infra: - [Plan Etherpad use and hosting](#etherpad):sachac:ansible: - [Set up BBB rooms and update conf.org](#create-bbb):sachac: -- [Investigate streaming options, maybe OBS in the cloud](#streaming):corwin: +- [Coordinate and help volunteers](#coordinate-volunteers):sachac: +- [Investigate streaming options, maybe OBS in the cloud](#streaming):sachac: <a id="cadence"></a> @@ -370,7 +372,8 @@ interests you! Ordered chronologically (and therefore by importance). - [Send schedule-published email for emacsconf-discuss](#announce-program):needsowner:timesensitive:email: -- [Flesh out prepare.md for audio-recording tips before the prerec-deadline](#org4cb56d2):zaeph: +- [2022-10-30 volunteer update](#volunteer-2022-10-30) +- [Flesh out prepare.md for audio-recording tips before the prerec-deadline](#orgcaec25f):zaeph: <a id="announce-program"></a> @@ -422,7 +425,21 @@ emacsconf-discuss list, so as to help avoid generating extra off-topic chatter in the other lists cc’d in this message; thank you. -<a id="org4cb56d2"></a> +<a id="volunteer-2022-10-30"></a> + +## TODO 2022-10-30 volunteer update + +- talks to caption +- word-level data, TSV, comparison of OpenAI whisper +- welcome to Tom Purl +- obs in the cloud + +- check availability for tech checks + + For sessions with live Q&A, we’d like to set up tech-checks with speakers to make sure that their setup works well for BigBlueButton. If you can help with tech-checks (~15 minutes, see the process at TODO), please e-mail us with your general availability (including timezones) and preferred public contact information so that we can include you on the list at TODO. + + +<a id="orgcaec25f"></a> ## TODO Flesh out prepare.md for audio-recording tips before the prerec-deadline :zaeph: @@ -431,53 +448,37 @@ chatter in the other lists cc’d in this message; thank you. # Projects and other long-running tasks -- [Coordinate and help volunteers](#coordinate-volunteers):sachac: - [Prepare for prerecs](#prepare-prerec-process):zaeph: - [Work on the OBS scenes](#obs-scenes):zaeph:corwin: - [Build up the ansible playbook](#ansible):sachac:opal: - [Make something to display between talks](#intro):sachac: -- [css enhancement of watch pages](#watch-css):emacsconf: - [Create protocol for live Q&A](#live-protocol):zaeph: - [Find volunteers for tech-checks](#tech-checks):zaeph: -- [Smoothen captioning workflow](#caption-workflow):sachac: - [Update viewing instructions and watch pages](#write-viewing):sachac: -- [Prepare to handle talk state changes](#publish-live):sachac: -- [Set up talks on Toobnix and YouTube](#video-platforms):sachac: -- [Set up stream events on Toobnix and YouTube](#other-streams):sachac: -- [Ask speakers for bios or support nudges to include on their talk pages](#speaker-bio) +- [JS/CSS enhancement](#watch-css):emacsconf: +- [Prepare to handle talk state changes](#publish-live):sachac:publish: +- [Set up stream events on Toobnix and YouTube](#other-streams):sachac:stream: +- [Set up talks on Toobnix and YouTube](#video-platforms):sachac:yt:toobnix: +- [Check process for posting prerecs to the talk page and media directory as soon as the talk is live](#orgfc25f3c):sachac: +- [Ask speakers for bios or support nudges to include on their talk pages](#speaker-bio):wiki: - [Do a dry run](#dry-run) +- [Smoothen captioning workflow](#caption-workflow):sachac: - [Add category tags and possibly links between talks across 2022 and all previous years](#link-pages):needsowner:wiki: - [Turn off file upload service on media.emacsconf.org](#upload-off):sachac:infra: - [Plan Etherpad use and hosting](#etherpad):sachac:ansible: - [Set up BBB rooms and update conf.org](#create-bbb):sachac: -- [Investigate streaming options, maybe OBS in the cloud](#streaming):corwin: +- [Coordinate and help volunteers](#coordinate-volunteers):sachac: +- [Investigate streaming options, maybe OBS in the cloud](#streaming):sachac: Ordered by importance. -<a id="coordinate-volunteers"></a> - -## TODO Coordinate and help volunteers :sachac: - -- <../volunteer> -- Figure out what information volunteers need in order to feel - comfortable signing up for tasks. ex: - <https://wiki.debian.org/DebConf/21/VideoVolunteering> -- Encourage people to sign up for [Shifts](#shifts) - - -### TODO Plan training session(s), Q&A availability, recordings - - -### BLOCKED Hold Q&A session with volunteers - - <a id="prepare-prerec-process"></a> -## TODO Prepare for prerecs :zaeph: +## DONE Prepare for prerecs :zaeph: -### INPROGRESS Optimize ffmpeg incantation +### DONE Optimize ffmpeg incantation Remember to update <../prepare.md> with the new incantation. @@ -511,10 +512,7 @@ Other considerations: - We might want to tweak the time before keyframes (`-g`). -### TODO Check process for posting prerecs to the talk page and media directory as soon as the talk is live :sachac: - - -### TODO Figure out workflow for handling submitted prerecs +### DONE Figure out workflow for handling submitted prerecs We need time after the prerecs get submitted to: @@ -550,18 +548,15 @@ Playbook will be able to reproduce: in prod or docker container -### TODO local icecast forwarder - - ### TODO restreamers on live0 -### STARTED icecast on live0 +### DONE icecast on live0 -(find-file &lsquo ;/ssh:live|sudo::/etc/icecast2/icecast.xml’) +(find-file “/ssh:live|sudo::/etc/icecast2/icecast.xml”) -#### TODO Set up watch/gen-480p +#### DONE Set up watch/gen-480p ### TODO publishing environment @@ -596,14 +591,6 @@ See break commercials <https://www.collabmagazine.com/organizing-a-multi-track-virtual-conference-with-microsoft-teams-live-events-a-technical-playbook-and-lessons-learned/> -<a id="watch-css"></a> - -## TODO css enhancement of watch pages :emacsconf: - - -### TODO Add start and end attributes to the brief stuff - - <a id="live-protocol"></a> ## TODO Create protocol for live Q&A :zaeph: @@ -646,145 +633,6 @@ From previous years: > - Do you need help finding your way around IRC so that you can check into \`#emacsconf-org\`? What is your IRC nickname? -<a id="caption-workflow"></a> - -## TODO Smoothen captioning workflow :sachac: - -It looks like OpenAPI needs a little less editing in terms of -capitalization and punctuation, but it produces longer captions -(likely a 30-second sliding window). I’ll try to upload both YT and -OpenAPI captions so that people can decide what they like. - - -### DONE Compare large, medium, and small models - -12 threads - -Original file: 21:16 21 minutes - -<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> - - -<colgroup> -<col class="org-left" /> - -<col class="org-right" /> - -<col class="org-right" /> - -<col class="org-left" /> -</colgroup> -<tbody> -<tr> -<td class="org-left"> </td> -<td class="org-right">Hours</td> -<td class="org-right">Mult</td> -<td class="org-left">Notes</td> -</tr> - - -<tr> -<td class="org-left"><a href="https://media.emacsconf.org/2022/backstage/emacsconf-2022-sqlite--using-sqlite-as-a-data-source-a-framework-and-an-example--andrew-hyatt--large.vtt">Large</a></td> -<td class="org-right">2:49</td> -<td class="org-right">8</td> -<td class="org-left"> </td> -</tr> - - -<tr> -<td class="org-left"><a href="https://media.emacsconf.org/2022/backstage/emacsconf-2022-sqlite--using-sqlite-as-a-data-source-a-framework-and-an-example--andrew-hyatt--medium.vtt">Medium</a></td> -<td class="org-right">2:03</td> -<td class="org-right">5.9</td> -<td class="org-left"> </td> -</tr> - - -<tr> -<td class="org-left"><a href="https://media.emacsconf.org/2022/backstage/emacsconf-2022-sqlite--using-sqlite-as-a-data-source-a-framework-and-an-example--andrew-hyatt--small.vtt">Small</a></td> -<td class="org-right">0:40</td> -<td class="org-right">2</td> -<td class="org-left">More run-on sentences</td> -</tr> -</tbody> -</table> - -Large and medium might do better on a system with a GPU. I’ll default to the small model for now. - - -### DONE Commit subed-tsv so that people can try a cleaner output - - -### DONE Investigate more granular timestamps for the output from OpenAPI Whisper - -<https://git.emacsconf.org/emacsconf-ansible/tree/roles/caption/templates> - - -### DONE Upload srv2 from YouTube for word-level - - -### TODO Move publishing the backstage index to res so that we can trigger it after the files are uploaded - - -### TODO Compare with Google Cloud Speech API - -~/code/speech - - -### TODO E-mail for bringing new captioning volunteers onboard - - (defun emacsconf-mail-captioning-intro (volunteer &optional template) - (interactive (list (emacsconf-complete-volunteer) - (emacsconf-mail-merge-get-template "captioning-intro"))) - (emacsconf-mail-prepare - (or template (emacsconf-mail-merge-get-template "captioning-intro")) - (assoc-default "EMAIL" volunteer 'string=) - (list - :backstage "https://media.emacsconf.org/2022/backstage/" - :backstage-user "emacsconf" - :backstage-password emacsconf-backstage-password - :conf-name emacsconf-name - :year emacsconf-year - :name (assoc-default "NAME_SHORT" volunteer 'string=) - :email (assoc-default "EMAIL" volunteer 'string=)))) - - -#### Template - -Hi ${name}! - -Thank you for volunteering to help with the captions for ${conf-name} -${year}! Last year, we were able to get almost all the talks captioned -in time for streaming. Participants found them very useful for -understanding different technical terms, names, accents, and so on. -We’d love to be able to pull that off again this year, and it would be -great to have you on board.${wrap} - -We’ve set up ${backstage} as the backstage area where you can view the -videos and resources uploaded so far. You can access it with the -username "${backstage-user}&lsquo ; and the password ’${backstage-password}&lsquo ;. -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} - -You can find captioning tips at <https://emacsconf.org/captioning/> . -Feel free to use your favourite subtitle editor, and you can convert -it to whatever format you like. If you prefer to work with plain text, -we can probably even figure out the timestamps afterwards. - -Let me know if you want to reserve a talk for captioning or if you -have any questions or suggestions. Thank you! - -Sacha Chua - - -### TODO jiwer · PyPI - measure error rate - -<https://pypi.org/project/jiwer/> - - <a id="write-viewing"></a> ## DONE Update viewing instructions and watch pages :sachac: @@ -814,9 +662,17 @@ Maybe links to the current shift’s pads ### TODO Update <https://live.emacsconf.org/> as well +<a id="watch-css"></a> + +## TODO JS/CSS enhancement :emacsconf: + + +### TODO Add start and end attributes to the brief stuff for possible JS/CSS + + <a id="publish-live"></a> -## TODO Prepare to handle talk state changes :sachac: +## TODO Prepare to handle talk state changes :sachac:publish: ### Talk states @@ -874,27 +730,32 @@ emacsconf-erc.el in the emacsconf-el repo - announcement can include talk page, pad, IRC nick, pronouns +<a id="other-streams"></a> + +## TODO Set up stream events on Toobnix and YouTube :sachac:stream: + +so that people on other platforms can come across EmacsConf + + 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 + + <a id="video-platforms"></a> -## BLOCKED Set up talks on Toobnix and YouTube :sachac: +## BLOCKED Set up talks on Toobnix and YouTube :sachac:yt:toobnix: so that people can find the videos on other video platforms waiting for prerecs -<a id="other-streams"></a> - -## TODO Set up stream events on Toobnix and YouTube :sachac: - -so that people on other platforms can come across EmacsConf +<a id="orgfc25f3c"></a> - 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 +## TODO Check process for posting prerecs to the talk page and media directory as soon as the talk is live :sachac: <a id="speaker-bio"></a> -## TODO Ask speakers for bios or support nudges to include on their talk pages +## TODO Ask speakers for bios or support nudges to include on their talk pages :wiki: maybe after we get the prerecs ex: liberapay, patreon, anyone looking for a job, etc. @@ -934,6 +795,157 @@ zaeph is available on 2022-11-06 - [ ] Wind everything down +<a id="caption-workflow"></a> + +## TODO Smoothen captioning workflow :sachac: + +It looks like OpenAPI needs a little less editing in terms of +capitalization and punctuation, but it produces longer captions +(likely a 30-second sliding window). I’ll try to upload both YT and +OpenAPI captions so that people can decide what they like. + + +### DONE Figure out why it’s choking on SRV2 + +Can I use aeneas for alignment instead? + +Reflow the .txt file and reupload to res if needed +call ../run-aeneas.sh from the directory with the opus or ogg and the txt file + +sachac@res-https://emacsconf.org/2022/talks/~/current/meetups$ python3 -m aeneas.tools.execute\_task emacsconf-2022-meetups–attending-and-organizing-emacs-meetups–bhavin-gandhi–main.opus reflowed.srt “task\_language=eng|os\_task\_file\_format=json|is\_text\_type=subtitles” output.json + +I might try out lhotse and torchaudio someday, but it’s low priority. aeneas seems to do a reasonable job of + + +### TODO Move publishing the backstage index to res so that we can trigger it after the files are uploaded + + +### DONE Compare large, medium, and small models + +12 threads + +Original file: 21:16 21 minutes + +<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> + + +<colgroup> +<col class="org-left" /> + +<col class="org-right" /> + +<col class="org-right" /> + +<col class="org-left" /> +</colgroup> +<tbody> +<tr> +<td class="org-left"> </td> +<td class="org-right">Hours</td> +<td class="org-right">Mult</td> +<td class="org-left">Notes</td> +</tr> + + +<tr> +<td class="org-left"><a href="https://media.emacsconf.org/2022/backstage/emacsconf-2022-sqlite--using-sqlite-as-a-data-source-a-framework-and-an-example--andrew-hyatt--large.vtt">Large</a></td> +<td class="org-right">2:49</td> +<td class="org-right">8</td> +<td class="org-left"> </td> +</tr> + + +<tr> +<td class="org-left"><a href="https://media.emacsconf.org/2022/backstage/emacsconf-2022-sqlite--using-sqlite-as-a-data-source-a-framework-and-an-example--andrew-hyatt--medium.vtt">Medium</a></td> +<td class="org-right">2:03</td> +<td class="org-right">5.9</td> +<td class="org-left"> </td> +</tr> + + +<tr> +<td class="org-left"><a href="https://media.emacsconf.org/2022/backstage/emacsconf-2022-sqlite--using-sqlite-as-a-data-source-a-framework-and-an-example--andrew-hyatt--small.vtt">Small</a></td> +<td class="org-right">0:40</td> +<td class="org-right">2</td> +<td class="org-left">More run-on sentences</td> +</tr> +</tbody> +</table> + +Large and medium might do better on a system with a GPU. I’ll default to the small model for now. + + +### DONE Commit subed-tsv so that people can try a cleaner output + + +### DONE Investigate more granular timestamps for the output from OpenAPI Whisper + +<https://git.emacsconf.org/emacsconf-ansible/tree/roles/caption/templates> + + +### DONE Upload srv2 from YouTube for word-level + + +### CANCELLED Compare with Google Cloud Speech API + +~/code/speech + + +### DONE E-mail for bringing new captioning volunteers onboard + + (defun emacsconf-mail-captioning-intro (volunteer &optional template) + (interactive (list (emacsconf-complete-volunteer) + (emacsconf-mail-merge-get-template "captioning-intro"))) + (emacsconf-mail-prepare + (or template (emacsconf-mail-merge-get-template "captioning-intro")) + (assoc-default "EMAIL" volunteer 'string=) + (list + :backstage "https://media.emacsconf.org/2022/backstage/" + :backstage-user "emacsconf" + :backstage-password emacsconf-backstage-password + :conf-name emacsconf-name + :year emacsconf-year + :name (assoc-default "NAME_SHORT" volunteer 'string=) + :email (assoc-default "EMAIL" volunteer 'string=)))) + + +#### Template + +Hi ${name}! + +Thank you for volunteering to help with the captions for ${conf-name} +${year}! Last year, we were able to get almost all the talks captioned +in time for streaming. Participants found them very useful for +understanding different technical terms, names, accents, and so on. +We’d love to be able to pull that off again this year, and it would be +great to have you on board.${wrap} + +We’ve set up ${backstage} as the backstage area where you can view the +videos and resources uploaded so far. You can access it with the +username "${backstage-user}“ and the password ”${backstage-password}“. +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} + +You can find captioning tips at <https://emacsconf.org/captioning/> . +Feel free to use your favourite subtitle editor, and you can convert +it to whatever format you like. If you prefer to work with plain text, +we can probably even figure out the timestamps afterwards. + +Let me know if you want to reserve a talk for captioning or if you +have any questions or suggestions. Thank you! + +Sacha Chua + + +### TODO jiwer · PyPI - measure error rate + +<https://pypi.org/project/jiwer/> + + <a id="link-pages"></a> ## TODO Add category tags and possibly links between talks across 2022 and all previous years :needsowner:wiki: @@ -1091,100 +1103,128 @@ see conf.org for the rest of the process ### TODO Add volunteers to the BBB rooms -<a id="streaming"></a> - -## TODO Investigate streaming options, maybe OBS in the cloud :corwin: - -- bandali doesn’t have much cognitive bandwidth at the moment, so we can keep things simple with OBS on laptops - -- Issue: zaeph was dropping frames and couldn’t pay attention to as many things as he wanted -- Issue: corwin needs assistance to not be locked in his chair for the whole conf. Premptively, zaeph can do it by broadcasting OBS scenes via the rtmp (instead of just his webcam). -- With a long day, we may want to be able to schedule hosts/streamers/publishers in shifts -- Ideal: Easy reproducible setup to spin up an OBS VM with scenes set up, allowing multiple users to connect to it at the same time. Maybe x2go or vnc? VMs with 8 vCPUs and a vGPU cost more, so it would be good to figure out what’s needed, spin it down, and then spin it up maybe the day before or something like that. -- Plus points if we can control the OBS via password-protected websocket so we can tell it to switch scenes (and even more points if we do so from Emacs, maybe via that obs-websocket.el ;) ). MPV is also controllable via IPC, so we can use the same MPV player and then switch videos around. Maybe mpvc? <https://unix.stackexchange.com/questions/664728/how-can-i-control-mpv-in-command-line> -- Probably Linode’s Dedicated 32 GB + RTX6000 GPU x1 at $1.50 an hour for 2-3 days + dev time, since live.emacsconf.org is in Linode as well -- We should also look into normalization across the board, especially if we have BBB participants. pipewire + easyeffects on the box might be the easiest way to do it. - -Resources: +<a id="coordinate-volunteers"></a> -- <https://blog.wirelessmoves.com/2021/07/running-obs-studio-in-the-cloud.html> +## TODO Coordinate and help volunteers :sachac: -- Multiple users accessing X11 - - Apache Guacamole - - <https://askubuntu.com/questions/817970/how-to-setup-multiple-simultaneous-access-to-x11vnc-session> - - <https://xpra.org/> +- <../volunteer> +- Figure out what information volunteers need in order to feel + comfortable signing up for tasks. ex: + <https://wiki.debian.org/DebConf/21/VideoVolunteering> +- Encourage people to sign up for [Shifts](#shifts) -### TODO corwin: plan an approach to use a centralized OBS/nginix &lsquo ;bouncer’ :corwin: +### TODO Plan training session(s), Q&A availability, recordings -### TODO corwin: document such that someone else could use/fix it :corwin: +### BLOCKED Hold Q&A session with volunteers -### TODO corwin: recruit at least one more person to help operate the &lsquo ;video bouncer’ :corwin: +<a id="streaming"></a> +## TODO Investigate streaming options, maybe OBS in the cloud :sachac: -### SOMEDAY <https://docs.vdo.ninja/> +Current status +- res.emacsconf.org seems to be able to handle 2x (OBS + TigerVNC + MPV, should test with Firefox as well) -### SOMEDAY Live Streaming using low configuration vps | cheapest streaming server | google cloud ubuntu server +Goals: -<https://www.youtube.com/watch?v=3iBYYgkG1eM&t=953> +- [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 +- [ ] Split the audio so that we can join the Q&A room before the MPV ends? Would need to figure out how to share the MPV window, but OBS doesn’t like to share full-screen MPV +Process on res: -### SOMEDAY ansible\_linode/instance.md at main · linode/ansible\_linode +1. sudo su - orga +2. ~/bin/gen/-vnc (or ~/bin/dev/-vnc) - if the VNC server is already up, it’ll tell you that it’s reusing it. Gen will be on port 5905, dev will be on port 5906. (See vnc\_id in the ansible vars if you want to change this.) +3. Forward your local ports via SSH: + ssh -L 15905:127.0.0.1:5905 -L 15906:127.0.0.1:5906 res.emacsconf.org +4. Connect using xvncviewer to the appropriate forwarded port from your laptop. Password is in conf.org under vnc\_password. + Gen: xvncviewer 127.0.0.1:15905 -shared + Dev: xvncviewer 127.0.0.1:15906 -shared +5. Load something with audio in firefox -ProfileManager , and start playing it. +6. Use pavucontrol to make sure the Firefox process is going into the $track-qa sink. -<https://github.com/linode/ansible_linode/blob/main/docs/modules/instance.md> +If you copy res:~orga/.vnc/passwd to your computer (ex: vnc-passwd), you can use the -passwd arg: +xvncviewer 127.0.0.1:15906 -shared -passwd vnc-passwd +<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> -### SOMEDAY Use the Linode Ansible Collection to Deploy a Linode | Linode -<https://www.linode.com/docs/guides/deploy-linodes-using-linode-ansible-collection/> +<colgroup> +<col class="org-left" /> +<col class="org-left" /> +</colgroup> +<tbody> +<tr> +<td class="org-left">-obs</td> +<td class="org-left">start OBS with the track’s profile and scene collection</td> +</tr> -### SOMEDAY Snowmix - The Swiss Army Knife of Open Source Live Video Mixing. -<https://snowmix.sourceforge.io/Examples/input.html> +<tr> +<td class="org-left">-mpv file.webm</td> +<td class="org-left">play the file using the track’s sink</td> +</tr> +</tbody> +</table> +There are sockets in the home directory for MPV control - haven’t tested it yet. -### SOMEDAY YouTube <https://m.youtube.com> › watch YouTube Live Stream from Free VPS without OBS | No GPU | FFmpeg +Watch at <https://live.emacsconf.org/2022/watch/dev/> or <https://live.emacsconf.org/2022/watch/gen/> -<https://www.google.com/url?sa=t&source=web&rct=j&url=https://m.youtube.com/watch%3Fv%3D9Jj0pVKRaOE&ved=2ahUKEwjPru_TqOv6AhVMkokEHXL9Dm4QtwJ6BAgrEAI&usg=AOvVaw3gyboiaXqCQBflqeWwSf9w> +### TODO Set up scenes and try them -### SOMEDAY YouTube <https://m.youtube.com> › watch VPS Streaming Setup for Free 24x7 YouTube Live Stream Without OBS -<https://www.google.com/url?sa=t&source=web&rct=j&url=https://m.youtube.com/watch%3Fv%3D1y-DUYiECWQ&ved=2ahUKEwjPru_TqOv6AhVMkokEHXL9Dm4QtwJ6BAgqEAI&usg=AOvVaw17mbCEiFL6dGVY4YEBufcy> +### TODO Create Ansible tasks for setting up sinks for MPV and Firefox for the streams, and adding the scenes appropriately -### SOMEDAY OBS Studio 26.0 | Hacker News +### TODO See if I can even Ansible-up the rest of the tasks -<https://news.ycombinator.com/item?id=24633139> +like starting up Firefox and mpv and everything -### SOMEDAY mviereck/x11docker: Run GUI applications and desktops in docker and podman containers. Focus on security. +### TODO Experiment with sharing part of the screen so that there’s space for us to work a little off-screen -<https://github.com/mviereck/x11docker#sound> +### TODO obs-websocket control of OBS on the server? =D -### SOMEDAY vcs.fsf.org Git - streamdesktop.git/tree -<https://vcs.fsf.org/?p=streamdesktop.git;a=tree> +### TODO document such that someone else could use/fix it -### SOMEDAY Is it possible to run a conference using only free software? | Opensource.com +### TODO plan an approach to use a centralized OBS/nginix “bouncer” -<https://opensource.com/article/20/5/conference-free-software> +### Other notes -### SOMEDAY soonum/hubangl: A free/libre and easy to use streaming software. +- bandali doesn’t have much cognitive bandwidth at the moment, so we can keep things simple with OBS on laptops -<https://github.com/soonum/hubangl> +- Issue: zaeph was dropping frames and couldn’t pay attention to as many things as he wanted +- Issue: corwin needs assistance to not be locked in his chair for the whole conf. Premptively, zaeph can do it by broadcasting OBS scenes via the rtmp (instead of just his webcam). +- With a long day, we may want to be able to schedule hosts/streamers/publishers in shifts +- Ideal: Easy reproducible setup to spin up an OBS VM with scenes set up, allowing multiple users to connect to it at the same time. Maybe x2go or vnc? VMs with 8 vCPUs and a vGPU cost more, so it would be good to figure out what’s needed, spin it down, and then spin it up maybe the day before or something like that. +- Plus points if we can control the OBS via password-protected websocket so we can tell it to switch scenes (and even more points if we do so from Emacs, maybe via that obs-websocket.el ;) ). MPV is also controllable via IPC, so we can use the same MPV player and then switch videos around. Maybe mpvc? <https://unix.stackexchange.com/questions/664728/how-can-i-control-mpv-in-command-line> +- Probably Linode’s Dedicated 32 GB + RTX6000 GPU x1 at $1.50 an hour for 2-3 days + dev time, since live.emacsconf.org is in Linode as well +- We should also look into normalization across the board, especially if we have BBB participants. pipewire + easyeffects on the box might be the easiest way to do it. +- <https://docs.vdo.ninja/> +- Live Streaming using low configuration vps <https://www.youtube.com/watch?v=3iBYYgkG1eM&t=953> +- <https://snowmix.sourceforge.io/Examples/input.html> +- <https://www.google.com/url?sa=t&source=web&rct=j&url=https://m.youtube.com/watch%3Fv%3D1y-DUYiECWQ&ved=2ahUKEwjPru_TqOv6AhVMkokEHXL9Dm4QtwJ6BAgqEAI&usg=AOvVaw17mbCEiFL6dGVY4YEBufcy> +- [OBS Studio 26.0 | Hacker News](https://news.ycombinator.com/item?id=24633139) +- <https://github.com/mviereck/x11docker#sound> +- <https://vcs.fsf.org/?p=streamdesktop.git;a=tree> +- <https://opensource.com/article/20/5/conference-free-software> +- <https://github.com/soonum/hubangl> +- <https://obsproject.com/forum/threads/run-obs-on-vm-in-the-cloud.122543/> -### SOMEDAY Question / Help - Run OBS on VM in the cloud | OBS Forums -<https://obsproject.com/forum/threads/run-obs-on-vm-in-the-cloud.122543/> +### TODO recruit at least one more person to help operate the “video bouncer” <a id="maybe-projects"></a> @@ -2053,7 +2093,7 @@ We tried using q56 before, but it was a little too aggressive. Q=32 is the defau Hi, ${speakers-short}! Just a quick note to let you know that I’ve downloaded your -submission for &lsquo ;${title}’. We’ve added your submission to the backstage +submission for “${title}”. We’ve added your submission to the backstage area at ${backstage} (username: ${backstage-user}, password: ${backstage-password}), and we’ll post the files on your talk page when the talk is public. A quick check shows that your video is about @@ -2257,9 +2297,9 @@ Exception: [CHECK is unavailable](#check-gone) with instructions, so please check there. Let me know if you don’t get them. - Private messages: - - (erc-message &lsquo ;PRIVMSG’ (format &lsquo ;%s You can use this BBB room: %s . I’ll join you there shortly to set up the room and do the last-minute tech check.’ nick room-url)) - - (erc-message &lsquo ;PRIVMSG’ (format &lsquo ;%s The collaborative pad we’ll be using for questions is at %s . We’ll collect questions from #emacsconf and put them there. If you’d like to jump to your part of the document, you might be able to keep an eye on questions. Alternatively, we can read questions to you.’ nick conf-collaborative-pad)) - - (erc-message &lsquo ;PRIVMSG’ (format &lsquo ;%s Leo Vivier will join when it’s time, and he will give you the go-ahead when it’s time to present. See you in the BBB room!’ nick)) + - (erc-message “PRIVMSG” (format “%s You can use this BBB room: %s . I’ll join you there shortly to set up the room and do the last-minute tech check.” nick room-url)) + - (erc-message “PRIVMSG” (format “%s The collaborative pad we’ll be using for questions is at %s . We’ll collect questions from #emacsconf and put them there. If you’d like to jump to your part of the document, you might be able to keep an eye on questions. Alternatively, we can read questions to you.” nick conf-collaborative-pad)) + - (erc-message “PRIVMSG” (format “%s Leo Vivier will join when it’s time, and he will give you the go-ahead when it’s time to present. See you in the BBB room!” nick)) - CHECK directs speaker to available room with `/checkin <room> <nick>` - Speaker joins talk room - CHECK makes speaker presenter and moderator, does last-minute tech check @@ -2573,7 +2613,7 @@ Probably focus on grabbing the audio first and seeing what’s worth keeping Make a table of the form -<table id="org8777bf5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> +<table id="org008ec2b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <colgroup> @@ -2847,7 +2887,7 @@ mpv –vf=negate $url Extra stuff to consider adding: - DONE Suggestions for themes (especially wrt colourscape) -- DONE “Please don’t squeeze your talk by fast-forwarding your speech. Trimming silences and filler words can help, though. Sometimes it’s easier to write, record, and edit your voiceover, and then record the video to go along with it.&lsquo ; +- DONE “Please don’t squeeze your talk by fast-forwarding your speech. Trimming silences and filler words can help, though. Sometimes it’s easier to write, record, and edit your voiceover, and then record the video to go along with it.“ - DONE Allowing speakers to plant questions, esp. to cover tangential stuff that couldn’t fit in the prerec @@ -2871,7 +2911,7 @@ See the bottom of conf.org for some automated validation Extra stuff to consider adding: - DONE Suggestions for themes (especially wrt colourscape) -- DONE “Please don’t squeeze your talk by fast-forwarding your speech. Trimming silences and filler words can help, though. Sometimes it’s easier to write, record, and edit your voiceover, and then record the video to go along with it.&lsquo ; +- DONE “Please don’t squeeze your talk by fast-forwarding your speech. Trimming silences and filler words can help, though. Sometimes it’s easier to write, record, and edit your voiceover, and then record the video to go along with it.“ - DONE Allowing speakers to plant questions, esp. to cover tangential stuff that couldn’t fit in the prerec @@ -2979,7 +3019,7 @@ Slightly annoying to do with JS/CSS because I want it to fall back to an interle ## DONE Process confirmations as we receive them :sachac:zaeph: -- Reply to the speaker and Cc -submit to confirm the confirmation. Something like &lsquo ;Confirming your confirmation, no reply needed to this one. Thank you!’ +- Reply to the speaker and Cc -submit to confirm the confirmation. Something like “Confirming your confirmation, no reply needed to this one. Thank you!” - Update talk to WAITING\_FOR\_PREREC in conf.org - Add a note in the logbook (C-c C-z - org-add-note) for the talk entry - Add :PUBLIC\_EMAIL: t if given permission to use the e-mail on the @@ -3374,15 +3414,15 @@ It would be nice to have track-specific icals as well. zaeph: I can work on it, but I’m not experienced in this domain, so I’d prefer to be a back-up. task is currently with bandali -Lesson learned from last year: &lsquo ;Since people kept running into ftp +Lesson learned from last year: “Since people kept running into ftp problems, we might want to set up a web-frontend next year to minimise -problems.’ +problems.” Maybe we could ask some of the volunteers who wanted to help us with the infra? It shouldn’t be complicated to deploy a ready-made solution. -&lsquo ;file drop’ is a common keyword for looking for information. +“file drop” is a common keyword for looking for information. Considerations: - Probably run it on media.emacsconf.org @@ -3541,7 +3581,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. @@ -3687,8 +3727,8 @@ generated captions that we can use as a starting point. We’ve set up ${backstage} as the backstage area where you can view the videos and resources uploaded so far. You can access it with the -username "${backstage-user}&lsquo ; and the password ’${backstage-password}&lsquo ;. -Please keep the backstage password and other speakers” talk resources +username "${backstage-user}“ and the password ”${backstage-password}“. +Please keep the backstage password and other speakers’ talk resources secret. ${backstage-use}${wrap} Thank you! @@ -4007,7 +4047,7 @@ ${captions} Hi, ${name}! I think we haven’t heard from you since we accepted your EmacsConf -${year} proposal for "${title}&lsquo ;. EmacsConf coming up soon, so I wanted +${year} proposal for "${title}“. EmacsConf coming up soon, so I wanted to check in with you to see how you’re doing. Could you please e-mail us to let us know if you’re still working on @@ -4716,10 +4756,10 @@ see emacsconf-import-comments-from-etherpad-text format makes it harder not only for the organizers, but also for the speakers themselves (since they will have to rethink their presentation). Maybe we can have an e-mail template for a quick - reply that says something like &lsquo ;Just in case we need to squeeze + reply that says something like “Just in case we need to squeeze talks into shorter times, could you please also propose an outline for a possible 10-minute talk that could get people interested in - your topic and point them to where they can find out more?’ + your topic and point them to where they can find out more?” - Two people is the sweet number of reviewers to have for the proposals before sending the notifications, and there’d be diminishing returns with more. Two is enough to release the pressure |