Skip navigation
Currently Being Moderated

Problems with F4V in Internet Explorer...

Nov 17, 2012 4:43 PM

Hello,

 

I have been working on an interactive training video for the past few months. I first created an english version of the presentation that was used both as an interactive CD and also featured an online version. The english version works perfectly on all browsers and operating systems. I then had to convert the project to French. This phase is now complete. The interactive CD version (using a projector .exe) is working fine. When I uploaded the online version, the main interface is working but it seems the external videos will not load in Internet Explorer. Both language versions use external links to F4V videos to access each training video of the presentation.

 

Basically, the French version is an exact copy of the English version, but the language has been converted to french. The coding and functionality is identical to the English. The online verison of the English presentation works on all browsers and operating systems. Oddly enough the online version of the French presentation works on all browsers except Internet Explorer. For whatever reason, the external videos don't load in IE. I have tried everything I can think of but so far nothing has worked.

 

I am not sure if it matters, but I originally built the English presentation in Flash CS4. I encoded the english training videos using media encoder CS4. When I began converting the english to french, I upgraded to CS5.5. All the french content was created using CS5.5. I also switched to Adobe After Effects 5.5 to render my final F4V's instead of using the media encoder (I have since tried using media encoder 5.5 but my videos still won't load in IE). I am wondering if something has changed in CS5.5 when it comes to encoding F4V's that would cause IE not to load them.

 

I am pretty well stumped. It doesn't make sense to me why the English version is working in IE and the French version will not load the F4V's. Aside from being setup in a different langauge, these projects are identical. I did try rebuilding the french version because i suspected the pathing was messed up but that did not work. At this point, I think my F4V's I created in CS5.5 are not compatible with IE. Either that or something was done in the coding of the host website that would cause this issue (I did not build this website but now have to edit it so I don't know if the former webmaster did some special coding for the english version that needs to be done to the french). I doubt the website coding is the cause but at this point I am open to all possibilities.

 

Anyway, if anyone has an idea what the cause of this issue is, I would greatly appreciate the input. Thanks in advance for your replies.

 

The english and french versions can be found here:

 

English (this one works fine in IE): http://prevu.com/English/hcp/video/training_video.swf

French (this one will not load F4V's in IE): http://prevu.com/Français/hcp/video/training_video.swf

 
Replies
  • Currently Being Moderated
    Nov 18, 2012 9:31 AM   in reply to bmcgraphics

    Works fine in my IE9 as well.

     

    Is there any good reason you'd ever desire to use F4V? Just encode them to MP4. Playback support is in flash as well and if you choose to offer a non-flash version of the site they'll play in a native HTML5 <video> object. They're also a desirable format to download, if that's useful for your viewers. F4V is way too far behind, has inferior quality and compression.

     

    Adobe CS5.5's Media Encoder has presets for H264 and MP4.

     
    |
    Mark as:
  • Currently Being Moderated
    Nov 19, 2012 8:03 AM   in reply to bmcgraphics

    It's all simply about the errors. Don't give up on mp4, stay that route if you can. Your client won't care as long as if plays and the files are smaller and look better.

     

    Are you coding this by hand or are you using all timelines with components? If you have any code, please show the code you're using to start the playback of the video. including all event handling (especially error checking). Certainly there will be an error.

     

    One of the most common things I see is people update software and then set the current class as the delegate for a stream but forget to implement all the handlers required like onXMPData. Mostly because it's a newer feature (you see export XMP data in publish settings all the time). Errors will easily let you know that.

     
    |
    Mark as:
  • Currently Being Moderated
    Nov 20, 2012 10:07 AM   in reply to bmcgraphics

    Scenes get ugly. They're a whole different MovieClip so all the code needs to be reinstantiated over and over for each scene. Very tedious as you mentioned, hindsight 20/20.

     

    I see your MetadataEvent and VideoEvent, where is the error handling?

     

    FLVPlayback just wraps VideoPlayer which has a loaderInfo object some extra info can be obtained from. Don't specify the f4v to play in the component, do it with code and try the following:

     

    import flash.events.Event;

    import flash.events.IOErrorEvent;

    import flash.events.SecurityErrorEvent;

    import flash.events.ErrorEvent;

    import flash.events.HTTPStatusEvent;

    import flash.events.UncaughtErrorEvent;

    import fl.video.VideoEvent;

    import flash.text.TextField;

     

    var tf:TextField = new TextField();

    addChild(tf);

    tf.width = stage.stageWidth;

    tf.height = stage.stageHeight;

    tf.multiline = true;

    tf.wordWrap = true;

     

    flp_com.addEventListener(fl.video.VideoEvent.STATE_CHANGE, _stateChange);

    flp_com.loaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, _statusEvent);

    flp_com.loaderInfo.addEventListener(Event.OPEN, _statusEvent);

    flp_com.loaderInfo.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, _handleError);

    flp_com.loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, _handleError);

    flp_com.loaderInfo.addEventListener(IOErrorEvent.NETWORK_ERROR, _handleError);

    flp_com.loaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, _handleError);

     

    try

    {

        flp_com.load("moo.f4v");

    }

    catch (e:ErrorEvent)

    {

        tf.appendText("Direct error: " + e + "\n");

    }

     

    function _stateChange(e:fl.video.VideoEvent):void

    {

        tf.appendText("StateChange: state[" + e.state + "]" + e + "\n");

    }

     

    function _statusEvent(e:Event):void

    {

        tf.appendText("HTTPStatusEvent: type[" + e.type + "]" + e + "\n");

    }

     

    function _handleError(e:ErrorEvent):void

    {

        tf.appendText("StateChange: type[" + e.type + "]" + e + "\n");

    }

     

    This is just creating a TextField above everything and adding the event text to it. See what happens in IE and if it reports any errors. You'll get more useful errors if you use a http:// protocol full URL to the file versus a relative URL. If you use relative at least STATE_CHANGE should report connectionError if it can't use the file.

     
    |
    Mark as:
  • Currently Being Moderated
    Nov 20, 2012 12:18 PM   in reply to bmcgraphics

    You're welcome and hopefully IE will give you some useful error to help you diagnose it if you really want to continue using f4v.

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points