languages: en

video-publishing

This page documents the process of publishing video recordings of the talks held during Koppelting.

We use our own Peertube instance, running at https://televisie.planb.coop/. This server handles the livestreaming of talks and at the same times creates recordings. To then publish these recordings, some manual work is needed:

  1. Briefly review the video to check (audio) quality, and edit the video to cut off any leading and trailing uninteresting parts.
  2. Update the video title, description and metadata to reflect the info of the talk (this is largely automated).
  3. Put it into the appropriate playlist.

Additional processing

The above is required to publish the video, but additional work can be done to add chapters to the video (allowing viewers to quickly see the structure of a talk and to jump to interesting parts), or to improve the subtitles (but before this, some effort should be made to improve the automatic subtitle generation first).

Both of these require a lot more time than the initial publishing, but can be done later by others as well. If you find an interesting video and want to watch it closely while working out its chapters, check out the section about that below. 

Cutting the video to size

To edit the video, go through the "..." menu, then "Manage", then "Studio".

Here, you can enter a new start and end time for the video:

Peertube studio cut interface

Note that the edits you make are destructive (anything you cut off is cut off the original video and cannot be retrieved except maybe from a backup), so doublecheck the values before making the cut. It will take some time to apply the edit, so the video should stay private while the edit is running (while the status is "EDIT", it will change to "IN YOUR LIBRARY" when done).

Adding metadata

The metadata for a video can be edited via the "..." menu, then "Manage" and "Main information" (and "Customization" for the original publication date).

Most of the metadata is based on the entry in the festival lineup and should be copied verbatim, but it is ok to add information or rephrase/modify info to make it more suited.

Our Peertube instance has a custom plugin that can handle importing most info automatically. To do so, look up the lineup URL and put it into the "URL to lineup entry" field:

Lineup URL field in the peertube user interface

After pasting in the URL, the video title, description and thumbnail will be automatically generated. Review the generated info (e.g. remove the "Website:" line if there is no website listed, add any extra information such as a link to slides) and click save to apply it. Other fields can usually be left at their defaults, but make sure to doublecheck the language field.

Video title

The format for the title is "Koppelting 20xx: Title of the talk", where the title of the talk is typically copied from the lineup title verbatim.

Description

The description should use the following template:

[[Description from the lineup]]

**Title**: [[ Title from the lineup ]]
**Presenter**: [[ Name of the presenter(s) ]]
**Date**: 20xx-xx-xx
**Talk info**: https://koppelting.org/en/koppelting20xx/lineup#id123456abcdef
**Slides**: https://example.org/link-to-slides
**Website**: [[ Website from lineup ]]

This talk was held during Koppelting 20xx, see https://koppelting.org/en/koppelting20xx/lineup.

Slides can be added when there is a link available, but there is no standard place where slides are collected (Harmen probably has a pile of them in the e-mail for past talks). There is also no good place to attach files right now, ideally this would be added to Hypha (the Koppelting website system) at some point.

Older talks are often cut short (because the recording duration was hard limited to the talk duration, but presenters often went over time). If this happens, it is good to announce that in the description by adding:

**Note: The end of the recording was cut short, so the last part of the talk has not been recorded.**

Tags

Tags are currently unused. At a later moment, we can review the existing videos to decide on a good set of tags to use. For this to work conveniently, peertube should also implement tag autocompletion first.

Support button

This should contain exactly:

Want to support Koppelting financially? Go to https://www.dewar.nl/betaal and select "Koppelting / Meetkoppel".

Want to support Koppelting with contributions? Sign up to the next edition at https://www.koppelting.nl and put your contribution on the lineup directly!

This should usually be prefilled (the info is copied from the livestreaming entry when the recording is made). This info can also be updated on all videos in a channel via the channel editing interface if needed.

Channel

This should be "Koppelting conference recordings", which should already be prefilled.

Thumbnail

This should have an appropriate image, typically the image from the lineup can be used.

Note that after uploading, if the thumbnail is not widescreen aspect ratio, it will look stretched, but it will show up correctly after saving.

Privacy

This should be "Private" until everything is complete, then "Public" to publish the video.

License

Should be "Attribution - Share Alike" (unless something else is agreed with the presenter). This should usually be prefilled.

Category

Currently, no categories are used. Peertube has a fixed and very generic set of categories which is not very useful for our videos. There are plugins to change the list of categories, but it is unclear how robust this would be, and it might also affect federation. Since exploration based on category is probably not very important on this instance, the category is left empty.

Language

Set accordingly to the language of the talk.

Original publication date

This can be set under "Customization" (in the left bar). It was originally intended to be set to the date and time of the presentation, but it is unclear if this can be automated, so it is left unset for now (it is also not displayed anywhere).

Playlist

Each video should be in a public playlist named after the Koppelting/Meetkoppel event it was held in. Editing the playlists for a video cannot be done from the "Manage video" interface, but must be done from the main list of videos, under the "..." menu and then "Save to playlist".

Because of this, it is usually easiest to create a playlist and immediately add all the videos for that conference to the playlist directly.

Peertube "Save to playlist

Publishing the video

When all editing is done, the video can be published by setting the visibility to public.

Adding chapters

Chapters can be added by making a list of chapters in the video description. This list is a simple plaintext list, that can look something like this:

00:00 Introduction
Introducing the speaker, organisation and field
01:23 Problem statement
How can fix the McGuffin?
06:78 Solutions
10:00 Conclusion

This can be simple plaintext, just a timestamp followed by the chapter name. Each chapter name will be shown in the video seek bar. The above example also has some extra clarifications, shown on lines of their own not prefixed with a timestamp. These will be shown in the video description, but not in the seek bar and can be used to give a bit more detail to the viewer. These are optional, just the chapter names is often fine.

As an example, see https://televisie.planb.coop/w/qpPiHunNyGhtqsva2pMv8G.

Defining chapters can be done by anyone, so if you are going to watch a recording and want to invest a little more time to write down a chapter list that would be very welcome. You can then simply send the chapter list to info@koppelting.org and we will make sure it gets published.

Future improvements

  • Generate subtitles in multiple languages. Apparently the whisper software used can do this, so this likely only needs modification in peertube to call whisper in the appropriate way for this.
  • Add tags
  • Maybe use custom categories?
  • Expose the transcript in a more readable way. Maybe allow exporting it for analysis.
  • Improve video processing speed using video card acceleration (can use a remote worker, maybe put a video card in our local server?).
  • Store metadata (presenter, lineup url, etc) as Markdown frontmatter instead of in the actual description?