Videoteam/veyepar

From Wiki
Jump to: navigation, search

Contents

[edit] Preparing veyepar for a new show

In veyepar parlance, a "show" is an event, like a debconf or miniconf. To create one, you need to log on as the "veyepar" user; its password is in the file ~veyepar/veyepar-admin-password.txt on vittoria.debian.org. Go to the show admin page, log on, and click on "Add show". Required are "name" and "slug", and at least one "location" (you can change it later if needs be, but if you don't select at least one location, you'll get an exception on the next page). If the schedule is available in an easily parsable format, entering the URL to that format in "schedule URL" may be helpful, too. The script that parses these schedules is /home/veyepar/site/veyepar/dj/scripts/addeps.py (which needs to be run from the command line as the veyepar user); adding a method to parse the schedule (or reusing a previous one) will be necessary.

If the schedule is not available in an easily parsable format, there are two options:

  1. Talk to the conference organizers and ask them to provide one (preferred, but not always possible)
  2. Go to the episode admin page and manually add them

A show needs to be activated before any of the scripts will look at it; this is done in the file ~veyepar/site/veyepar/dj/scripts/veyepar.cfg; just change the show= line so it contains the "slug" of the active show.

Once the show has been activated, run sudo -u veyepar -H /bin/bash (so that the python virtualenv is set up), cd to ~veyepar/site/veyepar/scripts, and run python addeps.py to see if the schedule can be parsed correctly. If that didn't produce any errors or go berserk or some such, run python addeps.py --update to commit them to the database.

If the schedule is ever updated, just run addeps.py again with the --update argument; it should detect any updates and only make the required changes to get everything in sync again, rather than re-adding all talks.

If there are some rooms on the schedule which are not recorded, go to the locations admin page, and remove the checkmark under the "Active" column (that way, veyepar will ignore all talks in that room, although they'll still be in the database).

When transcoding, veyepar will prepend a "title" and append a "credits" file. The title should be an SVG file; if it contains an element with "authors" as the id, then veyepar will add the name(s) of the authors to that line; if it contains an element with "title" or "title2" as the id, then veyepar will add the title and subtitle of the event to that line.

These filenames are unfortunately linked to the "client", rather than to the "show", where they belong. This means veyepar can't deal with two shows for the same "client" at the same time. Store the SVG file(s) under /home/veyepar/site/veyepar/dj/scripts/bling, and add the relative name (from that path) in the "Title svg" and "Credits" names in the client admin page.

Now run python mkdirs.py (in the same scripts directory, as the same veyepar user with the venv set up) to create the necessary directory structure under ~veyepar/Videos.

Ask DSA to temporarily assign more cores to the vittoria VM.

[edit] Processing files

The mkdirs.py script will create directories for every active room. Upload files into those directories using a YYYY-MM-DD/HH:MM:SS.dv naming scheme. Once they're uploaded, run python adddv.py to add them to the database, and python tsdv.py to match all files roughly to the talks they belong to.

To create low-quality WebM preview files, run something along the lines of

   cd ~veyepar/Videos/veyepar/debian/showslug/dv/room/YYYY-MM-DD
   for i in *; do ~veyepar/bin/dv2lqwebm $i; done

If DSA gave you more cores, don't use a for loop but do something to run them in parallel (you can write shell scripts, too). This may be run as the veyepar user, although that's not required (obviously though, you do need write access to the directory to write the files).

Once reviews have happened, make sure that the encoding scripts run. In a screen or tmux session (or some such), run the following:

   python enc_gst.py --poll=60

The "60" is the number of seconds that the enc_gst.py script will wait between polls for work to do. Run it once per core you were assigned. If they set a talk to "encode", enc_gst.py will pick that up and produce the webm file.

The resulting files will be in ~veyepar/Videos/debian/showslug/webm/. Upload them to meetings-archive after QA.

For information on how to review, see the instructions for dc15, but note that mounting over NFS and looking at raw DV files is (obviously) not possible (use the above-generated preview files instead).

[edit] Cleaning up

Once the show is over and all transcoding has been finalized, talk to DSA and let them know they can repurpose the cores if they need to. Move the DV files to an archive location, or junk them if you're sure you won't need them anymore.

You're done.

[edit] Help!

Upstream for veyepar is Carl Karsten, who tends to lurk on the #debconf-video IRC channel as CarlFK. He's usually very helpful.

Personal tools