Flash video n' related stuff
Our book is now available on Amazon, and will be “wherever books are sold” very soon! We worked really hard on this book, and tried to include everything you need to create Flash video applications in the real world. You’ll find all sorts of solutions to problems you’ll invariably encounter out there. Clients that may not know what they want. Video that’s blocky and choppy. Slow internet connections. Transitions, filters, thumbnail snapshots, streaming, progressive, videoconferencing… we cover it all. In both AS2 and AS3. It took a few years off our lives, but here it is! ![]()
Details over here >>


32 Responses for "Flash Video for Professionals is now shipping!"
A suggestion:
Book states that the sample code is available at:
http://www.flashconnections.com/flash-pro/
You may want to setup a redirect page to the proper download page at:
http://www.flashconnections.com/flash-video-pro/
Excellent Book!!!!
Good catch, Chris. Thanks for the heads up!
I purchased the book last night and already have finished the first couple of chapters. I think the book is very well written and put together. However I cannot seem to find sample survey that was said to exists on the supporting web site.
We’ve uploaded it for you in the Chapter 1 folder; direct link here: Survey
I love the concept of the book, but perhaps I have an early print of it or something…
The AS2 code on page 46 does not match up with the screenshot on page 47. In addition, neither code worked as written. I had to define the ns property outside the contructor function in order to get the code to work.
Lastly, the AS3 code on page 48 & 49 demonstrates using Flex Builder 2 which I don’t have. It would have been nice to see an example on how to use this within the Flash application itself for those of us new to AS3.
Despite these issues in Chapter 3, I’m looking forward to the rest of the book.
Mike, thanks for pointing out the error. A new screenshot will be sent over to the publisher!
The correct code is in the text. You shouldn’t have needed to define the ns property in the class; it’s being instantiated and passed in as a parameter to the FLVPlayerBasic instance (as shown on the top of page 47). Did you define it there and still have trouble? (I just tested this again myself, and it’s working as written…)
Yes, we do show most AS3 code examples, at least at the beginning of the book, in Flex Builder 2. Unfortunately, at the time of the chapter’s writing, the Flash IDE was in early beta. Plus, we wanted to get you used to class-based examples. (The beta for FDT for AS3 is now out [ http://fdt.powerflasher.com/beta/ ], so if you’re an eclipse user, I’d highly recommend giving that a try for AS3 development.)
Thanks for the constructive feedback; please let us know if you have any other comments/problems/suggestions!
I have made my way up to chapter 7 – the XML implementation worked well. I’m having issues with MediaPlayerView.onPlayMedia (page 151). It says we can set the title string with “getMPModel().getPlaylist().getCurrentItem().title.getValue();” For starters, there is no “getMPModel()” method within View and Flash throws an error. There is a “getModel()” method, but when I use that, I get another error saying there is no “getModel().getPlaylist()” method. As simple as this line of code is, it didn’t work. What am I doing wrong?
Hi Mike,
Looks like the wrong version of the source code was posted for download. We’ve fixed the error and verified that everything compiles fine.
You should be good to go!
The MVC player in the appendix is written in AS2. Why not AS3?
Hi Tom,
We thought we’d leave that as a reader exercise!
Actually, I think I can speak for the author of the appendix, Jim, when I say: 1. Real-world project requirements (support for Flash 8 or older) 2. Time/Deadlines. I’ll bug him to update it and re-post it, but he’s a busy man these days!
// Lisa
Lisa and Renee, great book. Definitely a ‘page-turner’. I recently read Reinhardt’s book and then bought yours and now feel like I know 1000% more about Flash Video than I did a month ago. Keep up the good work! How about a book on AS3 or Flash CS3?
I do have a question about cuepoints and if you know of a tutorial that would be great but maybe it’s an easy answer here. My project is in AS2 for player 8. Say I have an .flv file that has 10 ‘chapters’. I have no problem showing the cuepoint times or even the total duration of the file and have it countdown. How could I instead determine and show the chapter duration and have it countdown when the playhead reaches that chapter or it’s clicked? Does it have something to do with subtracting a cuepoint time from the next cuepoint time? Thanks for your help!
-Scott Babcock
in Itasca, IL
Hi Scott,
Thanks; glad you enjoyed the book!
Yes, you’re on the right track… you’d have to determine the duration between cuepoints and calculate your countdown from there. You could read them in all at once using the onMetaData event to grab the info you need.
I don’t know of a good tutorial for this offhand, but I’ll add that to my ‘to-do’ list for upcoming tutorials/articles!
cheers
// Lisa
Just to get this straight before I send off for it.
This book deals with Flash video as pertains to building it entirely in Flash with playlists?
I have searched for a tutorial/book for the best part of a year that shows me from A-Z the setting up of a MySQL database with flv videos to serving them up on a page with thumbnailed previews in a listbox.
Also how to upload those videos to the database.
I think this book will show me that right??
The book omits a noteworthy difference between streaming flash videos and progressive downloads: some viewers may never view them.
Many viewers have become accustomed to viewing downloaded cache flv files with a player rather than with their browser. With some older computers, downloading and viewing at the same time works less than perfectly, while viewing with a player works fine. Some viewers might like to watch a video when on the train and they have time but no internet connection. At 1 a.m. a viewer may not have an hour to watch a video and choose to download it. Others may like to keep a video and watch parts again. Others may prefer viewing with a more flexible player than with a browser.
Few viewers know of the difference between streaming and progressive videos, and I don’t know how you can tell the difference during a download.
If a viewer doesn’t know of the difference, “downloads” a streaming video, and looks for the cache file, he will not find it. That discovery may not please him. If a site operator is trying to sell widgets with a streaming video, a potential customer who can’t find the cache file will probably not buy any. With so much to view on the internet, when something doesn’t work, many surfers have learned to forget it rather than to waste time trying to fix it.
Progressive downloads have this advantage.
The book says that there is no cache in a streaming video. In fact, I have observed hidden cache files with them.
EIREHotspur,
Though we do deal with playlists, and how to create a good player w/playlist using the Model-View-Controller design pattern, I don’t get into the nuts and bolts of dealing with MySQL database integration. Most of the examples use XML as a source. The examples could still be quite useful, once you understand how to integrate databases with Flash… HTH // Lisa
Leroy,
Though I agree with some of your comments, I think you may be overestimating the desire to download and watch shorter videos offline. For most people, digging through their browser cache to find a YouTube video they had watched a few minutes before just doesn’t cross their mind. If you want it, and you are tech savvy, of course it is possible, but why not just bookmark it and watch it again when you’re online, instead of cluttering up your harddrive with tons of media files?
One possible answer to this is Adobe Media Player. This is a standalone desktop application that allows you to download and playback video content at your leisure, all within a branded interface. It aggregates video much like iTunes does with music. It is currently in beta on Adobe Labs.
Regarding streaming file cache; there may be a cache of the page or the SWF that played the file, but streaming doesn’t save any of the video data… of course you can still “rip” the stream if you really, really wanted it, saving the bits as they are transferred. But that’s just not good karma.
Thanks for the comments; and for purchasing the book… hopefully it’s been helpful!
cheers // Lisa
It was truly a great book. As for me I am a non-Flash individual who knows nothing about Actionscript. This book sure gave me a headstart. I strongly recommend it to all new learners.
However when I was proceeding to the code examples for Chapter 6 on Bandwidth Detection, I realised that there was no .fla files provided in there. Can you provide with it?
Thanks.
Hello Beng,
Glad you found the book helpful!
I’ve updated the archive here to include the source for the Bandwidth Detection examples:
http://www.flashconnections.com/flash-video-pro/Ch06/
Thanks for your feedback, and sorry I didn’t have that posted for you earlier.
cheers
// Lisa
Hi Lisa,
Do you guys now have the Actionscript 3 code for the MVC Media Player?
Delt
Lisa,
I have a few questions that have me confused. I have viewed your tutorials on creating dynamic video playlist but have had no success on streaming RTMP. Once I set everything up as specified, the thumbnails will load and net connection is successful but once you select the thumbnail, the video will not play. Now, since my FMS is local, I took out the local host and made it rtmp:/videosource/movie1…if this where I am wrong? What makes it even more confusing is that I just went through your new version with AS3 and still the same result. But I look throught your script in AS3 version and did not see any reference to making a connection to the server. Now in your book, you make refernce to making a net connection within your AS3 sample p303. Any feedback would be much appreciated. Feel free to use my email.
Excellent Book- I’ve learned alot and glad you decided on an OOP format. I have one question on Chapter 10 (AS3) dynamic thumbnails pg. 244 the handleOnStatus function.
I get the following runtime error:
TypeError: Error #1009 – Cannot access a property or method of a null object
reference at:: FLVBitmapThumb/handleOnStatus()
The problem seems to be reading the “NetStream.Buffer.Full” code.
The thumb_mc clip just loads the grey bitmap and the image is never loaded.
I loaded the chapter #10 example file and the same error occurs with just the grey thumb_mc clip being loaded.
Appreciate your help with this one.
All the best,
Mike
@Deltoro
Hi Delt,
No, the author of our MVC player, Jim, has not ported over to AS3 code. We may save that for the next edition (talk to our publisher!)
thanks, Lisa
@Steven Kleckner
Are you certain that your videos are in the correct place? They should be in your FMS applications folder, in videosource/streams/_definst_. Since you are running FMS locally, your video URI (src) in your XML should be rtmp://localhost/videosource/videoname.flv
Hi Steven,
Ok, so your NetConnection is successful; that’s a great start.
If you’re still having trouble, let me know. Hope this helps!
cheers,
// Lisa
Dear Lisa,
I have been enjoying your tutorial and book. I have one question. Similar to the comment from Steven Kleckner.
I manage to get the video playing and thumbnail showing when I set up the videosource file (in the dynamic playlist). My question is, is it possible to connect to another stream in another application folder? Because, I have been recording user video using FMS into an app folder say myrecord. It is a different app folder than the videosource folder. And i wisht o playback those video from myrecord app instead of copying those video to videosource folder. Any clue?
Hi Samatha,
Yes, this is possible — you’d just have to point to that other application in your video URI (src) the XML:
rtmp://localhost/other_app_name/videoname.flv
cheers,
// Lisa
I copied your file and put it on
http://tenbec.net.
Then I added my own video intp Main.as. It worked fine on my Mac. When I up loaded it on to httP;//deasgrandpa.com
I got code.
Any idea how I screwed up?
Hi George,
I’m not sure which example you’re working with, but what files did you upload? You’ll need to upload an HTML file, a SWF file, and the video file(s).
Ohhh Lisa .. I love your work
……………
Got this link from one of your presentations i.e Flash Forward 07.. Fun with Flash Media Server ..
Now that’s Strange i.e Sense of Humor along with Hardcore Programming Skills and that too girl for a change
.. much.. 
Vibs
I am having an issue with the XML section in chapter 7.
Does actionscript 3.0 need the XMLSA class? I download the files for chapter 7 and run the FLA from the source folder and i get:
TypeError: Error #1034: Type Coercion failed: cannot convert XMLList@4425521 to Array.
at Main/initMediaPlayer()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
Are the book files not up to date with a working version of a XML list? Do i need to add the XMLSA calss? I do not see the code in the book under Actionscript 3.0….. can someone shed some light on this thank you
Hi GR,
The XMLSA class should only be needed in AS2. AS3 has its own classes for parsing XML.
@Mike,
This could be a security issue in the Flash Player. If you upload the files to a web server, does the thumbnail show up?
Leave a reply