Problem statement
Right now, we have different resources to pool videos. The goal of is to consolidate all video resources into a central place to make them easily searchable, and enable a youtube like experience, rather than a simple file list.
Approach
Evaluate both VoctoWeb and MediaGoblin (packaging efforts for this are also a hackweek project). The goal is to have all videos pooled in one place, searchable, and easily accessible from a browser.
Evaluation criteria:
- Allows simple uploads
- Allows watching in a browser
- Allows easy download for offline consumption
- Provides all vital metadata
- Provides a good search functionality.
- Provides means to easily embed videos into other sites
The plan is to write Salt packages for deployment to ensure it's reproducible and to publish the Salt recipes. With a production instance, import, existing videos will be imported. A VM with the required resources has already been requested.
Stretch goals
Improve Availability, reduce latency
The video server will be initially located on the Nuremberg site. I'll investigate how bad the latency to other sites is under broad use. most efficiently make the video available to all sites. This could be a mirrorbrain-based CDN, or caching nodes. I will document my findings on what's being used elsewhere to get the job done, and lay out a path
Hook up with the existing voctomix recording toolchain
A goal for this setup is to be able to feed it with projects like the OpenSUSE Video box, which is currently Debian-based. OpenSUSE should be able to foot the same task. With Voctomix already packaged, we need to bring it to the latest version, and package more parts of the toolchain, such as the Conference Recording System and ultimately the tracker GUI, where packaging is pending a proper license by upstream.
Looking for hackers with the skills:
video voctoweb mediagoblin voctomix rubyonrails python ffmpeg gstreamer
This project is part of:
Hack Week 16
Activity
Comments
-
-
about 8 years ago by dmolkentin | Reply
CRS has been licensed under Apache-2 terms and is now available at https://build.opensuse.org/package/show/home:dmolkentin:video/crs-tracker, with the scripts to follow once I figure a good way to packaging them.
Similar Projects
Finish mpv port for gfxprim by metan
Description
I've started to work on porting mpv video player for gfxprim graphic library. I have a proof of concept ready and I would like to finish it properly. The only big part that is missing is software rescaling. The minor things that are missing are command line switches to select dithering (for black and white LCD displays), better keyboard mappings, etc.
Goals
Make the gfxprim video output for mpv production ready and prepare packages for openSUSE, Debian and Raspbian.
Improvements to osc (especially with regards to the Git workflow) by mcepl
Description
There is plenty of hacking on osc, where we could spent some fun time. I would like to see a solution for https://github.com/openSUSE/osc/issues/2006 (which is sufficiently non-serious, that it could be part of HackWeek project).
Improve/rework household chore tracker `chorazon` by gniebler
Description
I wrote a household chore tracker named chorazon, which is meant to be deployed as a web application in the household's local network.
It features the ability to set up different (so far only weekly) schedules per task and per person, where tasks may span several days.
There are "tokens", which can be collected by users. Tasks can (and usually will) have rewards configured where they yield a certain amount of tokens. The idea is that they can later be redeemed for (surprise) gifts, but this is not implemented yet. (So right now one needs to edit the DB manually to subtract tokens when they're redeemed.)
Days are not rolled over automatically, to allow for task completion control.
We used it in my household for several months, with mixed success. There are many limitations in the system that would warrant a revisit.
It's written using the Pyramid Python framework with URL traversal, ZODB as the data store and Web Components for the frontend.
Goals
- Add admin screens for users, tasks and schedules
- Add models, pages etc. to allow redeeming tokens for gifts/surprises
- …?
Resources
tbd (Gitlab repo)
Song Search with CLAP by gcolangiuli
Description
Contrastive Language-Audio Pretraining (CLAP) is an open-source library that enables the training of a neural network on both Audio and Text descriptions, making it possible to search for Audio using a Text input. Several pre-trained models for song search are already available on huggingface
Goals
Evaluate how CLAP can be used for song searching and determine which types of queries yield the best results by developing a Minimum Viable Product (MVP) in Python. Based on the results of this MVP, future steps could include:
- Music Tagging;
- Free text search;
- Integration with an LLM (for example, with MCP or the OpenAI API) for music suggestions based on your own library.
The code for this project will be entirely written using AI to better explore and demonstrate AI capabilities.
Result
In this MVP we implemented:
- Async Song Analysis with Clap model
- Free Text Search of the songs
- Similar song search based on vector representation
- Containerised version with web interface
We also documented what went well and what can be improved in the use of AI.
You can have a look at the result here:
Future implementation can be related to performance improvement and stability of the analysis.
References
- CLAP: The main model being researched;
- huggingface: Pre-trained models for CLAP;
- Free Music Archive: Creative Commons songs that can be used for testing;
Update M2Crypto by mcepl
There are couple of projects I work on, which need my attention and putting them to shape:
Goal for this Hackweek
- Put M2Crypto into better shape (most issues closed, all pull requests processed)
- More fun to learn jujutsu
- Play more with Gemini, how much it help (or not).
- Perhaps, also (just slightly related), help to fix vis to work with LuaJIT, particularly to make vis-lspc working.
Bring to Cockpit + System Roles capabilities from YAST by miguelpc
Bring to Cockpit + System Roles features from YAST
Cockpit and System Roles have been added to SLES 16 There are several capabilities in YAST that are not yet present in Cockpit and System Roles We will follow the principle of "automate first, UI later" being System Roles the automation component and Cockpit the UI one.
Goals
The idea is to implement service configuration in System Roles and then add an UI to manage these in Cockpit. For some capabilities it will be required to have an specific Cockpit Module as they will interact with a reasource already configured.
Resources
A plan on capabilities missing and suggested implementation is available here: https://docs.google.com/spreadsheets/d/1ZhX-Ip9MKJNeKSYV3bSZG4Qc5giuY7XSV0U61Ecu9lo/edit
Linux System Roles:
- https://linux-system-roles.github.io/
- https://build.opensuse.org/package/show/openSUSE:Factory/ansible-linux-system-roles Package on sle16 ansible-linux-system-roles
First meeting Hackweek catchup
- Monday, December 1 · 11:00 – 12:00
- Time zone: Europe/Madrid
- Google Meet link: https://meet.google.com/rrc-kqch-hca