JW Player

  • Anybody here know anything about JW Player? An organization that I'm connected with uses it for videos on their website, and it seems to be (recently, AFAIK) broken. Note: I am not connected with IT for this organization (I don't even know who is responsible for it), so I have no access to the server, nor any power to say "don't use JW Player; use $other instead." All I can do is poke it with a stick and see what happens.

    Symptoms on the platforms I can test:
    Safari on iOS: Nothing plays. Message to the effect of "file is wrong format or server not responding."

    IE (latest, I think) on Win7: Where the player should be, there is only the text, "This div will be replaced by the JW Player." NFC why the JS isn't replacing the div.

    Chrome (latest, or very nearly so) on Win7: This is a little weird, because the behavior 4 hours ago was exactly the opposite of what I observed just now. The videos have URLs of the form http://organization.org/view.html?file=date.flv&title=url-escaped-text&speaker=url-escaped-name. 4 hours ago, all but the latest failed to load the video from that URL β€” <= 1-second loading spinner, then black, but played perfectly if I removed the &title=...&speaker=... parameters from the URL. The most recent one (which is why I was asked to look at this) played fine with or without the parameters, but the player insisted the video duration was 00:00, had no seek cursor, and if paused, it restarted from 0. Now, all the older videos behave properly with or without the parameters, but the newest one refuses to load at all.

    The last email I got suggested that the guy who may know what's going on may have come back from vacation this afternoon. He may have done something, but if he did, he's not really an IT guy, either.

    jwplayer.js, BTW, is 129k of minified JS. Even if I could somehow unminify it, I don't think it would help me much in figuring out WTF is going on.

  • Do you care about fixing it, or do you just care about being able to watch the video? If the latter, can't you just download it locally and try to use something that plays FLVs?

  • It's Flash-based.

  • @Maciejasjmj said:

    Do you care about fixing it, or do you just care about being able to watch the video?

    Fixing it. I got an email saying, more or less, "Video people, this is borked. $guyWhoMaybeCanFixIt is out today. Any ideas?"

    I can't fix it, but if there is any information I can provide to help somebody who does have access to fix it, I'd like to do that. However, $guyWhoMaybeCanFixIt is going to be back soon, if not already, so unless anybody has some specific suggestions, it may be πŸ„ . OTOH, $guyWhoMaybeCanFixIt is also $guyWhoMaybeDoesNotKnowHowToFixIt, so I would still appreciate anybody who has knowledge of this JS+Flash thing making suggestions.

    undefined Why did πŸ„ not get imagified up there?

  • @marczellm said:

    It's Flash-based.

    We found the undefined

  • Well, yeah, but as I said in the OP, solutions like "use a different player" or "use a different video format" are beyond my power to implement; I can merely suggest. Even if I were to suggest it, changing the format of the existing videos on the site is not likely to be implemented.

  • I had to deal with JWPlayer back in like 2009. Given the pace the web moves at, I'm surprised it hasn't broken before now-- it's all Flash-based, and it uses that JS -> ActionScript communication function which, frankly, it wouldn't surprise me if Flash doesn't even support that anymore. (Even in 2009 if was iffy.)

    Anyway, I have no current knowledge of the product. I wager it's been completely superseded by something-or-other, though.

  • It appears it is being actively maintained. I think version 6 came out somewhat recently (I didn't look at the release date or notes or anything), although this organization is still using 5.7.

  • If version 6 works on their demo site for the browsers yours doesn't work for, then the obvious thing to do would be to try upgrading the script.

  • Yeah, I just emailed them with the suggestion. However, it's not quite as simple as works vs. doesn't work. There that unexplained some-work-and-some-don't thing in Chrome, as well as the sudden ones-that-were-borked-work-now-and-vice-versa.

  • Ok?

    Well take the obvious step first, then re-test.

  • We used the thing on a site a few years ago. What you describe sounds eerily familiar, though I might be confusing it with some other JS project. Things I've found working in concert to produce failures are

    1. relying on id-attributes to connect to site elements (you pass a few ID to the loader function)
    2. epxecting one element to be contained in another
    3. swallowing all errors

    Often you have duplicate ID on the page, which leads to the loader trying to hook onto elements which are not where it expects them to be in the DOM, then failing but never telling anybody because that would be rude.

    In your case maybe the inclusion of additional parameters adds elements with duplicate ID to the DOM.

  • I did take the only step I can take, which is suggesting that the person who can take an actual step do so. When and if he does so, I can help with retesting.

    I was hoping there would be someone here with JW Player experience who could make specific suggestions. So far, you are the only one to step forward with any experience at all, but by your own admission it's out of date. Your suggestion of update to latest is certainly valid, and I appreciate it, but I was also hoping somebody might recognize the problem and say, "change configuration setting X," or "your videos are missing metadata Y," or something like that.

    @gleemonk said:

    What you describe sounds eerily familiar

    This is the kind of response I was looking for.

    @gleemonk said:

    maybe the inclusion of additional parameters adds elements with duplicate ID to the DOM.
    I'm not seeing any. In particular, I don't see any difference between the DOM for the video pages that play correctly and the ones that don't. In Chrome, that is.

    In IE, the JS function that should replace the placeholder div with the player instance is being called, but it is not updating the DOM. Console says: No suitable players found. The JS function is returning something that should be the player, but apparently that error is being thrown somewhere down in the guts of the JS. (Nothing at all in the Chrome console, but as of this morning everything is playing more-or-less correctly, except for the borked video length and inability to jump within the video on the most recent.)

  • @HardwareGeek said:

    In particular, I don't see any difference between the DOM for the video pages that play correctly and the ones that don't. In Chrome, that is.

    Then a timing issue might explain why it sometimes works. Try turning your cache off and see whether it gets more deterministic that way πŸ˜„

    @HardwareGeek said:

    Console says: No suitable players found.

    Ah, it tries detecting which backend to use (flash or html5). I had endless 'fun' with that a few years ago. You can list somewhere which backends you want it to try and in what order. It even had a sliverlight backend I recall. I think I stuck with flash or just download as an alternative because everything else would lead to breakage in some combination of browser and video format. Maybe one of those components is flaky? So depending on the time of day your browser gets the broken or unbroken version?

  • IE doesn't work at all, ever (although ever means since yesterday, since I don't think I had ever had reason to try it on this site before then). However, I think I found the problem for IE. I don't seem to have any sort of Flash plug-in installed for it. Therefore, either I'm TRWTF or I'm Doing It Rightβ„’. Not having Flash installed is arguably right in general, but it does make it rather pointless using IE to test this. However, it does seem like the player ought to say, "You need Flash to play this video," rather than just failing silently. If it took me an entire day to figure that out, the average user doesn't stand a chance of ever figuring it out.

  • Discourse touched me in a no-no place

    @HardwareGeek said:

    Why did πŸ„ not get imagified up there?

    Submit a bug rep---.

    Too soon?

  • @FrostCat said:

    Submit a bug rep---.

    I haven't been banned, but only because I never created an account in the first place. I don't intend to create one now. Besides, I don't have any repro or other details to submit a good bug report. Also lazy.


    @HardwareGeek said:

    Besides, I don't have any repro or other details to submit a good bug report.

    It's ok. They aren't good at fixing bugs either.

  • @Onyx said:

    They aren't good at fixing bugs either.

    Really? I'm so disappointed.

  • So when will I be able to see the damn porn again? Not seeing much in the way of user takeaway so far.

Log in to reply

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.