Contents (up to the 2nd level)

Video Equipment Checklist

Post-processing

The preferred video format will switch back and forth between a live view of the speaker, and a high resolution view of the slides. The views of the slides should come directly from the PDFs of the slides content, as opposed to the camera pointing at the projected image of the slides. One can also focus on the live slide and then merge in a slide still. The static frames of the slides content will compress very well, which allows us to publish high resolution content for those parts when the speaker is pointing / speaking / focus of attention.

It would be cool to be able to add a post processes 'pointer' to the slides when the author is pointing things out. Note: Please update this if you have a solution for adding a pointer to the videos directly. Pointer effects can be added after the fact with YouTube.

Slides

ImageMagick can be used to convert the slides.

Multimedia Software from Ports/Packages

I tend to capture session in chunks of two, three or even four speakers at a time. Some commercial products seem to have difficulty working with the size of these files (or perhaps the format). At DCBSDCon 2009, I was also fortunate to have Will Backman (BSDTalk) available to record audio at the podium. This meant I needed a non-linear video editing package for synchronizing the Audio/Video from my Canon with the Audio from Will's recorder. The commercial options are quite expensive (and unproven to me). Todd Fries kindly introduced me to some useful applications within *BSD ports that allowed me to make quick work of the edits and synchronization of the different sources.

Extracting the Session

As I mentioned, each of my source files contained between two and four different speakers. To mark and export each talk I used Avidemux. With this application you can mark your starting and ending frames and then export them in the original formats (in my case, MPEG-2/AC3) or encode them to something else.

For many users, this may be the only step you require. In my case, I needed to synchronize the audio streams so I have a few additional steps.

Ripping the Audio

I use Audacity to mix the audio, but first I need to rip out just the audio stream for processing. Audacity will not import audio from a video file. MPlayer makes quick work of this task. For this example, speaker.avi is the file we previously created using Avidemux. The audio is written out to speaker.wav.

Synchronizing the Audio

This step is not difficult, but you will need to manually identify and synchronize the matching portions of each track. It takes a little bit of trial-and-error, but you'll be mixing your own Trance music in no time.

Merging your Audio and Video

Now you should have a quality, albeit lossy, audio track suitable for the final movie. Using MEncoder, replace the original audio stream with the MP3 file. This example reads in the MPEG-4/AC3 movie (AVI container) we saved with Avidemux (speaker.avi), replaces the audio track with our merged file created in Audacity (speaker-merged.mp3), and saves the final result to our new MPEG-4/MP3 movie (speaker-final.avi). Feel free to experiment with the encoding formats. I've been pleased with these results but you may find a more appropriate combination for your needs.

iMovie

iMovie HD (version 7) seems to handle some past-over operations better than iMovie version 8. For example the "Paste-at-head" feature allows one to replace parts of the video with slides without interrupting the audio. If you have iMovie HD (6 or 7) here is how you do this:

  1. Import the tape into a fresh project.
  2. save
  3. Move all sequences that are part of the talk into the timeline.
  4. save
  5. Select all timeline, then.. advanced->extract audio (this will give you a separated audio track).

  6. Go eat dinner, or shampoo the cat. Your choice.
  7. save
  8. Drag and drop all the .jpg slides into the 'clips' buffers.
  9. save (have you got the message yet? iMovie has crashed on me and losing 4 hours of edits *HURTS*. )
  10. Select the first slide and 'copy' (splot-C).
  11. Find where in the video you want to replace with this image. Use the two sliders under the main viewing window to make the section that you want to replace show as yellow. If you have a single long clip you will find things easier if you break it up into smaller pieces using Edit -> Split Video Clip at Playhead (at a location where you think there will be a still inserted). I try keep these pieces around 5 minutes or so. Save after splitting. Select the piece you want to insert the slide into so that the timeline under the main window only covers this shorter piece of the video. That will make it possible to be more accurate with the mouse when selecting.

  12. Hit (SHIFT-splot-V) and that section of video will be replaced with the same length of still frames of the slide.
  13. It generally looks better to transition between the live video and the slides using Editing -> Transitions -> Overlap with a one second transition period. Drag one to the beginning and end of the inserted slide.

  14. save
  15. Repeat for each slide. If you made a mistake with a still, don't worry, you can select the bad still sequence, and pull the region sliders to each end and replace it.

Exporting From iMovie

Modern versions of iMovie can export directly to YouTube and this is the preferred method. If you need the raw files to upload to other sites, then you can export it as follows (these settings are reasonable for high quality YouTube videos):

  1. File -> Export

  2. Select Quicktime Tab at top.
  3. Select Compress movie for "Expert Settings"
  4. Hit Share
  5. Select a filename and location in which to save it.
  6. Select Export: "Movie to Quicktime Movie".
  7. Select Use: "most recent settings".
  8. Click on "Options"
  9. In the options window select "Settings" for the video section.
  10. Pertinent settings are: Compression: H.264, Frame rate: 29.97 (NTSC), Key Frames: Automatic, Quality "High", multipass encoding, data rate restricted to: 400kbits/sec (yields about 350Mb per hour), 1900kbits/sec (yields about 1024Mb per hour), or Automatic (yields about 1250Mb per hour). When done, select "OK" to get back to options window.
  11. Skip "filters and go to "Size": Use 640x480(VGA). Select "OK" to get back to options window.
  12. Select "Settings" for the audio section.
  13. Pertinent settings are: Format is Linear PCM, Mono, 16.000 kHz, sample size 16 bits, little endian. When done, select "OK" to get back to options window.
  14. Tick "Prepare for Internet Streaming" with option "hinted streaming". Select "OK" to get back to main menu.
  15. Hit "Save". At a data rate of 400 it will take about one hour per hour of video; at a data rate of 1900 it will take about four hours per hour of video.

You may select less frames per second if there's not a lot of movement. Lectures are still very watchable at 15 frames a second.

FinalCutPro

Coming soon. We have approached Apple about sponsoring a few copies of FinalCutPro for bsd conference video production. If that happens, we'll post tips here.

Camtasia for Mac

The same export settings as described in iMovie can be used in Camtasia for Mac. Camtasia supports adding subtitles to sections of the video since version 1.2. Searchable video is also supported, so that viewers can jump from i.e. a table of contents to specific sections of the talk.

Subtitles

YouTube allows us to easily create subtitle tracks in a variety of different languages to be streamed with the video according to the language preference. We need volunteers to help subtitle these videos!

Publishing

YouTube

We have a special BSDConferences channel on YouTube for hosting long technical BSD content from BSD conferences. Please talk with MurrayStokely about getting credential to upload directly to this channel, or mail him with the location of the video files that should be uploaded there. Files can be up to 1024MB in size, and most importantly do NOT have the normal 10 minute limit of YouTube videos. This channel can host longer hour long content. Please upload the highest quality version that fits in 1024MB. YouTube will automatically re-encode to lower resolutions and serve the appropriate resolution to users based on their available bandwidth.

The videos in YouTube can be searched, extracted, and embedded to be used on other websites with the YouTube API. You can also programmatically get access to the comments, ratings, and other metadata in the channel. There is an open docs bug about integrating this YouTube api directly into multimedia.pl in the web build so that new YouTube videos show up on www.freebsd.org/multimedia

FTP

In addition to YouTube, we'd like to store the videos for posterity in a non-flash more open format that can be viewed with mplayer on FreeBSD. All the videos should be stored preferably in one canonical FTP site, which needs to have a few hundred gigabytes free for these videos. Please update this section with the preferred FTP site address.

The possible candidates for video hosting are listed below:

Server

Location

Available space

Available bandwith

Path on server

ftp.SpringDaemons.com

Russia, Moscow

100Gb currently, may be extended

~50 Mbps

ftp://ftp.springdaemons.com/video/

HTTP streaming, HTML5 video

It'll be also worthwhile to provide access to the video in HTTP-streamable format (ASF, etc) or as a HTML5 compatible video (Theora). Mencoder/ffmpeg could be used to convert between formats, but none of them could produce Theora video currently. It was reported that multimedia/ffmpeg2theora works fine. The work is being done on evaluating possible methods and formats.

VideoProductionAndPublishing (last edited 2012-02-27 07:05:49 by RoyceWilliams)