Things we're planning and/or doing during the sprint
Wouter
- Fixing the /released metadata (which is used as an input for Stefano's youtube/peertube scripts) so they actually use the correct format rather than something almost but not quite resembling it.
- Fix the libmedia-convert-perl autopkgtest
- Simplified our gitlab CI configuration for our unittests
- Added unittests for the SReview roles in ansible
highvoltage
Every DebConf (or mini, etc) I configure OBS for loopy again and realise there's a lot of scope for improvement in the way we use it (and improvements in OBS itself we don't take advantage of), but then there is little chance to look into it during DebConf itself, so for this sprint, I'm setting up OBS and taking some time to delve into it and either making some improvements for the next DebConf, or adding items as wishlist items to improve for another play time.
[DONE] Install OBS in a VM, along with obs-automatic-scene-switcher (OBS in testing/unstable is quite... unstable, it had a bunch of the issues I had reported upstream too, I requested an updated to a newer upstream version from the maintainer: #1023964
- Check obs plugins that looked nice but that I haven't had a chance to try out yet
- [DONE] obs-downstream-keyer - allows overlays between scenes (nice for things like channel logos, lower thirds, might be useful to implement the bottom bar thing we have currently).
- Conclusion: Doesn't look all that useful, it's almost the same as including a scene within a scene (like we do with the bottom bar), but is always on top and ignores scene transitions
- [DONE] obs-move-transition - apparently much more options for transitioning between scenes (very cool, somewhat complicated, might need some further exploration
- Conclusion: Quite complicated, might be better to circle back to this some other time after everything else have been automated more
- [DONE] obs-scene-collection-manager - might aid in managing the very large collection of scenes that a loopy has
- Conclusion: Just a tool to backup/restore scene collections manually, doesn't seem too useful for us
- [DONE] obs-downstream-keyer - allows overlays between scenes (nice for things like channel logos, lower thirds, might be useful to implement the bottom bar thing we have currently).
- Check what the state of the art is for scripting OBS, and controlling it remotely and what we can use from that
[DONE] There is https://obsproject.com/forum/resources/obs-websocket-remote-control-obs-studio-using-websockets.466/ (built in to obs28+, in bookworm), might be useful (enabling this is quite trivial)
Some nifty api documentation: obs-websocket Protocol
- Python client integration:
[DONE] simpleobsws (asyncio), samples, by IRLToolkit, MIT/Expat - freshly packaged: ITP: #1023979, in NEW now
- The examples are very good, and I believe we can do everything we'd want to with python / OBS with this library. I've uploaded it to NEW earlier, and will continue to get further acquainted with it.
[DEFER] obsws-python (non-asyncio), examples by aatikturk and onyx-and-iris, GPL-3
- Not much point in spending more time on this one since the simpleobsws library works fine.
[DONE] https://github.com/IRLToolkit/obs-websocket-http looks nice either to build on or for example code, no licensing information, not packagable (filed upstream bug #15 to request clarification
- Use cases:
Potentially replace obs advance-scene-switcher. For that we'd need to: define scene groups (shoutouts, sponsors (for DC22 we had 3 different types of sponsor sets). define a flow between these (some details on how this worked in early loopy, although it's better now). It would be nice to get the length of a video from a file and automatically add it to a part of the loop, with the option of specifying a time if you don't want to include the whole clip. All of this or... manage advanced-scene-switcher itself from an external script.
I made some great unexpected progress with this, here's an initial PoC script along with a data file that implements a very basic loopy loop. No use in actually running that yet, although that will supply you with an idea of how this is intended to work.
- Use OBS for more than just loopy loop, for example, to display things like a lower third on a live speaker frame
- Check if it's possible to avoid embedded web pages for lots of stuff
- [DONE] use url-text.py to show announcements in bottom bar
- [IN PROGRESS] Display the time using a python script (PoC working, needs some polish)
- [DEFER] Schedule (up next) page (going to keep this an embedded web page)
paddatrapper
- [DONE] look at capture cards and other video mixing solutions
- [DONE] Clean up docs issue list
- [DONE] Upload several pending packages
- [IN PROGRESS] Package Helios - include semantic commit release management
- [DONE] Migrate storm.debian.net to new host
tumbleweed
- [TODO] Historical archive metadata always needs work
- [TODO] Merge youtube and peertube archive metadata into the main repo?
- [DONE] Upgrade youtube upload script auth implementation
[DONE] Landed the ?DebConf22 updates to the archive metadata
- [DONE] Removed hacks from the sreview metadata importer, now that they aren't needed
- [DONE] Ported sreview's frontend to bootstrap4.
- [DONE] Client side filtering on the SReview's overview page, with Vue.js
pollo
- [DONE] triage, merge and/or close stale and already fixed issues and merge requests in our ansible and docs repositories (ansible: !173, !184, !185, !275, !359, !374, #1, #6, #42, #43, #46, #67) | docs: #6, #10)
- [DONE] fix broken intersphinx links in our documentation (!54)
- [DONE] move the sreview roles to a separate directory (!380, !191)
- [DONE] make it possible to install Debian testing with mk_usbinstall script (!383, #26)
- [DONE] fix idempotency in crypted password generation in our d-i scripts (!385, #90)
- [DONE] improve the CI pipeline for our documentation
- [DONE] fix our XFCE custom bottom panel
- [DONE] fix problem with clojure
- [DONE] make it possible to run unattended-upgrades for security upgrades
olasd
- [DONE] fix ansible docs build process to properly embed the markdown README files in roles
- [DONE] update the ansible docs build pipeline to use bookworm