diff --git a/docs/guides/faq.md b/docs/guides/faq.md new file mode 100644 index 0000000000..7ececdf2f9 --- /dev/null +++ b/docs/guides/faq.md @@ -0,0 +1,179 @@ +# FAQ + +## Q: What is video.js? +video.js is an extendable framework/library around the native video element. It does the following: + * Offers a plugin API so that different types of video can be handed to the native + video element (e.g. HLS, Flash, HTML5 video, etc). + * Unifies the native video api across browsers (polyfilling support for features + if necessary) + * Offers an extendable and themable UI + * Takes care of accessibility for the user (in-progress) + * Has a set of core plugins that offer support for tons of additional video formats. + * [videojs-contrib-hls][hls] + * [videojs-contrib-dash][dash] + * Support for DRM video via a core plugin + * [videojs-contrib-eme][eme] + * Lots of plugins which offer support for all kinds of features. See the [plugin list on videojs.com][plugin-list] + +## Q: How do I install video.js? +Currently video.js can be installed using bower, npm, serving a release file from +a github tag, or even using a CDN hosted version. For information on doing any of those +see the [install guide][install-guide]. + +## Q: Is video.js on bower? +Yes! See the [install guide][install-guide] for more information. + +## Q: What do video.js version numbers mean? +video.js follows [semver][semver] which means that the API should not change +out from under a user unless there is a major version increase. + +## Q: How can I troubleshoot playback issues? +See the [troubleshooting guide][troubleshooting]. If troubleshooting does not +solve your issue, please submit a [pull request or an issue][pr-issue-question]. + +## Q: A video does not play in a specific browser. Why? +See the [troubleshooting guide][troubleshooting]. If troubleshooting does not +solve your issue, please submit a [pull request or an issue][pr-issue-question]. + +## Q: Why does the entire video download before playback? Why does the video load for a long time? +See the [troubleshooting guide][troubleshooting]. If troubleshooting does not +solve your issue, please submit a [pull request or an issue][pr-issue-question]. + +## Q: I see an error thrown that mentions `vdata12345`. What is that? +See the [troubleshooting guide][troubleshooting]. If troubleshooting does not +solve your issue, please submit a [pull request or an issue][pr-issue-question]. + +## Q: I think I found a bug with video.js or I want to add a feature. What should I do? +### if you think that you can fix the issue or add the feature +Submit a pull request to the [video.js repo][vjs-prs]. +Make sure to follow the [contributing guide][contributing-prs] and +the [pull request template][pr-template]. + +### If you don't think you can fix the issue or add the feature +Open an [issue on the video.js repo][vjs-issues]. Make +sure that you follow the [issue template][issue-template] and the +[contributing guide][contributing-issues] so that we can better assist you +with your issue. + +## Q: What is a reduced test case? +A reduced test case is an example of the problem that you are facing in isolation. +Think of it as example page that reproduces the issue in the least amount of possible code. +We have a [starter example][starter-example] for reduced test cases. To learn more +about reduced test cases visit: https://css-tricks.com/reduced-test-cases/ + +## Q: What media formats does video.js support? +This depends on the formats supported by the browser's HTML5 video element, and the playback +techs made available to video.js. For example, video.js 5 includes the Flash tech by default which +enables the playback of FLV video where the Flash plugin is available. For more information +on media formats see the [troubleshooting guide][troubleshooting]. + +## Q: How can I hide the links to my video/subtitles/audio/tracks? +It's impossible to hide the network requests a browser makes and difficult to +sufficiently obfuscate URLs in the source. Techniques such as token authentication may +help but are outside of the scope of video.js. + +For content that must be highly secure [videojs-contrib-eme][eme] adds DRM support. + +## Q: What is a plugin? +A plugin is a group of reusable functionality that can be re-used by others. For instance a plugin could add +a button to video.js that makes the video replay 10 times in a row before it stops playback for good. If such +a plugin existed and was published users could include it on their page to share that functionality. + +## Q: How do I make a plugin for video.js? +See the [plugin guide][plugin-guide] for information on making a plugin for video.js. + + + +## Q: Where can I find a list of video.js plugins? +The official [list of plugins on videojs.com][plugin-list]. + +## Q: How can I get my plugin listed on the website? +Add the 'videojs-plugin' [keyword to your array in package.json][npm-keywords] +and publish your package to npm. If you use the [plugin generator][generator] this will be done automatically for you. See +the [plugins guide][plugin-guide] for more information. + +## Q: Where can I find a list of video.js skins? +See the [video.js github wiki][skins-list]. + +## Q: Does video.js work as an audio only player? +Yes! It can be used to play audio only files in a `