Our standard procedure to process livestreams
As the team that is in charge of publishing content through our social media channels, we usually have to take time (or ask the Design Team for help) to process live streamed events (e.g.: Flock / Nest / Hatch with Fedora), which usually takes a lot of time to do manually. First to download all of the videos, then to manually cut them all up and then to upload it all back, so we decided on a standard procedure for future events, in order to ease the work for our contributors, specially for beginners.
First, you will need to tag the timecodes for all of the talks in the video. This is by far the most time consuming part of the whole process.
We recommend Sponsorblock to do so, first because it offers a nice interface, and second because you do not need admin access to the event or project’s YouTube channel to tag everything. The extension maintains a public database that people can use (usually to remove ads inside of videos, but in our case, we use it to remove breaks between talks).
First, press the shortcut
; or click the icon shaped like a play button inside a shield, which the extension creates right in the lower right corner of your video player, along the other video controls, to create a segment.
If you hover over the button instead of clicking it, another button with an ''i'' icon should appear. If you click it, a sidebar with all of the video’s segments and a couple of options should appear, which we will use later:
From there you can click one of the three icons that takes its place:
The first one (called Open Submission Menu), with the shape of an arrow, opens the submission menu, where you can see a summary of all the segments you created, edit them and upload them to the database.
The second one (called Cancel Created Segment), with the X shape, cancels the segment you started creating.
The third one (called End Segment Now), with the stop symbol, marks the end of the segment you created.
Now that you started a segment, find the point of the video you would like to end your segment (be it a break or a talk) and either press
; again or click the End Segment Now button.
After that, click the Open Submission Menu button, so you can choose a category. The ones we will use are "Chapter" and "Intermission/Intro Animation", the former for the Chapters we will later use to export to YouTube and the latter to have the breaks auto-magically cut up.
You can upload segments one by one or en masse by clicking the "Submit" button in the lower right corner, the latter of which we recommend, so that you can more easily double check and edit everything.
The end result should make your video’s timeline look like this:
Now, open the extension sidebar, and select the option to export segments.
YouTube uses a different format than Sponsorblock to define timestamps, so you will need to reformat the output before you (or the YouTube channel admin) adds them to the video. For example, here is the output of one of Flock to Fedora 2023’s streams:
0:00.000 - 12:22.000 Intermission 12:22.436 - 27:25.232 Keynote: Fedora Mentor Summit kickoff and reflection on mentoring in Fedora community 27:25.232 - 2:00:26.540 Panel: Mentoring and mentorship best practices in Fedora 2:00:26.540 - 4:58:40.000 Intermission 4:58:40.742 - 5:31:21.672 Why You Should Join a Community 5:31:21.672 - 5:55:26.775 Intermission 5:55:26.775 - 6:40:51.611 State of Fedora (without stream issues this time lol) 6:40:51.611 - 7:33:59.086 Intermission 7:33:59.086 - 8:15:25.041 Conference closing
…you only need the starting timecode formatted in
hours : minutes : seconds, so it should look like this:
0:00 Event Starting 12:22 Keynote: Fedora Mentor Summit kickoff and reflection on mentoring in Fedora community 27:25 Panel: Mentoring and mentorship best practices in Fedora 2:00:26 Break 4:58:40 Why You Should Join a Community 5:31:21 Break 5:55:26 State of Fedora (re-recorded due to stream issues the first time) 6:40:51 Break 7:33:59 Conference closing
But after doing it, you (or again, the YouTube channel admin) just need to add the timecodes to the video’s description and they should appear in the video for everyone (even people that do not use Sponsorblock). You will need it for…
cd into the folder you want to save the video in and run the command:
yt-dlp --sponsorblock-mark all --sponsorblock-remove all --split-chapters $VIDEO_LINK
$VIDEO_LINK is the link of the video you want to download.
It should download and automatically remove all of the breaks and split the video based on its chapters.
First, open the app and either use the keyboard shortcut
, or click the hamburger menu on the top right and select "Preferences" to open the preferences menu.
After that, turn the "Use SponsorBlock for YouTube" option on:
Now, close the preferences, click the "Add Download" button, paste the link to the video you want to download and click the "Validate" button:
It will present you with a page containing download options. In there, click the "Advanced Options" option:
In there, turn the "Split Chapters" option on:
After all of that, select your preferred download options, your destination folder and click "Download". You should have all of your talks properly split up by their chapters in your desired folder, ready to upload by the time your download ends. If you used Parabolic you’ll likely have videos for the breaks as well, so watch out for that.
Thanks to the work of the design team, we now have a way to automate the process of thumbnail creation as much as possible. This part will be a quick summary of the tutorial linked above, for the full thing in detail, check it out!
First, create a spreadsheet in your preferred app for that (we recommend LibreOffice), you just need to have something that outputs a proper .CSV file.
In it, create two columns, one with the name of the talk and another with the name of the presenter(s). The first line of each column should have a variable name to use later on.
It should end up looking something like this:
Why Fedora is the Best Linux
Colúr and Badger
The Best Talk You Ever Heard
Dr. Ver E. Awesome
Save that file with the .csv termination.
Now, open Inkscape and start creating the design of your thumbnail template, taking into consideration some of the important rules of design, like visual hierarchy, color theory (specially taking into consideration your project’s color scheme).
After you have a basic layout of the template, it is time to prepare your template for the information.
First, change the talk name to
%VAR_TalkName% (change TalkName by whatever variable name you decided to use in your .CSV file);
Now change the presenter name to
You will probably have to edit the text box sizes in order to account to longer talk names and multiple presenters, trial and error will probably be your friend here.
Once you have a result you are comfortable with go to
Extensions > Export > NextGenerator, add the path to your spreadsheet in "CSV file", define your preferred file format to export and path to export your files to, set "File name Pattern" to
%VAR_TalkName and, finally, click "Export".
Your files should be good to go in an instant!
Sponsorblock helped a lot to ease the burden when it comes to chapter creation (as it used to be limited to people with direct admin access to the channel), but it is still a lot of manual work that we would like to ease.
YouTube automatic captions have gotten better with the years, but are still not perfect, and the situation doesn’t get better when you select the option to automatic translate them. This doesn’t paint a great picture for us, as a global project, to alienate potential contributors that do not speak English, but we understand that manually transcribing entire events and then translating those captions is a massive undertaking, and we current do not have ideas on how to automate that process.
Having an intro before your talk isn’t the best for viewer retention but if it is short enough it can be a good way to show the branding of your project and your event. We would like to have a way where you can automatically add the intro video to the beginning of a plethora of videos at once and add a transition between the intro and the video.
One thing you can do for your events is having different artwork for the event opening and the breaks in between talks, and use the latter as a place to add end cards to your video (which helps a lot with continuous viewership of your channel’s content).
We would like to have an alternative for cases where this is not planned ahead, where it would work similarly to the intro case, but with an image file to the end of the video (and be able to define a number of seconds that image would be shown).
Want to help? Learn how to contribute to Fedora Docs ›