I recently went on a vacation overseas to attend, yes, a horse event. I wanted to be able to take short videos while I was there, use my new netbook (aka “teeny PC”) to process the video, then upload the results to my personal blog. All without much bandwidth. Thus began my journey into video processing for the web. Here are the interesting tidbits I discovered.
1. Camcorder (or camera) video files vary in format
On my trip I took a Canon Vixia HG20 camcorder (which records in HD – High Definition), and a Canon SD 800 powershot pocket camera. The pocket camera can also record short video. Both devices have the ability to record to the high capacity removable cards – SDHC. Since SDHC is small and fast, and since my netbook also has an SDHC slot, this was perfect. In fact, the SDHC worked out so well that I highly recommend that folks looking for a new camcorder make sure their pick has an SDHC slot.
High Definition files for the Canon have an MTS extension (for Sony, the extention is M2TS, but this seems to be the same as MTS). The pocket camera stored the file in AVI format. AVI is actually a “wrapper” and it turned out the Canon version is a bit of an oddball. Not all programs could read/play this file.
2. For the web, you need a web-friendly file format, and a web-friendly file size
In either case – MTS or AVI – the files are quite large. Much too large for the web. For example, a 2 minute video in low quality MTS was nearly 100Mb in size! Also, though some video engines (Youtube, flickr, etc.) can process and play uploaded AVI files, I wanted to place the videos directly on my blog. So I needed small files and the files needed to be in a web-friendly format.
Presently, two of the more popular formats for the web are:
- FLV – a flash video file, recognized by flash players. FLV is small in size and decent quality. Also, flash players reside on most browsers. So if my blog shows an FLV file, it is likely the user will be able to see the file.
- H.264 or MP4 – H.264 is a format used on many ipods and Apple TV. Like FLV this is small in size and with good quality (arguably better than FLV). MP4 is similar and is sometimes considered interchangeable with H.264. However, they are ot the same format and are not interchangeable. The ubiquitous Flash player can play these file formats, but the user needs to be on one of the newer versions of the Flash player, or the file will not be recognized.
3. To get the file into FLV or MP4 (or H.264), you need to convert the file
There are a number of file converters available. They range in price from free on up. Many are not (yet) well equipped to properly convert the newer high def formats (such as MTS). I also found that many cannot conver the Canon AVI file either. I finally found a relatively inexpensive program that provided the speed and flexibility I needed on my Windows-based netbook. The program is called XiliSoft Video Converter Ultimate (http://www.xilisoft.com/). I was very pleased with how it handled conversion from both the MTS file and from the AVI. It created H.264 and MP4 files very well. I was less pleased with the FLV output; I did not care for the large size created (640×480) nor the quality.
Since I ultimately chose to use FLV files, I decided to use another converter to take the files from H.264 to FLV. I used a free program called WinFF (http://winff.org). Again, I have been quite pleased.
Using these two programs I successfully converted 100Mb MTS files down to 5Mb FLV files. Not bad! I was sure to keep my original files. They play quite well on the big screen TV.
4. If true editing is desired, you need a real editing program. Not just a converter.
For my purposes, I did not need to edit the files. But often it is desired to really direct a piece, adding audio tracks, transitions, slow motion, menus, chapters, etc. This is not possible with a simple converter – a full editing program is required. Personally, I use Adobe Premiere Elements. Final Cut (on the Mac) is also a valid option, as are a variety of other programs. These full featured programs can input your native files, allow you to do all sorts of work on them, and then output/convert the final product to a variety of formats. No other video converter needed. The programs are not necessarily inexpensive, however, and many really do not handle HD files very well. At least not yet.
5. If you wish to host your own files, you need a way to serve them to your website
- Player: I did not wish to use youtube or some other commercial server for my videos. I wanted more control and the ability to have play lists. So I installed an FLV player from longtail video (http://www.longtailvideo.com) on my webserver. It took a little know how and a bit of reading to get the player configured properly, but I really love the flexibility the player gives me.
6. For your own site, you also need streaming
If you do not have streaming of the video, it is quite likely that the video will stop and start incessantly, which is very irritating to watch. To achieve streaming you need to do the following:
- Make sure your video file has the proper meta data so a streaming engine knows what to do with it. The process of putting in this information is called “meta data injection” and fortunately there are free programs that can handle this for you. To meta data inject FLV files you can use FLVMDI (http://www.buraks.com/flvmdi/) if you are looking for a client side solution, YAMDI (http://yamdi.sourceforge.net/) if you prefer a server side solution. To inject MP4 files, you might want to try Metadata Mover from rndware (http://rndware.info/content/MetadataMover). These are products I used and they worked well for me, but others are available as well.
- Your website has to stream the files. Well, obviously. This is not quite as simple as it sounds. Most website use non-streaming webservers, such as Apache. There are servers that stream (for example, lighttpd) but many people do not have the expertise, authority nor desire to switch out the webserver. Another option is to use a program which, in essence, serves up the video as if eth video is actually streaming. This is what I chose to do, and installed a program called XMOOV.PHP and configured this to handle the streaming for me. One limitation of XMOOV.PHP is that it does not rpesently work properly for MP4 files. And therefore, I used FLV files on my site. You can learn more about XMOOV.PHP from the LongTail Video forums (http://www.longtailvideo.com/support/forum)
Using all these techniques and tools I was able to fairly easily post regular blog entries with video from my trip. Upon my return I compiled some of the key videos into a playlist and my FLV player handled this quite well. The streaming is not perfect, especially on slow connections, but it is not bad. I have to say, though frustrating at first, this ended up being a lot of fun and I look forward to learning more.
An example of the player and some of the videos can be found on my personal blog here: http://accidentalessayist.net/friesian-stallion-videos/














