UNPKG

4.17 kBMarkdownView Raw
1# Troubleshooting Guide
2
3## Other troubleshooting guides
4
5For issues around data embedded into media segments (e.g., 608 captions), see the [mux.js troubleshooting guide](https://github.com/videojs/mux.js/blob/master/docs/troubleshooting.md).
6
7## Tools
8
9### Thumbcoil
10
11Thumbcoil is a video inspector tool that can unpackage various media containers and inspect the bitstreams therein. Thumbcoil runs entirely within your browser so that none of your video data is ever transmitted to a server.
12
13http://thumb.co.il<br/>
14http://beta.thumb.co.il<br/>
15https://github.com/videojs/thumbcoil<br/>
16
17## Table of Contents
18- [Content plays on Mac but not on Windows](#content-plays-on-mac-but-not-windows)
19- ["No compatible source was found" on IE11 Win 7](#no-compatible-source-was-found-on-ie11-win-7)
20- [CORS: No Access-Control-Allow-Origin header](#cors-no-access-control-allow-origin-header)
21- [Desktop Safari/iOS Safari/Android Chrome/Edge exhibit different behavior from other browsers](#desktop-safariios-safariandroid-chromeedge-exhibit-different-behavior-from-other-browsers)
22- [MEDIA_ERR_DECODE error on Desktop Safari](#media_err_decode-error-on-desktop-safari)
23- [Network requests are still being made while paused](#network-requests-are-still-being-made-while-paused)
24
25## Content plays on Mac but not Windows
26
27Some browsers may not be able to play audio sample rates higher than 48 kHz. See https://docs.microsoft.com/en-gb/windows/desktop/medfound/aac-decoder#format-constraints
28
29Potential solution: re-encode with a Windows supported audio sample rate
30
31## "No compatible source was found" on IE11 Win 7
32
33videojs-http-streaming does not support Flash HLS playback (like the videojs-contrib-hls plugin does)
34
35Solution: include the FlasHLS source handler https://github.com/brightcove/videojs-flashls-source-handler#usage
36
37## CORS: No Access-Control-Allow-Origin header
38
39If you see an error along the lines of
40
41```
42XMLHttpRequest cannot load ... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ... is therefore not allowed access.
43```
44
45you need to properly configure CORS on your server: https://github.com/videojs/http-streaming#hosting-considerations
46
47## Desktop Safari/iOS Safari/Android Chrome/Edge exhibit different behavior from other browsers
48
49Some browsers support native playback of certain streaming formats. By default, we defer to the native players. However, this means that features specific to videojs-http-streaming will not be available.
50
51On Edge and mobile Chrome, 608 captions, ID3 tags or live streaming may not work as expected with native playback, it is recommended that `overrideNative` be used on those platforms if necessary.
52
53Solution: use videojs-http-streaming based playback on those devices: https://github.com/videojs/http-streaming#overridenative
54
55## MEDIA_ERR_DECODE error on Desktop Safari
56
57This error may occur for a number of reasons, as it is particularly common for misconfigured content. One instance of misconfiguration is if the source manifest has `CLOSED-CAPTIONS=NONE` and an external text track is loaded into the player. Safari does not allow the inclusion any captions if the manifest indicates that captions will not be provided.
58
59Solution: remove `CLOSED-CAPTIONS=NONE` from the manifest
60
61## Network requests are still being made while paused
62
63There are a couple of cases where network requests will still be made by VHS when the video is paused.
64
651) If the forward buffer (buffered content ahead of the playhead) has not reached the GOAL\_BUFFER\_LENGTH. For instance, if the playhead is at time 10 seconds, the buffered range goes from 5 seconds to 20 seconds, and the GOAL\_BUFFER\_LENGTH is set to 30 seconds, then segments will continue to be requested, even while paused, until the buffer ends at a time greater than or equal to 10 seconds (current time) + 30 seconds (GOAL\_BUFFER\_LENGTH) = 40 seconds. This is expected behavior in order to provide a better playback experience.
66
672) If the stream is LIVE, then the manifest will continue to be refreshed even while paused. This is because it is easier to keep playback in sync if we receieve manifest updates consistently.