Common error messages
This common errors guide provides a reference for common problems associated with embedding and configuring a JW Player setup. Below you will find a list of these common issues, and our proposed solution.
- If you want an in-depth, step-by-step troubleshooting guide, check out this article.
- If you are simply attempting to watch videos in a JW Player and are seeing errors, read this article.
Table Of Contents
Before You Start
Before looking into specific errors, we recommend you try the following simple steps, which may instantly fix your issue:
- Reload the web page. If this doesn't resolve your issue, move on to step 2.
- Clear your browser's cache, then reload the web page. Didn't work? Proceed to step 3.
- Clear your browser's cache and cookies, restart your browser (or reboot your device), then navigate back to the page you were on.
If none of these actions fix your problem, identify the type of issue and read through the appropriate section below. We have sections on:
- The player not showing up on the page at all.
- The player displaying a (bare bone) setup error on page load.
- The player loading, but displaying a media error when starting playback.
- The media playing incorrectly. For example, the audio may sound weird, the video may look stretched or seeking may not work.
More advanced developers should also take a look at their browser console. The browser may display error messages (e.g. around files not found or CORS errors) that are helpful in tracking down the problem.
Player Not Showing
If your player does not appear at all, please check if you:
- Uploaded jwplayer.js and included the <script> tag for loading jwplayer.js in the head of your page.
- Included a container <div> with an id attribute and referred to that id in the jwplayer(id).setup() call.
- Correctly formatted all options in the jwplayer(id).setup() call. We often see issues with commas, brackets or curly braces.
See Embedding the Player for an explanation of the correct embed syntax. Note this is also the only embed syntax JW Player supports. Setups using a <video>, an <embed> tag or SWFObject will not work with JW Player.
The player may be showing on your page, but only display a setup error like this one:
Luckily, the setup error already pinpoints the area in which the issue is present. Here is a list of all possible setup errors:
- Error loading player: Could not load player configuration
- Error loading player: Flash version must be 11.2 or greater
- This means the version of the Flash plugin on your computer is too outdated for JW Player to use. Please visit the Adobe site to update your Flash player. Note this error will not occur if you do not have Flash at all (e.g. on an iPad).
- Error loading player: No media sources found
- This means you either did not specify a media source to play, or your setup block is incorrect. Please see Embedding the Player for info on the file and playlist configuration options. You may also have provided a file that's not supported by JW Player (like .wmv video). See Supported Media Formats for the list of formats the player does support.
- Error loading player: Offline playback not supported
- This means the page with JW Player embedded is not loaded from a webserver. Due to various online-offline security restrictions, such a setup is not supported in the Flash rendering mode. Either upload your page to a webserver or run a local webserver to circumvent this.
Due to JW7's skinning model, if there are any issues loading a referenced skin file, the player will revert to its default core skin, which is largely unstyled. An example of our core skin can be seen below:
If you are indeed seeing a player that appears here, please check and confirm that your skins are referenced and loading properly.
- Error loading playlist: File not found
- This means you have setup an RSS feed using the playlist option of the player, but the RSS feed was not found at the URL you set. See Loading RSS Feeds for more info.
- Error loading playlist: Crossdomain loading denied
- This means the Flash player fails loading your RSS feed from another domain than the one you embedded the player on. It must be explicitly allowed for Flash by setting a crossdomain XML. See Crossdomain File Loading for more info.
- Error loading playlist: Error loading file
- This likely means the HTML5 player fails loading your RSS feed from another domain than the one you embedded the player on. It must be explicitly allowed for HTML5 by setting a CORS header. See Crossdomain File Loading for more info.
- Error loading playlist: Not a valid RSS feed
- JW Player only supports feeds in the Media RSS format. This error means you either load a feed in another format (e.g. XSPF), or there are XML formatting errors in your RSS feed (e.g. the xmlns:media declaration is forgotten).
- Error loading playlist: No playable sources found
- Your playlist was loaded and parsed correctly, but the player could not find any acceptable media sources in your feed. This probably means your playlist did not contain media in one of the 9 Supported Media Formats.
A media error appears after the player is successfully setup, but then fails to play your media. Here is an example:
And here are descriptions of all possible media errors:
- Error loading media: File not found
- This means the URL to your audio/video file could not be found. Please make sure the file is available at the location you provided (did you set relative paths correctly?) and available for loading in the player (are the access rights set correctly?).
Last, check if your webserver sends out the correct mimetype header along with the file. HTML5 browsers are very picky at times, while newer formats (WebM, MP4) may not have an associated mimetype in your webserver.
- Error loading media: File could not be played
- This usually means you are trying to load a file in a nonsupported format in JW Player. A common case is the loading of a .wmv video, or a .mov video that doesn't use the H264 video codec. See Supported Media Formats for the list of formats the player supports.
- Cannot load M3U8: File crossdomain access denied
- Displayed when a player cannot access an HLS manifest due to a missing or misconfigured crossdomain.xml. See our article here for more information.
- The live stream is either down or has ended.
- Displayed when a player cannot access an HLS content due to continued 404 of manifests during a live stream or when the live manifest does not return any new fragments for the player to play.
- You do not have permission to access this content
- This is our message for an HTTP 403 error, which means that accessing the video you were trying to reach is absolutely forbidden for some reason, usually due to your IP or country.
- Error loading YouTube: Video ID is invalid
- This means the YouTube video ID you provided does not have 11 characters, or the video ID contains invalid characters, such as exclamation points or asterisks.
- Error loading YouTube: Video removed or private
- This means the YouTube video has been removed (for any reason), or it has been marked as private by the owner of the video.
- Error loading YouTube: Embedding not allowed
- This means the original owner of this video does not allow playback in embedded players. This is usually for reasons of branding or advertising.
- Error loading YouTube: API connection error
- This error occurs when the player, for some reason, is unable to connect to the YouTube API. It sometimes happens when YouTube is doing maintenance on its API, or the connection is interrupted.
- Error loading stream: Could not connect to server
- This means that your RTMP server could not be reached. Ensure you inserted the right domain and the right application path. Also ensure port 1935 and/or RTMP traffic is not blocked by your proxy or firewall.
- Error loading stream: ID not found on server
- This means the player successfully connected to your RTMP server, but the server failed to return the requested stream. Ensure your stream is indeed available at the correct location and any security mechanism (like Wowza securetoken or Cloudfront signing) is correctly set. If the stream is a live stream, ensure the encoder is connected and streaming video too.
- Error loading stream: Manifest not found or invalid
- This means your RTMP/HLS manifest could not be found or not be parsed. Please make sure it is available at the location you provided (did you set relative paths correctly?), available for loading in the player (are there any crossdomain issues?) and correctly formatted (is it correct SMIL or M3U8 data?)
Both the player and the media may load fine, but a playback issue may be present. Unfortunately, JW Player cannot detect such issues automatically. Here are the most common issues we encounter:
- Video stutters frequently
- It looks like the bitrate of your video is too high for your connection. If your connection is not terrible (i.e. anything above some 500kbps), you should consider re-encoding your videos into a format that is more web friendly. See MP4 Video Encoding for a complete overview.
- Video is stretched or has black bars
- Your video dimensions may not match your player dimensions, or the video may contain incorrect metadata. The first one is easily solved by setting the width and height of your player to match your video aspect ratio. The second one can be fixed by setting the stretching option to correct for the wrong metadata. See Embedding the Player for more info on the stretching option.
- MP3 playback is too fast or too slow
- Your MP3 file likely contains variable bitrate encoding or unsupported sample frequencies (e.g. 48Khz). Please stick to constant bitrate encoding and 11, 22, 33 or 44 kHz.
- MP4 video seeking is not working
- If your MP4 files cannot be seeked before they are completely downloaded, you will have to move your MP4 metadata from the end to the beginning of your MP4 file. Use this little application to do that.
Did you find this article helpful?
Please log in to rate this article.