Video transcription project

This page describes the video transcription project for the elinux wiki.

Overview
The purpopse of this project is to create transcripts of embedded Linux talks, as pages on the elinux wiki, via crowdsourcing. The value of transcripts is that the material in the talks is much more accessible to people. The transcript is searchable, and the talk can be read much more quickly than it can be watched. This essentially makes the talk accessible via random access instead of sequential access. There is a lot of very good content that is preserved in the videos that have been made over the years, and the goal of this project is to make that content more accessible and usable to embedded Linux developers.

Instructions for Volunteers
There are three main tasks involved in this project, and as a volunteer you can participate in any of these tasks:
 * 1) Creating session pages for embedded Linux talks
 * 2) Creating transcriptions for the talks (on the session pages)
 * 3) Verifying the transcriptions for the talks

Please find instructions for each of these activities below...

Note: There is a single master page holding all the talks we would like to transcribe, located at:

List of Embedded Linux Presentations

This will be the master list that we build out over time. It is intended to have a link for all talks or sessions that would be interesting to embedded Linux developers, from the last several years.

Creating a session page
The transcript for each presentation, talk or session is held on a session page for that talk. All of the session pages on the wiki are linked to from the master list:

To create a session page for a talk, please do the following:
 * 1) Find a talk (that has video available on the Internet)
 * 2) find at least the following information about the talk (needed for the list page):
 * 3) * event where the talk occured
 * 4) * name of presenter and their organization
 * 5) * title of the presentation
 * 6) In one browser tab, open the Session:Template for editing (so you can copy and paste its contents)
 * 7) Edit the List of Embedded Linux Presentations
 * 8) Create an entry for the talk in the table of presentation on the list page.  Follow the style of linking that is used for other sessions.
 * 9) * Please select a unique name for the talk (possibly adding a date if needed to distinguish the talk from others with similar names)
 * 10) * The session page name should always start with the prefix: "Session:"
 * 11) Save the List page.
 * 12) Click on the link, to create the session page for the talk
 * 13) Create the base format for the page by copying and pasting from the Session:Template
 * 14) Fill in the page with as much information as you can
 * 15) * Make sure that you include a link to the slides (if available separately) and the video
 * 16) * Sometimes, it is possible to get the original description of the talk, or the speaker biography, from the original or archived web site of the event
 * 17) Save the session page

That's it. Thanks!

Adding to a transcription
By our estimate, it takes about 10 hours to transcribe a talk, if done by a human. This is based on an estimate of about 10 minutes of transcription work for each minute of video. In order to make this easy an scalable, we have broken down the transcript into 1-minute intervals.

To add to a transcript, please do the following:
 * 1) Select a talk from the List of Embedded Linux Presentations - click on the link to get to the session page for that talk
 * 2) Click on the video link for that talk
 * 3) Fast-forward to an area of the talk that is not transcribed yet (e.g. minute 17)
 * 4) Edit the session page (specifically, the transcription area of the page)
 * 5) Listen to the talk, and add the words from the talk to the transcription, under the appropriate minute heading
 * 6) * Please see the transcription formatting guidelines for help in formatting the wording on the page
 * 7) Click on "Save page" to save your changes.  You can also add yourself to the list of transcribers.
 * 8) If you'd like, please update the status of the talk on the list page (by recording the number of minutes transcribed so far).

It's that easy! Thanks for your help.

Verifying a transcription
Verifying the transcription is a final process in ensuring the quality of the data. It's useful to have a second person review the material, to see if the original transcriber was accurate.

To verify a transcript, please follow these steps: e.g. ; Verified by: 1 - Jane Doe
 * 1) Select a talk from the List of Embedded Linux Presentations - click on the link to get to the session page for that talk
 * 2) Click on the video link for that talk
 * 3) Fast-forward to an area of the talk that is not verified yet (e.g. minute 25)
 * 4) * Scan the minute headings looking for minutes that have not been verified yet
 * 5) Edit the session page (specifically, the transcription area of the page)
 * 6) Add yourself to the list of verifiers
 * 7) * Prefix your name with a number, indicating your verifier number (usually just '1')
 * 1) Listen to the talk, and verify the words from the talk to the transcription, under the appropriate minute heading
 * 2) * Please see the transcription formatting guidelines for help in formatting the wording on the page
 * 3) * Mark that minute as verified, by adding a 'vx' to the minute heading for that section of the talk.
 * 4) Click on "Save page" to save your changes.
 * 5) If the talk is completed, please update the status of the talk on the list page.

Here is the format for a verification mark:

A minute heading looks like this: 0:00 - 1:00:

When it has been verified by verifier #1, add a 'v1' to the heading: 0:00 - 1:00: v1

Thanks for your help!

Transcription Formatting Guidelines
In order to have uniform formatting for the transcriptions, please use the following guidelines: e.g. >> Ted Nugent: I would like to speak today about ... e.g. And so that's one point. [slide 4 - Working with PM data] As you can see, my next point is... e.g.  And that's why I never get any respect. [laughter] Now think of this more...
 * 1) At the start, or when the speaker changes, but the speaker name in all caps, and preceeded by double-angle brackets, and followed by a colon, before the block of text for that speaker.
 * 1) If possible, add the slide number and title inline at the point where the slide changes in the talk.  (This may not be possible if the slides are off-screen or otherwise not available).
 * 2) * Put the slide number and title in square brackets, like so:
 * 1) Add non-verbal notes (such as pauses, laughter, or placeholders for unintelligible sounds) in square brackets.
 * 1) Try not to break sentences up, even if it ends up not exactly lining up with the minute headings.
 * 2) * That is, if a sentence goes over the minute boundary by 5 or 10 seconds, keep the text for it in the minute where the sentence started. Only break the sentence if it goes longer than that (use your best judgement).

See below for an example, or better yet follow the example in: http://elinux.org/index.php?title=Session:The_Internet_of_Things

 '''Stuff below this box is related to the brainstorming and planning of this project.

If you volunteering for this project, please follow the instructions above. If you are developing or refining this project, please feel free to keep reading....'''

Process and methodology
In order to crowdsource the effort, a structure and method will be developed for:
 * keeping track of the completion status of each talk
 * managing the transcripts and keeping them in a uniform and useful form
 * keeping track of who has worked on each talk (transcript credits)
 * reviewing the transcripts for accuracy (and vandalism)

Random idea: Maybe use a different wiki for the talk pages, that allows database operations on the pages (like websed/tbwiki tables).

Process per page

 * 1) Check if page is listed in global presentation list
 * 2) create a presentation page for the presentation (using a template?)
 * 3) add a link to the talk in the global presentation list
 * 4) add a link to the talk in the global topic list

Here's a link to the List of Embedded Linux Presentations

Tasks

 * add a status column to each conference's talks page, indicating the transcript status and linking to the talk page.
 * add a page for each page, with the presentation's information (title, description, author, transcript, link to video, etc.)
 * make a template for a presentation page
 * solicit participation in the project
 * make a call for volunteer transcribers on celinux-dev and at ELC Europe

Historical work, other references
See All Topics - work done by Devin Flake to categorize past presentation material, from 2008

Development notes

 * need to investigate a way to have the presentation pages be consistent. MoinMoin has template pages, what does wikimedia support?
 * investigate wikimedia page creation
 * This seems to be supported, in a very limited way, and only with plugins, via a "preloading" option.
 * MoinMoin is much better here, suggesting at page creation time any page that has a template with a prefix or suffix that matches the to-be-created page.
 * I guess we'll have to settle for just trying to be consistent
 * Maybe the page creation could be automated
 * Should I write a script to create a presentation page, and associated link on the 'list of presentations' page?


 * need to create global presentation list (working on it, decided to add session incrementally)
 * have a separate page for presentations by topic?

The first session I tried was the Samsung fragmentation page from ELC - unfortunately, there was no video for this. The second session I tried was for Mike Anderson's keynote from ELC 2012 - setting up the page was a bit of a pain. Very clear instructions are needed for this. It should be as mechanical as possible, with little room for error.

How much time does it take, per minute of video?

Format of YouTube caption file: (See http://support.google.com/youtube/bin/static.py?hl=en&topic=2734694&guide=2734661&page=guide.cs)

0:00:03.490,0:00:07.430 >> FISHER: All right. So, let's begin. This session is: Going Social 0:00:07.430,0:00:11.600 with the YouTube APIs. I am Jeff Fisher, 0:00:11.600,0:00:14.009 and this is Johann Hartmann, we're presenting today. 0:00:14.009,0:00:15.889 [pause]

They use square brackets for comments like [laughter], [music], or [pause], and angle brackets to indicate a speaker change.

Starting and stopping the video is painstaking. Backing up the video is difficult to be precise at.

For Mike's talk, it took me about 6 minutes of transcribing for each minute of video. I was trying to go as fast as possible and timing myself. I think a reasonable estimate for each minute of video is about 10 minutes of time (set up, actual transcription, corrections, saving). This is when done out of context (a single minute session).

At this rate, 6 minutes of video would take an hour to transcribe, so a 60 minute video would therefore take about 10 hours to transcribe. Give another 2 hours for a second pass, and we're talking about 12 hours per video. That's a lot, and clearly outside the scope of what one person would be expected to do.

Note that Mike's talk had very good audio, and Mike speaks slowly and clearly with no accent, so this is probably a best-case scenario.

Mashup resources
Popcorn maker popcorn maker allows you to augment a video on the web?

Video mashup tools (JayCut, JumpCut, MovieMasher, Mix and Mash,

Youtube supports video annotations: http://www.youtube.com/watch?v=UGeQKMJIHx8

Session Template
See Session:Template