Showing posts with label online. Show all posts
Showing posts with label online. Show all posts

Monday, July 09, 2007

Teaching link: Wellcome Images

One of the problems of developing an online course (or an in-person course, for that matter) is finding good artwork. Sure, there are lots of images available on the web, but relatively few of these are completely legal to use (i.e., most are copyrighted works with no clear license to allow educators to use them). However, works licensed under Creative Commons licenses are freely usable by educators1, and thus I now attempt to use only Creative Commons licensed works when I develop teaching materials.

There are many places where you can find Creative Commons licensed materials (e.g., Flickr's advanced search lets you filter by license, and all PLOS journal articles are Creative Commons licensed), but BoingBoing just linked to an amazing resource: Wellcome Images. This website, run by the Wellcome Trust, contains images depicting "two thousand years of human culture," and everything on it has been released under a Creative Commons license2.
Wellcome Images is one of the world's richest and most unique collections, with themes ranging from medical and social history to contemporary healthcare and biomedical science.

All our images are available on demand in digital form. Search online or use the expertise of our professional scientific and historical researchers.

Whether it's medicine or magic, the sacred or the profane, science or satire - you'll find more than you expect.

This unrivalled collection contains historical images from the Wellcome Library collections, Tibetan Buddhist paintings, ancient Sanskrit manuscripts written on palm leaves, beautifully illuminated Persian books and much more.

The Biomedical Collection holds over 40 000 high-quality images from the clinical and biomedical sciences. Selected from the UK's leading teaching hospitals and research institutions, it covers disease, surgery, general healthcare, sciences from genetics to neuroscience including the full range of imaging techniques.
(quote from here)
I've only been browsing for a short while, but have already found a ton of images I think I'll use in my course. Who wouldn't want pictures of a malaria parasite in a mosquito's gut, an opium poppy, a human embryo implanting at 6 days, a picture of male bodybuilders pre-testosterone-injections, or drawings of morels? Go find some for yourself!

1 As long as the educators are creating non-commercial works, and even then some Creative Commons licenses allow commercial works.
2 All images are either under a Creative Commons Attribution, Non-commercial Licence 2.0 or a Creative Commons Attribution, Non-Commercial, No Derivatives 2.0 license.

Tuesday, November 28, 2006

Creating and posting videos with xvidcap in Ubuntu

One of the reasons I'm excited about teaching online is that there are so many tools I can use to help me share information with students. Animations, videos, audio recordings (e.g., podcasts), blogs, discussion boards, PDFs of readings, textbooks, and plain ol' HTML pages can all be combined to make a course that is (hopefully) more interesting and accessible than just a textbook and HTML pages. So, in the coming months I'm going to be trying out various programs to see which ones I can use while creating content.

For the past few weeks I've been exploring different methods of creating videos. There are two specific things I want to do with videos in my course:
  • Create videos of tasks being performed on the desktop (screencap videos), primarily to create tutorials to help students use Excel, browse my course website, and other such things.
  • Create animated mini-lectures on key topics, probably based on PowerPoint (or OpenOffice Impress) slides. These will ideally be less than 5 minutes each and contain a combination of text, images, and animations.
There are many non-free, non-open-source products available to help with this, such as Camtasia and Articulate Presenter. While I'm sure they're good programs (they are widely used), they're hideously expensive: Camtasia Studio runs around $300 and Articulate Presenter costs at least $500. I've seen some Articulate Presenter videos - they've got an excellent navigation system built it, and are seamlessly cross-platform, but before I go spending $500 on a glorified screencapture program I want to explore the free solutions first.

Xvidcap

The predominant free open source video capture solution for Linux seems to be xvidcap. The program is completely free; it can be downloaded from xvidcap's Sourceforge page. They even have a .deb file that installs in seconds on Ubuntu; to install it all you have to do is download the .deb file and then double-click on it in the file browser (Nautilus), which will bring up a dialog that installs the program.

Using xvidcap is fairly straightforward; it has a small control panel and a little red box. Once you hit record on the control panel, xvidcap records everything that occurs in that little red box. The box can be resized to fit whatever you want to record using the eyedropper tool, which allows you to either click and drag to move the box or click into a program window to have the box sized to fit that program's window. The box is attached to the bottom of the control panel by default, but can be undocked from the control panel by hitting the lock button.

xvidcap screen shot
Screenshot of xvidcap; the program records everything that occurs in the red box.

The preferences are accessed by right-clicking on the filename (to bring up the main menu) and then clicking "preferences." Xvidcap can either save a series of screencaps to a directory (what xvidcap calls single-frame recording, which lacks audio) or can record a full-motion video with audio (multi-frame recording). The preferences window allows you to set all sorts of preferences - you can choose your output file format, video and audio codecs, video and audio quality, and frame-rate. Choosing wisely here is key, as too high a quality or framerate will result in videos with skipped frames (which will look and sound bad) or files that are unplayable on most computers (e.g., Microsoft Windows doesn't have DIVX codecs installed by default). As a minor note, some codec and framerate combinations are not possible, which unfortunately is often reported to you solely in the form of a program crash (but it's easy to reopen).

xvidcap preferences screen shot
Screenshot of xvidcap's multi-frame capture preferences.

My computer is old enough that I needed to lower the video quality and reduce the framerate as low as possible (7.5fps for the Microsoft DIVX 2 or MPEG DIVX codecs) to enable 700x700 video recordings without frame skippage. Reducing the size of the recording window does enable me to make higher-quality recordings, but there's only so small you can resize something before you lose important details.

Once you've got the options set, recording a video is about as easy as hitting the record button. When you're done recording, xvidcap will pop up a little screen summarizing the video that you just captured; pay attention to the framerate - if it's significantly lower than what you were hoping for, you will probably have to re-record the video (lowering the quality or recording area size). Practice recording with various settings to see what works best on your machine.

As a final note, if you're recording directly to flash video you may want to make note of the movie dimensions, as you may need that information to properly embed the video in a webpage.

Microphones and audio

Xvidcap will record audio along with your video; all you need is a working microphone and xvidcap takes care of the rest. This allows for easy narration of videos, something I plan to do regularly.

I'm using a Sennheiser PC 150 stereo headset with noise canceling microphone; it's probably not the best microphone out there, but it seems to work well. Setting up the microphone in Ubuntu was easy, if non-intuitive. I had to open the volume control (by right-clicking on the speaker in the task bar), go to the preferences in that control (edit/preferences), put a checkmark by all the microphone options ("microphone", "Mic boost", and "mic select"), unmute the microphone on the capture tab, and then turn on the "Mic boost +20db" option in the switches tab. As I said: easy, but not intuitive.

Choosing video codecs and creating Flash video files

Xvidcap has a number of codec options, and I'm still trying to figure out which codecs work best; here's what I've found so far (with very limited testing only only a couple of computers):
  • The MPEG 4 DIVX and general AVI file (DIVX, mpeg) work well for me on Linux, but don't seem to play well on Windows or Mac computers by default (they need DIVX codecs)
  • The Microsoft DIVX 2 and Microsfot avi file format seems to works well on Linux, Windows, and Macs.
  • The mp2 audio codec seems to work well on Linux and Windows, but not Mac. Unfortunately, I can't seem to get the mp3 codec to work with the Microsoft DIVX 2 codec.
  • Flash videos (.flv, what YouTube uses) work very well cross platform, but require a flash player to play.
Flash video seems like it's probably the most cross-platform and browser-independent format currently, so that's what I'm looking at using for now. There are two choices for making flash movie files in xvidcap:
  1. Create the flash files directly from xvidcap
  2. Create the movies using another codec and then convert them to flash files
The first option is probably the easiest, but since I might also want to distribute the videos in a number of other formats (and don't know how lossy the flv codecs are), I wanted to at least explore how to convert other formats to flash videos (.flv files).

Converting from the DIVX MPEG4 codec to flash files was relatively easy using mencoder (a component of mplayer). The command line to convert the files I eventually settled on (thanks to the mplayer manual) was:
mencoder inputfile.mpeg -o outputfile.flv -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -srate 22050 -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames
This conversion step also allows you to scale the size of the video to whatever you want; simply add the flag -vf scale=YYY:-2 to the command line and the movie will be scaled to YYY pixels wide (proportionally scaling the vertical dimension).

Flash movie files have timing information in them that helps flash players play them; mencoder apparently does not include this information. However, the program flvtool2 can add this information (I found this thanks to DRM's excellent post). There is no flvtool2 package for Ubuntu, but downloading and installing it was relatively easy1. Once you've got flvtool2 installed, all you need to do to add the timing information is:
flvtool2 -U inputfile.flv
Flvtool2 can also be used to do a number of other things, including adding timestamps to the video for thumbnails (so users can skip through the video to specific timepoints).

Putting a flash video on the web

To actually play a flv file in a webpage you need a flash file on the webpage that will play the movie. While Adobe Flash can create these for you (for the low low price of $699 for Flash Pro 8), the entire point of this exercise has been to create videos using free open source tools. That's where FlowPlayer comes in.

FlowPlayer is a free open-source flash video player that can be easily added to a website; all you have to do is upload a few files to the server (as a user; no need to be root or actually install anything), insert FlowPlayer's quickstart HTML code into the HTML page of your choice, and you've got flash videos embedded into your webpage.

Samples

For a sample of how this looks, I've created three short videos and posted them here. Sorry, but you won't be hearing my voice in any of those videos, you'll just hear some music recorded by putting my microphone in front of a speaker (translation: badly recorded music)2.

And, here's an example of one of those sample videos embedded into this page:

Adblock









Exciting, isn't it?

Conclusion

It seems like xvidcap will be able to produce satisfactory video tutorials that focus on how to use programs and websites, and the videos produced will be easy to distribute in a variety of formats, including flash videos on the web. However, I have no idea if xvidcap will be able to easily create videos of slide-based presentations (using OpenOffice Impress); figuring out how to create videos of slide-based content will have to be the subject of another post.

1: To install flvtool2 just unzip into a directory and follow the instructions in the readme.txt (which basically say to run "ruby setup.rb config", "ruby setup.rb setup", and "sudo ruby setup.rb install"). You may have to install ruby first; Ruby can be installed via Ubuntu's standard interface.

2: I can't very well be a pseudonymous blogger and have my voice plastered all over the internets, now can I?