Video on the web is exploding. In May 2008, 142 million Internet users watched 12 billion video clips, spending an average of 228 minutes per month watching video online. An increasing number of content owners are putting their video content on the web. With 84% of online videos viewed using Adobe Flash technology, Flash is the number-one format for video on the web.
In addition, video consumption is changing: record numbers of people are tuning in to live events such as sports and news—and consuming massive amounts of video on demand, such as catch-up television and user-generated content. Consumers are increasingly demanding DVR-like features that match their living room experience.
The question rises, as a content creator or video producer, how do you put your video online? This article is a high-level overview of publishing video for Flash. I first walk you through the video publishing process, the differences between live video and video on demand, the Adobe products that support each workflow, and the video encoding technologies they use. Finally, I list some of the many Adobe partners you can engage with to help you publish your video to the web.
At a very high level, video for Flash involves the following process (see Figure 1):
Figure 1. The process of publishing video for Flash, from capture (left) to viewing (right), offers choices of live or on-demand video and various options for encoding and serving the video to users.
Why do you need to encode? At the most basic, it's because raw video is huge. If you don't encode your video, it will be too big to transmit over the Internet to your viewers. The process of encoding involves making the video as small as possible while maintaining the highest quality possible (see Figure 2). It's a delicate balance. You can get an amazing looking video at 4 Mbps (that's the video bit rate—how many bits get transmitted every second) and 1920 × 1080 pixels, but you would need an Internet connection that is over 4 Mbps to stream it, or else download a file over 1.5 GB to view it. Conversely, you can easily create a video file that is only 100 kbps, but it may look so poor that no one wants to watch it.
Figure 2. Encoding involves choices between quality and file size.
Live video means that you're capturing, encoding, and delivering video in real time (see Figure 3). Think of a sports game that is being streamed on the Internet while it's happening. Adobe offers a spectrum of options for capturing and encoding live video, whether you're dealing with user-generated content or higher-quality video sources.
Figure 3. Capturing, encoding, and delivering live video requires real-time processing at every step.
Since 2001, Adobe Flash Player has had the ability to capture and encode H.263 video and Nellymoser audio. In Flash Player 10, you can also capture audio in the Speex codec, an open-source codec specifically designed for speech that provides higher-quality audio for voice chat applications. This functionality can allow any user to capture video from a webcam and share it through Flash Player. Examples of this include Yahoo! Live, UStream, and Woome. Even YouTube uses this functionality to quick-capture video content. While this makes it really easy to use, the quality is constrained to H.263 video, which means that the video quality is limited compared to the newer H.264 and VP6 codecs.
Flash Media Live Encoder is a free application from Adobe that can use a webcam, video capture card, or any FireWire or USB device on a computer running Windows OS to capture raw video input and encode it into VP6 or H.264 video. It is intended for technical producers or other media producers to capture video for a live event. Flash Media Live Encoder can either directly stream video to a Flash Media Server, or save a file locally for later downloading or streaming. Flash Media Live Encoder can also encode audio into either Nellymoser or MP3 audio. With an additional plug-in, available from MainConcept, Flash Media Live Encoder can also encode into AAC or HE-AAC audio formats.
Video on demand means an event that occurred in the past that you can watch whenever you want. A good example is a television catch-up service where you can start watching a show whenever you want, and it is posted after the show has actually aired.
Unlike live video, video on demand gives you more time to experiment and adjust the encoding parameters to get maximum quality at a minimum bit rate. In many cases you can edit the video, add visual effects, and take advantage of tools such as those included in Adobe Creative Suite 4 Production Premium (see Figure 4). The key difference is that, generally, for live video you ingest video feeds while for video on demand you most often work with video files directly.
Figure 4. Video on demand allows for processing video files with Creative Suite 4 applications to edit and optimize them before posting to a video server.
Just as with live video, Adobe offers a spectrum of options for encoding, editing, and serving video on demand. Adobe Media Encoder, a separate software application included with Adobe Premiere Pro CS4, saves you time by automating the process of creating multiple encoded versions of your source files and Adobe Premiere Pro sequences. Set up multiple items for encoding, manage priorities, and control advanced settings for each item individually.
Adobe Media Encoder also encodes compositions from Adobe After Effects software when it's installed as a component of Creative Suite 4 Production Premium. Use any combination of sequences and clips as your source media and encode them to a wide variety of video formats, including FLV and F4V, Windows Media, MPEG-2, H.264, QuickTime, and more. Desktop encoding solutions, such as Adobe Media Encoder, are often closely integrated into the broader production workflow and are targeted at single users or small production facilities.
Today Adobe introduced Adobe Flash Media Encoding Server, a server solution designed for large teams or large volumes of content. Flash Media Encoding Server ingests a large set of files, but transcodes only into FLV and F4V formats. Additionally, Flash Media Encoding Server includes a number of APIs. This means that it can be integrated into automated workflows, such as those you might see in a user-generated scenario, where you want to ingest files from users in a number of formats but deliver all video in FLV or F4V to be able to take advantage of the 98 percent penetration of Adobe Flash Player.
In addition to the products available from Adobe, a broad partner ecosystem provides a number of complementary solutions. For live video, some partners provide capture cards that can be used with Flash Media Live Encoder, while others provide software and turnkey solutions that customers can use to quickly and easily deliver live video to Flash Player (see Table 1). For video on demand, Adobe relies on this partner ecosystem to provide a number of complementary solutions (see Table 2). Certain differentiators that our partners can provide may include the following:
Table 1. Flash Media Solution Providers for live video capture and encoding
|Partner||Solution type||Format supported|
Table 2. Flash Media Solution Providers for video-on-demand encoding and transcoding
|Partner||Solution type||Format supported|
Note: For an up-to-date list of partners, visit the Flash Media Server ecosystem partners page.
I hope this article has helped you understand the basic workflow of video for Flash, the differences between live video and video on demand, and how Adobe and our partner solutions provide a number of options to help you meet your video encoding needs.
To learn more about video for Flash, visit the Video Technology Center in the Adobe Developer Connection. Also watch the video below, where senior media producer Julie Campagna explains the basics of getting your video on the web:
To learn more about the Adobe products mentioned in this article, visit the respective product pages:
Laurel Reitman is the senior product manager for Flash Media Solutions in the Dynamic Media Organization at Adobe Systems, where she drives the strategy and direction for Flash Media Live Encoder, which enables users to encode live video to stream through Flash Media Server. Laurel also drives the overall strategy for the Adobe live streaming business. In addition, she is responsible for Flash Media Encoding Server, which enables customers to transcode video for delivery to Flash Player. Prior to joining the DMO, Laurel was the senior product manager for Adobe platform technologies, working with the Flash Player, Flex, Adobe AIR, and Adobe Reader teams to help align key strategic initiatives. Prior to joining Adobe, Laurel was a lead program manager at Microsoft working on web technologies and application platforms. Laurel holds a BS in Electrical Engineering from Yale University.