detect-audio-video
Version:
Detect audio and video features in browser
169 lines (135 loc) • 4.43 kB
Markdown
# detect-audio-video
[](https://www.npmjs.com/package/detect-audio-video)
[](https://www.npmjs.com/package/detect-audio-video)
Detect audio and video features in browser.
## [Demo](https://checkdevice.online/en/video/)
## Install
`npm i --save-dev detect-audio-video`
## Features
### 🖥️ [Screen](https://checkdevice.online/en/screen/)
- Size
- Device pixel ratio
- HDR support
- Wide gamut
- Color spaces
- [Aspect ratio](https://github.com/vvideo/calc-aspect-ratio)
```js
import {
isWideGamutSupported,
isSrgbSupported,
isP3Supported,
isRec2020Supported,
getDevicePixelRatio,
getScreenWidth,
getScreenHeight,
getResolutionBadge,
isHighDynamicRangeSupported,
isHighVideoDynamicRangeSupported,
} from 'detect-audio-video';
console.log('isWideGamutSupported: ', isWideGamutSupported()); // boolean
console.log('isSrgbSupported: ', isSrgbSupported()); // boolean
console.log('isP3Supported: ', isP3Supported()); // boolean
console.log('isRec2020Supported: ', isRec2020Supported()); // boolean
console.log('getDevicePixelRatio: ', getDevicePixelRatio()); // number
// Get screen width with device pixel ratio
console.log('getScreenWidth: ', getScreenWidth()); // number
// Get screen height with device pixel ratio
console.log('getScreenHeight: ', getScreenHeight()); // number
console.log('getResolutionBadge: ', getResolutionBadge()); // string, example: "4K"
console.log('isHighDynamicRangeSupported: ', isHighDynamicRangeSupported()); // boolean
console.log('isHighVideoDynamicRangeSupported: ', isHighVideoDynamicRangeSupported()); // boolean
```
### ⚙️ [GPU](https://checkdevice.online/en/gpu/)
- Vendor
- Renderer
```js
import {
getGpuVendor,
getGpuRenderer,
hasHardwareAcceleration,
isAppleSilicon,
getGpuProblems,
isVirtualMachine,
} from 'detect-audio-video';
const gpuVendor = getGpuVendor();
console.log('gpuVendor: ', gpuVendor); // string, example: "Apple"
const gpuRenderer = getGpuRenderer();
console.log('gpuRenderer: ', gpuRenderer); // string, example: "Apple M1, or similar"
console.log('hasHardwareAcceleration: ', hasHardwareAcceleration()); // boolean
console.log('isAppleSilicon: ', isAppleSilicon()); // boolean
console.log('gpuProblems: ', getGpuProblems()); // null or ['no driver', ...]
console.log('isVirtualMachine: ', isVirtualMachine(gpuRenderer, gpuVendor)); // boolean
```
### 🔒 [DRM](https://checkdevice.online/en/video/#drm)
- Microsoft PlayReady SL150, SL2000, SL3000
- Google Widevine Modular L1, L3
- Apple FairPlay
- Adobe Primetime
- [HDCP](https://github.com/vvideo/hdcp)
### 🏊 Native streaming support
- DASH
- HLS
- MSS
```js
import {
isNativeHlsSupported,
isNativeMpdSupported,
isNativeMssSupported,
} from 'detect-audio-video';
console.log('isNativeMssSupported: ', isNativeMssSupported()); // boolean
console.log('isNativeHlsSupported: ', isNativeHlsSupported()); // boolean
console.log('isNativeMpdSupported: ', isNativeMpdSupported()); // boolean
```
### ⏯ [HTMLVideoElement features](https://checkdevice.online/en/video/#htmlvideoelement-features)
- Media Source Extensions
- Media Source Extensions in Workers
- Encrypted Media Extensions
- Managed Media Source
- Managed Media Source in Workers
- Picture-in-picture
- Cast to AirPlay
- Remote Playback API
### 📹 [Video codecs](https://checkdevice.online/en/video/#video-codecs)
- H.264
- H.265 (HEVC)
- H.266 (VVC)
- Dolby Vision
- EVC
- VP8
- VP9
- AV1
### 🔊 [Audio codecs](https://checkdevice.online/en/audio/)
- AAC
- Opus
- Vorbis
- FLAC
- ALAC
- AC-3 (Dolby Digital)
- EC-3 (Dolby Digital+)
- Dolby Atmos
### 🖼️ [Image formats](https://checkdevice.online/en/video/#image-formats)
- GIF
- PNG
- APNG
- JPEG
- JPEG XL
- HEIF/HEIC
- AVIF
- WEBP
- SVG
- ICO
- BMP
- TIFF
### 🕍 [Platform](https://checkdevice.online/en/platform/)
- Standalone
### ✨ [WebRTC](https://checkdevice.online/en/webrtc/)
- Support
- Audio and video codecs
### 🎮 [Gamepad](https://checkdevice.online/en/gamepad/)
- Parser for gamepad name
## Links
- [Check device online](https://checkdevice.online/en/video/)
- [Calculate aspect ratio](https://github.com/vvideo/calc-aspect-ratio)
- [HDCP](https://github.com/vvideo/hdcp)
## [License](./LICENSE)
MIT