Name is required.
Email address is required.
Invalid email address
Answer is required.
Exceeding max length of 5KB

JWPlayer 7.2.4 Breaks Other Video Players


Hello,

We are in the process of updating all of our videos to use JW Player 7.2.4 and I noticed that those videos that are not explicitly using JW Player are broken. When I examine the HTML of the affected videos I find that the jwplayer classes are being added to the <div> containing the FLV Player.

The JW Player Scripts are being loaded in the <head> of the document per the configuration instructions.

Here is an example video: http://dev.sharepoint-videos.com/module-2/working-with-quick-launch-bar/

4 Community Answers

jeremy

User  
0 rated :

Updated to JW Player 7.3.4 and it did not resolve the issue.

James Herrieven

User  
0 rated :

Jeremy,

"those videos that are not explicitly using JW Player" ARE in fact using JW Player - your approach is a bit convoluted, but they are still using JW Player. Also, they are incorrectly using a JW5 configuration block, the URL to the media is 404ing and the "new" JW code is subsequently erroring because it is not finding the "playerInstance" global that it's expecting.

I suggest you remove all remnant JW player code first and then build it back up with just the appropriate JW7 code. I'd be happy to help if you need any further assistance with this.

James Herrieven
===================================================
Powered by Haiku
http://powered-by-haiku.co.uk/
---------------------------------------------------
Tatami for Online Video
http://dev.powered-by-haiku.co.uk/solutions/tatami/
---------------------------------------------------
skype: JamesHerrieven
email: james[at]haiku[dot]co[dot]uk
===================================================


jeremy

User  
0 rated :

Hi James,

Thanks for your response though I think I need to clarify a few things.

The video I sent you was not using JW Player at all. It was an embedded video from ezS3 (http://www.ezs3.com/) using this embed code:

<script type="text/javascript">
var playerhost = (("https:" == document.location.protocol) ? "https://ezs386ed65eac750a03981460786bfd83bd9.s3.amazonaws.com/Screencasts/EndUser/ezs3js/secure/" : "http://ezs386ed65eac750a03981460786bfd83bd9.s3.amazonaws.com/Screencasts/EndUser/ezs3js/player/");
document.write(unescape("%3Cscript src='" + playerhost + "flv/420071C4-FE31-2970-97C480391EC72FBE.js' type='text/javascript'%3E%3C/script%3E"));
</script>

Just so you can see the differences, here are the exact same videos using the above embed code but one in our production environment renders correctly:
http://sharepoint-videos.com/module-1/working-with-quick-launch-bar/

and the one in our DEV environment (which also has JW Player scripts added to the <head> of the web page does not render at all:
http://dev.sharepoint-videos.com/module-2/working-with-quick-launch-bar/

the only difference between these two videos is the presence of JW Player 7.3.4 scripts loading in the <head> of the document and if you inspect the code of both videos you will see where the <div id="p269895_wrapper"> in the DEV site has jwplayer class elements added to it but in the production these are not there.

Which I was asking about how JW Player 7 was hijacking the player and inserting itself. Obviously JW Player is not just targeting the id of the element that I specify when it is called globally from the <head> of the document.

James Herrieven

User  
0 rated :

Hi Jeremy

I understand how the player is being embedded, and if you actually check the code that is behind the links that you provided from http://www.ezs3.com/ you'll see that it IS using JW Player.

That code is checking for the "jwplayer" object and if it doesn't exist, it is then dynamically loading JW5.10. That is what is then being used to generate your player embed on the "working" page. Although it says it is "eZs3 Player" - this is still just a JW Player.

By adding the JW7 library to the head of your page, you are causing the logic in this embed file to assume "jwplayer" already exists and so it no longer loads the JW5.10 library - it instead uses the JW7 library - which is not compatible with the rest of the code.

As I suggested previously, you're probably best to remove the legacy code and build it up again with code which is under your control.

James

This question has received the maximum number of answers.