Flash Video ::: Technical FAQ

Below are a number of frequently asked questions pertaining to delivering audio and video via the Flash Platform with answers:

 

VIDEO ENCODING and PRODUCTION QUESTIONS -- RECORDED VIDEO FILES (FLV)

Q1. How do I encode video to FLV (Flash Video)?

A1. A Standalong Video Encoder ships with Flash Professional. There are also many third party encoders for Flash video today. Be sure to read the How To article and the Video Primer articles on the Macromedia Dev Center for a good overview. Also, see the Flash video partners page to find encoding partners that Macromedia works with directly.

 

Q2. What encoding parameters should I use when encoding FLVs? (i.e bitrate, resolution, ideal file sizes, compression quality etc.)?
A2. The Best Practises for Encoding Flash Video article on the Macromedia Dev Center contains a technical document that describes some recommended encoding parameters for Flash audio and video content.

 

Q3. What bitrates are publishers in the media & entertainment industry generally using to encode their FLVs?
A3. Media companies delivering Web Video to consumer Internet audiences in the USA are typically targetting two bandwidths -

Targets Description Download speeds Video bitrate *
"low broadband" entry level broadband services usually have download speeds of 384kbps 384 kbps around 250kbps
"high broadband" enhanced broadband services are now offering over 1Mbps download speeds 1 Mbps + around 500 kbps

The trend in this industry is to not offer video for dial-up users any more. This trend is validated by research from companies such as Accustream iMedia Research that finds that the vast majority of people who want web video are on broadband connections. * Note - for the specific bitrates and other encoding parameters that we would recommend for encoding FLVs, please look at the Best Practises for Encoding Flash Video article on the Macromedia Dev Center.

 

Q4. Can I encode a 640x480 sized video within 700kbps? Would you recommend that?
A4. Yes, you can do this. Would we recommend it? Here's the ambigous answer: it depends on a number of different things, including how much motion your video has, what the starting quality is, what the other parameters are, what's the acceptable quality you need on your output, etc. The Best Practises for Encoding Flash Video article on the Macromedia Dev Center contains a technical document that describes some recommended encoding parameters for Flash audio and video content.

Here's a clearer answer: 640x480 is roughly the same resolution as the common, standard definition (SD) run-of-the-mill TV that is sitting in your living room [note: read this for a primer on video formats and resolutions]. What's the bitrate size of SD video that you see on your TV screen at roughly the same quality as when you're playing a DVD? Roughly 2-4Mbps, with older MPEG2 codecs being towards the higher end of that range and newer, advanced web codecs such as that used with Flash being towards the lower end. A real rough guess would say that if DVD quality requires 2Mbps and you're looking to do roughly the same HxW size at almost 1/3 of the bitrate, you should expect 1/3 of the quality.

 

 

VIDEO ENCODING and PRODUCTION QUESTIONS -- LIVE VIDEO

Q5. Does Flash have live stream/encoding cababilities?
A5. Yes, the Flash Player has a built in video encoder that can stream live feeds (in Spark format) from ANY source that is recognized as a camera source by the OS to the Flash Communication Server. The encoding settings and functionality of the encoding application reside in the SWF file. All the "broadcaster" needs to have running on his/her machine is the SWF file and an internet connection to a FCS server. There are wonderful capabilities here. I'd suggest taking a look at these tutorials and documents on the Macromedia Dev Center:

In addition, On2 has announced the availability of a live encoding SDK for Flash video which takes advantage of VP6

Q6. Can I stream live Flash video with the Digital Rapids and Osprey cards?
Q7. I have a live feed coming into my computer from a satellite / my cable TV, can I stream this?
Q8. I have a digital camera plugged into firewire card, can I stream this?
Q9. I have a simple little, el cheapo webcam plugged into my USB port, can I stream this?
A6-9. Yes, see the answer above. ANY source really does mean ANY source. As long as your OS recognizes it as a camera source, you can write/use an application (SWF file) that captures, encodes and streams that videoto FCS. See the links above to get your hands on a SWF based live Flash Video encoder.

 

Q10. If I can do live streaming by plugging a firewire DV cam into my computer, why do I need a Digital Rapids or Osprey card?
A10. High end video capture cards such as those from Digital Rapid or Osprey often have more encoding options and also do more than just encode. For example, using these cards you may be able to do the following: pre-processing on the signal, de-interlacing, color correction, cropping, apply various filters, capture and stream multiple feeds at once, etc. In addition, because the cards typically have chips specifically designed for vido pre-processing and encoding, it takes resources off the central CPU and moves it to dedicated, optimized processors. This will provide better performance and hence better quality video.

 

Q11. How do I create a large webcast with Flash?
A11. A couple of things are needed to make a large webcast with Flash:
  • A large, reliable, load balanced network running Flash Media Server - this exists for you at Akamai, Limelight Networks and VitalStream
  • At least two Flash/FMS applications such as those in the links above to broadcast the webcast and one to play it to participants using the networks in the above bullet point
  • A technical production team on site to make sure the equipment is set up, lighting is just right and the talent has their make-up applied properly

While this is pretty straightforward for professionals who have experience with webcasting on other formats (e.g., Windows Media), if you want to do a large webcast and you have never before done a large webcast in your life, you probably don't want to start now. There are plenty of professionals that bundle up all three things above and will offer you a "turn-key" webcast. Do yourself a favor and contact Will Law at Hostcast. You'll get a great Flash-based webcast experience that will be custom branded with your look, feel and functionality, delivered from a reliable Akamai, Limelight Networks or VitalStream network and have all the benefits of Flash.

 

 

AUTOMATING ENCODING and VIDEO CAPTURE

Q12. I have a lot of video that I need to encode and need to do it through a highly automated system. A desktop tool doesn't work for me. Are there any highly automated systems, perferably server based, for encoding into Flash video?
A12. Yes, there are a number of companies who make products that automate the encoding process. Take a look at these:

You can also to do a Google search on batch process encoding to FLV to see other possible options.

[Ancillary question, let's call it Q12a - Out of the vendors listed above, which one do I recommend? A12a - I'd recommend the one that fits your needs the best. Get out a sheet of paper, write down your requirements and what you need this thing to do, then go visit each of their websites and/or call their sales rep up and see if it does what you want it to.]

 

Q13. Can I encode audio / video in real-time (transcode it) and stream it directly to the Flash Player, without going to an intermediate FLV file?
A13. No, at this point there are no options for doing this. We anticipate that in late- 2005 there will be tools on the market to do this.

 

Q14. I want to create an app that allows people to plug in a camera and capture video in Flash format up on a server, doable?
A14. Yes, it can be done very easy with Flash Media Server.

 

 

FLASH and CODECS

Q15. What codec does Flash Video use?
A15. This is a very popular question, but it's pretty ambigous since a "codec" and an "encoding tool" are not necessarly the same thing and the person typically asking this question is usually looking for an encoding tool they can use to make an FLV. If you are that end-user and need to create an FLV, see the answer to Q1. If you really do understand the difference between a codec vs. an encoder vs. a decoder; or you are familiar with the differences between compresssion and encoding; or you know which of those are trick questions, than here's your answer: There are a number of codecs that can encode video into Flash Video format including the Spark codec from Sorenson (included in their ACE Engine); the Flix codec from On2; the ffmpeg open source codec; and a couple of others.

 

Q16. Can I license the Flash Player add my own codec to it?
A16. Yes, Macromedia has a Flash Player SDK licensing program that you can use to create and distribute a custom version of the Flash Player. You can get more info and fill out a license request form here. This is a popular option for mobile and devices when codecs are optimized for particular hardware. It's not very common for web/desktop apps because when you make a custom version of the Flash Player, you don't get the ubiqutious distribution of the standard Flash Player.

 

Q17. I want a solution for streaming other video formats into the Flash Player. I understand I can either transcode or that I can license and build my own version of the Flash Player. Which solution is best?
A17. If you want this video to go to a phone or device, licensing the Flash Player is probably the way to go. This way you integrate the Flash Player with a video decoder optimized for your chip set and since you control the distribution of that player, you can insure it is on all the endpoints you need it to be on. If you want to send different format video to a Flash Player in a desktop app, transcoding is the way to go because it will enable you to stream your video to the existing ubiquitous Flash Player.

 

 

VIDEO PLAYER QUESTIONS

Q18. Flash Video - I don't get it. How does Flash work vs. the other media players?
A18. Playing a video clip with Windows or Real basically involves two things - a media player and a video file. For example, the Windows Media Player will play back a .AVI video file or the Real Player will play back a .rm video file. The video file is just dumb content. The media player has the functionality to control the video playback plus it has a GUI. In the case of Windows and/or Real, it may also have some other functionality such as the ability for a user to purchase music or organize media clips that are on their computer.

With Flash, playing a video clip involves three things - a media player (Flash Player), a Flash Movie (SWF File) and a Flash Video file (FLV file). The Flash Player plays the SWF file and in return, the SWF file "plays" the FLV file(s). The Flash Player is a very small, ubiquitous player that, unlike the other larger media player, does not have a GUI or video playback controls. The GUI and controls for the video playback are contained in the SWF file. This innovative approach enables publishers to customize the look, feel and functionality of the video playback controls (or, sometimes called, the "video player") simply by creating a new SWF file and posting it on their website. Read the Flash Video Learner's Guide and Getting a Grip on Flash Video for more information about how Flash Video works and how you create FLVs and SWFs.

 

Q19. Okay, I understand I need a FLV and a SWF "video player" to play Flash Video, but I don't know the Flash authoring tool, how can I use Flash Video?
A19. If you want to deploy Flash Video on your webpage, but you can't create the SWF file "video player" because you don't know Flash, here are a couple of options for you:

  • If you know Dreamweaver MX 2005, you can use the Flash Video extention for Dreamweaver in the Macromedia Video Kit to add Flash Video to HTML pages.
  • If you handcode HTML you can use Peldi's FLVPlayer to add Flash Video to HTML
  • You can hire a Flash developer to build you a SWF video player for your site
  • Some third party Flash Video related applications/services will automatically generate SWF video players for you. For example, the Flash Video Streaming Service powered by VitalStream will enable you to upload a FLV file to the VitalStream network and will return HTML code for you to use in your HTML page to play back the video.

 

Q20. I kind of know the Flash authoring tool, but my skills are a little shakey. Are there any pre-built SWF "video players" templates or components that I can use?
A20. Yes, Flash MX Professional 2004 includes a set of Media Components that you use. Drag and drop them onto the stage, enter some info in the component such as the file name and you're ready to do. In addition, there are a number of other people who have made components for playing back FLV files. Take a look at FLVplayer.com, the Macromedia Exchange, or even Google search "FLV player".

 

Q21. I'm going to use Flash Video for showing video in my website, should I use a pre-built "video player" or custom build one myself?
A21. That depends on the goals of your site and the resources you have available for your project. One of the beautiful things about Flash Video is that you the publisher have complete creative control over the look and feel and also the functionality of your video playback experience. By creating your own "video player" (i.e., a SWF file with the look and feel and functionality for playing back external FLV files) in Flash, you can create branded, differentiated video experiences. So, we'd highly recommend you create your own custom player. However, if you / your company does not have a lot of Flash skills and you don't have any cash to contract a Flash expert to do this for you, than you're probably best off just using a pre-built video playback component.

 

 

MISC QUESTIONS

Q22. Why does streaming Flash video start faster than any of the other formats?
A22. There are a number of reasons why streaming Flash video can start faster than any of the other platforms, including:
  • With Flash, the buffer can be set and controlled by the developer. With the other media players, the buffer is set in the player by the client. Most viewers have no idea how to open their player and change the buffer setting, nor any idea what they should change it to. Determining proper buffering should be left to the developer not the bloke watching the video.
  • The Flash Player if very small and executes instantly. Other media players are very large 9-12MB applications that take a long time to start up.

 

Q23. Can I do Close Captioning with Flash Video?
A23. Yes. The same SWF file that streams your FLVs can also pull in data (e.g., XML). That data can be your close captioning and can be synched to the video playback. Here is a good article how to do this. This method allows you to keep the data in standard XML files an keep it separate from the video content. Alternatively, you can add data directly to a FLV files. You can use a metadata injector tool to add your captioning directly in the FLV. Try this tool Captionate.

 

Q24. I'm going to use Flash Video for showing video in my website, should I use a pre-built "video player" or custom build one myself?
A24. That depends on the goals of your site and the resources you have available for your project. One of the beautiful things about Flash Video is that you the publisher have complete creative control over the look and feel and also the functionality of your video playback experience. By creating your own "video player" (i.e., a SWF file with the look and feel and functionality for playing back external FLV files) in Flash, you can create branded, differentiated video experiences. So, we'd highly recommend you create your own custom player. However, if you / your company does not have a lot of Flash skills and you don't have any cash to contract a Flash expert to do this for you, than you're probably best off just using a pre-built video playback component.

 

 

VIDEO DELIVER QUESTIONS

Note: Please see the Flash Communication Server FAQ for detailed and advanced information on Flash Video delivery.

 

 

DIGITAL MEDIA PROTECTION

Q25. Does Flash have any ability to protect content so users can't steal or rip it?
A25. Content delivered via progressive download is stored on the client's hard disc and can be accessed and stolen by the end user. Video and mp3 audio content streamed via the Flash Communication Server however can not be accessed by clients. Read the Digital Media Protection article for more information about this topic.

 

Q26. How can I provide authenticated access to streams - e.g., enable our single sign on to work with Flash video
A25. There are a number of ways you can authenticate users prior to delivering content streamed with FCS 1.5. Below are a couple of strategies:

1. Authenticate at the SWF level: Authenticate users via your normal authentication process (e.g., your single sign-on process) and then once the user passes authentication, serve up the SWF file which streams the video content to the user. Benefit: it fits within your existing workflow, requires NO changes, and yet authenticates before serving up content.

2. Authenticate at the stream level: Serve up the SWF file with no protection, but authenticate the user when they connect to the server and request a stream. You can do this by passing the username/password info in the net connect - e.g., nc.netConnect("rtmp://server/app/instance", username, password) - and then have a server side function in FCS which takes that information and, via Flash Remoting, authenticates it against your normal backend system. How do you get the UN/PW info - important for single sign-on apps? There are a couple of methods:

i. When you initially capture the end-users un/pw info, do so via a Flash app and store that info in a local shared object (LSO) before passing it on to your app server. The LSO info can then be passed along with the net connect.

ii. use a method like this http://www.the-stickman.com/tutorials/f4cookie.shtml to get cookie info into Flash.

Note: the O'Reilly book Programming Flash Communication Server devotes an entire chapter to authentication for FCS apps.

 

 

 

 

 

 

 

 

This site maintained by Chris Hock. If you have comments, feedback or would like to be a contributor, contact chock at adobe dot com. This site kindly hosted by the fine folks at (media temple).