28 Replies Latest reply on Jul 3, 2011 12:07 PM by Lon Winters

    Correct Way To Acheive  ..........

    mentlity Level 1

      I have a client who needs a Flash video to stream from a website, the video which is being made from powerpoint slides is roughly 22 minutes long. With the voiceover it's gonna be pretty heavy. Way too long to stream correctly from my experience so in order to do this right I need to know which way to go here.

       

      I broke up the fla's into 4 ( 5 minute .swfs)  I finished the first and I'm working on the second .fla. the first fla was published with the html wrapper let's call it v1.swf

       

      on thelast frame  of v1.swf I used the loader class to load the v2.swf into the wrapper when v2.swf ends it will loadv3.swf all the way up to 5.

       

      So far this works using the two .swfs which are on my server and are streaming

       

      Before I continue I just to make sure I do not do unecessary work I need to know if the way I plan on doing is correct or is there another way.

       

      Thx

       

      Ralph D.

        • 1. Re: Correct Way To Acheive  ..........
          kglad Adobe Community Professional & MVP

          a flash video is an flv or f4v.  is that what you have that's 22 minutes long?

          • 2. Re: Correct Way To Acheive  ..........
            mentlity Level 1

            Sorry, let me clarify. I have swfs that I want to load.

             

            RD

            • 3. Re: Correct Way To Acheive  ..........
              kglad Adobe Community Professional & MVP

              as long as you don't mind your users waiting for the next swf to load after the previous one completes that's ok.  but you can do better without much extra effort:

               

              use a main swf that loads v1 and displays its load-progress.  when v1 loading is complete, start v1 playing and start loading v2.   when v2 completes loading start v3 loading etc.

               

              when v1 completes, check if v2 has completed loading.  if it has, start its play.  if it's not display its current load-progress.  when v2 completes loading and v1 has completed, start v2 play etc.

              • 4. Re: Correct Way To Acheive  ..........
                mentlity Level 1

                I'm having an issue with this which I cannot figure out how to resolve.

                 

                I uploaded the following .swf's to my web server lets call it.

                 

                Video1.swf

                 

                it is 3:06 long, on the last frame I have the following code

                 

                stop();

                 

                var myLoader:Loader = new Loader();
                addChild(myLoader);
                var url:URLRequest = new URLRequest("BellyfatMock3.swf");
                myLoader.load(url);

                 

                This loads Video2.swf with no problem

                 

                it is 6:00 long but for some reason the video stops playing at 2:08

                 

                There are no stops in the frames, I re saved and re published and it stops in the same spot every time.

                 

                Any help?

                 

                RD

                • 5. Re: Correct Way To Acheive  ..........
                  kglad Adobe Community Professional & MVP

                  what's your url?

                   

                  (and, try to stop calling a swf a video.  that's incorrect and will continue to cause confusion if you post other threads.)

                  • 6. Re: Correct Way To Acheive  ..........
                    Lon Winters Level 4

                    Is there any reason why you can't make it into an actual video? It sounds like you spent a lot of time creating fla files using PowerPoint as your source images. The same could be done in a video editor or by using screen capture software. At any rate, is the audio embedded in the swf or is it external? If you don't need to sync the narration with certain parts of the slide, such as flying in bullet points or whatever, then you could load the audio externally with each slide and stream it. This will greatly reduce the size of the swf.

                    • 7. Re: Correct Way To Acheive  ..........
                      mentlity Level 1

                      An excellent question! The client insisted on me using Flash for this, I would have used After Effects but since I'm this far to answer your question, the audio is in a layer in the swf and both files are not big at all 5.9 and 3.4 mbs. I doubt the size is the problem.

                       

                      One thing I do notice is if I call the path address to the first swf in a browser that plays fine and then loads the second which  stops short.

                      But if I call the path address to the second swf it plays fine as well.

                       

                      ?????

                      • 8. Re: Correct Way To Acheive  ..........
                        mentlity Level 1

                        Sorry for the video reference, will use correct grammar

                         

                        link is here

                         

                        http://tinyurl.com/3ncz5je

                        • 9. Re: Correct Way To Acheive  ..........
                          Lon Winters Level 4

                          I don't know why the movie stops at a certain point. You did check out the obvious and there aren't any stop actions. It could be something weird like it's being loses into a movie lip that has it's own timeline already with a definite end. I use a slightly different method for loading external SWFs. I create an empty movie clip on the main timeline and give it an instance name. I place it at x y, 0 0 as the movies I load in are the same dimensions. I then use looadmovie to load the external swf into that movie clip. At the end of the first movie, I simply load the next one into the same movie clip which automatically unloads the first one. But you ave to target the movie clip on the main timeline using parent or root. Depending on your content, the swf that contains this movieclp holder doesn't really need anything else except for that single, empty movie clip.

                          • 10. Re: Correct Way To Acheive  ..........
                            kglad Adobe Community Professional & MVP

                            start by fixing your errors (listed below).   and from the look of your errors, you may be using a timeline with more than 16000 frames in it.  are you?

                             

                             

                            TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip@b05ec11 to flash.text.TextField.

                             

                            TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip@b05ec11 to flash.text.TextField.

                             

                            FLASHEFF2 ERROR: The pattern 'com.jumpeye.flashEff2.symbol.scale.FESScale' is missing from library.
                                at FlashEff2/set showTransitionName()
                                at FlashEff2/setProperties()
                                at FlashEff2/set xmlString()
                                at BellyfatMock3_fla::MainTimeline/__setProp___id0__Scene1_inspire_0()
                                at BellyfatMock3_fla::MainTimeline/__setProp_handler()
                            FLASHEFF2 ERROR: The pattern 'com.jumpeye.flashEff2.symbol.explodePixel.FESExplodePixel' is missing from library.
                                at FlashEff2/set showTransitionName()
                                at FlashEff2/setProperties()
                                at FlashEff2/set xmlString()
                                at BellyfatMock3_fla::MainTimeline/__setProp___id1__Scene1_sotrustme_2202()
                                at BellyfatMock3_fla::MainTimeline/__setProp_handler()
                            FLASHEFF2 ERROR: The pattern 'com.jumpeye.flashEff2.symbol.explodePixel.FESExplodePixel' is missing from library.
                                at FlashEff2/set showTransitionName()
                                at FlashEff2/setProperties()
                                at FlashEff2/set xmlString()
                                at BellyfatMock3_fla::MainTimeline/__setProp___id2__Scene1_Layer1_2978()
                                at BellyfatMock3_fla::MainTimeline/__setProp_handler()
                            FLASHEFF2 ERROR: The pattern 'com.jumpeye.flashEff2.symbol.explodePixel.FESExplodePixel' is missing from library.
                                at FlashEff2/set showTransitionName()
                                at FlashEff2/setProperties()
                                at FlashEff2/set xmlString()
                                at BellyfatMock3_fla::MainTimeline/__setProp___id3__Scene1_Layer1_2993()
                                at BellyfatMock3_fla::MainTimeline/frame2994()

                            • 11. Re: Correct Way To Acheive  ..........
                              mentlity Level 1

                              OK, here is what I did. Cleaned up all the Flash Eff errors and still have the same problem, by the time the file is completed in Flash I'm afraid the size will be too big to stream so rather than continue in Flash I copied all the text from the fla to After Effects. The project is a bunch of text with effect transitions along with 10 or 12 images.  I'm a bit more comfortable doing this in After Effects as I know when I render it will be one file but now comes the tricky part. The reason why I did this in Flash in the first place was the client wanted a link towards the end of the file which I was going to put an invisible button using the get url function but with the size of the flash swf getting too big to stream this was no longer an option.

                               

                              Now that I'm in After Effects I was thinking of how I can acheive a live link in the final output, I exported the After Effects file as an .flv dropped it into a new swf ( embedded is approx 100mb) leaving the flv in one frame is pretty small, only 81 kbs. I extended the timeline to 5850 frames which is approx when the link comes up, so on another layer I created an invisible btn and an actions layer so when the flv hits that frame the invisible link will be clickable and it works.

                               

                              My only other way I can think of to do this would be to render the After Effects file to Quicktime and add a link that way but I only see this can be done by adding text to an href trk, a whole other animal.

                               

                              Since this is not a QT forum lets stick to the Flash, from what I explained is this the best way to achieve my goal which is to have an invisible link work from a certain frame in a Flash .swf?

                              • 12. Re: Correct Way To Acheive  ..........
                                kglad Adobe Community Professional & MVP

                                leave it as an flv.  but you should be displaying it in an flvplayback component and using progressive download so your swf is a one frame swf.

                                 

                                you can use actionscript to detect the end of the flv and add your link.

                                • 13. Re: Correct Way To Acheive  ..........
                                  mentlity Level 1

                                  Thx will do and get back to you if I run into any problems.

                                   

                                  thx

                                   

                                  Ralph D

                                  • 14. Re: Correct Way To Acheive  ..........
                                    kglad Adobe Community Professional & MVP

                                    you're welcome.

                                    • 15. Re: Correct Way To Acheive  ..........
                                      Lon Winters Level 4

                                      If I remember correctly, one way to do it is, in the fog player component inspector, you can set an event that triggers at a specific time of the flv. The event can simply call a movie clip to play, go to another frame, whatever. This gives you the option of either detecting when the movie ends, then automatically doing something, or use the event to trigger a movieclp to display a button, which can even be placed over the video.

                                      • 16. Re: Correct Way To Acheive  ..........
                                        mentlity Level 1

                                        All works great, now I'm a bit confused about the linking part. Since the original file was done in After Effects and exported as an .flv the graphic in the .flv where it says "click here" appears around th 19th minute of the 23 minute flv.

                                         

                                        After snooping around I found part of the answer "Cue Points"

                                         

                                        I see how to add but having a problem getting the actionscript in there. So I would have to create an event listener that will have an invisible button appear at a certain frame an using the getUrl function have the user click the area on stage.

                                         

                                        Almost there, any help ???

                                         

                                        RD?

                                        • 17. Re: Correct Way To Acheive  ..........
                                          Lon Winters Level 4

                                          Create a micro lip with your invisible button on frame 2. Place a stop action on frame 1, and position it a layer above the video. For the cue point, at the specified time, use action script as the event type, and advance the movie clip to frame 2. Something like _root.MCinstancename.gotoAndStop(2);  for the button action, just use getUrl and include "_blank" after the URL of the new window.

                                          • 18. Re: Correct Way To Acheive  ..........
                                            mentlity Level 1

                                            OK I think I'm getting this but a few things are not clear. You say micro clip??? I hope you mean movieclip

                                             

                                            so import the flv, create a movieclip , put the flv inside the movieclip

                                             

                                            create a stop on frame1 of the movieclip

                                            create another layer with an an invisible button instance

                                             

                                            Now how do I create the actionscript for the cue point?

                                             

                                            I know to set the frames inside the flv instance probably around 21:00 is when the button should be visible or in this case move from frame 1 of the mc to frame 2

                                             

                                            Can you give me an example code as I'm a bit mixed up.

                                             

                                            rd

                                            • 19. Re: Correct Way To Acheive  ..........
                                              Lon Winters Level 4

                                              Yes, I meant movieclip, sorry bout that. Typing on iPad, it's always trying to correct me. Only the button goes inside the movieclip not  the video. Place the standard flv playback component on the stage and in the component inspector, point it to your flv file. Set dimensions, controller skin, etc. Then create the movie clip with the button inside on frame 2 as I described. Give the movie clip an instance name. Place it directly over the flv player one layer above. Now, go back into the component inspector to set your cue point. I'm not at the computer right now, so I can't remember how exactly it's done. But basically you enter the time of the movie you want to trigger a certain event. So basically, you're telling it to, at this certain time, the movieclip that contains the button, currently stopped on frame 1 where the button doesn't exist to move to frame 2, where the button exists. . Then for the button action, place whatever you need it to do when the button is clicked. But this won't stop the video from playing - is that something that has to happen?

                                              • 21. Re: Correct Way To Acheive  ..........
                                                mentlity Level 1

                                                Thanks for better explaining, I just need to have an an invisible button appear on stage at a certain frame in the flv. Movie does not have to stop. The frame the btn is on stage is around 21 minutes into the 23 minute flv. Any idea how to code so the button appears and when clicked it goes to a blank url.

                                                 

                                                thx

                                                 

                                                rd

                                                • 22. Re: Correct Way To Acheive  ..........
                                                  Lon Winters Level 4

                                                  1. Create your moviecliip with the button. Give it an instance name of anything, say, buttonMC. Place the button on frame 2, frame 1 should be empty except for the stop(); action on the frame.

                                                  2. For the button action put -

                                                   

                                                  on(release) {

                                                      getURL("page,html", "_blank");

                                                  }

                                                   

                                                  3. On the layer below the button mc, inset the FLVPlayback Component (Components - Video) and drag it to the stage.

                                                  4. With the component on the stage selected, open the component inspector. In the parapeters tab, find contentPath and click in the text box to the right. Click the little button with the magnifying glass and browser for and select the FLV file.

                                                  5. Find cue points in the parameters tab, click the little button in that area, it will say none. The Cue Points window will come up.

                                                  6. Enter a name for the first cue point, like "Event1"

                                                  7. Enter the time for the cue point - the segments are hours-minutes-seconds-frames (it's either frames or hundredths of a second, cant remember)

                                                  8. Leave the type as Action script. Select this even so it's highlighter.

                                                  6. In the parameters box to the right, enter a name and value. The value is the action script that will execute when the video reaches that cue point.

                                                  10. Enter:

                                                   

                                                  buttonMC.gotoAndStop(2);

                                                   

                                                  Or if you have all this on the main timeline you may want to enter -

                                                   

                                                  _root.buttonMC.gotoAndStop(2);

                                                   

                                                  To test this, I would place first place the cue point early on so you don't have to wait 20 minutes each time. Also, maybe use a visible element in the button MC to you can actually see when it displays.

                                                   

                                                   

                                                  You may want to double check all this by searching for how to set cue points in the FLVPlayback component either on Google or Adobe, it's been a while since I've actually done it. If you're not using this component, and perhaps a third party component, some will support cue points in the same way and others won't, you'll see it right away in the component inspector.

                                                  1 person found this helpful
                                                  • 23. Re: Correct Way To Acheive  ..........
                                                    mentlity Level 1

                                                    I needed to revisit this as this project has some changes. The project is done except for adding a cue point at a certain point in the file . Let me explain in detail further :

                                                     

                                                    I created a 25:00 minute video using After Effects, optimized that to an .flv embedded the .flv into an html page using the Flash video component, works great!

                                                     

                                                    Now the last part is for me to be able to add an invisible button to the flv at a certain point in the video , the button will go directly on top of the graphic image that says "click here" in the video.

                                                     

                                                    I need to know the correct way to do this as I see there are cue point tutes but they are being applied in an .fla . As you can see by reading I'm a bit confused, any help?

                                                     

                                                    rd

                                                    • 24. Re: Correct Way To Acheive  ..........
                                                      mentlity Level 1

                                                      I of course tried to proceed and did the following, created a new .fla, selected import video, Load external video withplayback component, browsed for the flv file, selected a playback component and I now see the flv with the playback component and I'm able to scrub the flv inside the .fla

                                                       

                                                      when I publish the file I'm ablre to see the swf playback the flv and use the component to stop and start, so I now open Dreamweaveer , create a new .html page and import the .swf.

                                                       

                                                      Upload to my server and paste the url in the browser window and nothing happens.

                                                       

                                                      if I paste the path directly to the .swf it plays, but I do not see the component.

                                                       

                                                      Any help?

                                                      • 25. Re: Correct Way To Acheive  ..........
                                                        mentlity Level 1

                                                        OK, I published with the wrapper.html and it now plays off the server but I still do not see the flv playback component.

                                                         

                                                        anyone??

                                                         

                                                        rd

                                                        • 26. Re: Correct Way To Acheive  ..........
                                                          mentlity Level 1

                                                          Component is not there, I made published the fla smaller to make sure there was room at the bottom and I see the component is definetely not there

                                                          • 27. Re: Correct Way To Acheive  ..........
                                                            mentlity Level 1

                                                            BUMP TO A NEW DISCUSSION

                                                            • 28. Re: Correct Way To Acheive  ..........
                                                              Lon Winters Level 4

                                                              I couldnt find the new discussion.   If you have a working SWF, and everything works when you play the published SWF on it's own, then the next step is to correctly insert it into your HTML page. Just go to insert media  - SWF. Depending on which version of DW youbarebusing it will either create supporting files in a Scripts folder which you also manually have to upload. . Or it will use the SWF Object. It's not clear to me whether you think the problem is within Flash, or DW. To rule out DW as the cause, just create a very simple flash file and embed it in a page and upload, no video or anything. If that works, then you know DW is doing it's job properly.   I'm also not clear if we're on the same page about inserting your video into the Fla file. You me tiled "import video" as a separate step before inserting the component. You don't need to do that. All you have to do is open the componentns panel and under Video, drag the FLV Video component to the stage. use the component inspector to select the FLV and other parameters. You can choose the controller skin and position here also. The controller skin is a separate SWF file that gets placed in the same directory as the published SWF and must also be uploaded.