Frequently Asked Questions

Find answers to common questions about VideoIntel.js

General Questions

What is VideoIntel.js?

VideoIntel.js is a browser-based video analysis library that provides smart thumbnail generation, scene detection, color extraction, and metadata extraction capabilities. All processing happens directly in the browser, ensuring privacy and eliminating server costs.

Is VideoIntel.js free to use?

Yes! VideoIntel.js is open-source and released under the MIT license. You can use it freely in both personal and commercial projects.

Does it require a backend server?

No. All video processing happens entirely in the browser using JavaScript. Your videos never leave the user's device, which ensures privacy and reduces infrastructure costs.

What video formats are supported?

VideoIntel.js supports all video formats that are natively supported by the browser's HTML5 video element. This typically includes:

  • MP4 (H.264)
  • WebM (VP8, VP9)
  • Ogg (Theora)

Support varies by browser. MP4 with H.264 encoding has the widest compatibility.

Performance

How long does video analysis take?

Performance depends on several factors:

  • Video length and resolution
  • Number of features enabled
  • Device hardware (CPU, RAM)
  • Browser performance

As a rough guide, a 10-second 1080p video typically takes 3-5 seconds to analyze with all features enabled on a modern laptop.

Can I analyze multiple videos simultaneously?

While technically possible, it's recommended to process videos sequentially to avoid memory issues and ensure optimal performance. Use a queue system for batch processing:

for (const video of videos) {
  await videoIntel.analyze(video);
  // Small delay to prevent memory buildup
  await new Promise(resolve => setTimeout(resolve, 100));
}

How can I improve performance?

Several strategies can help:

  • Reduce the number of thumbnails requested (fewer = faster)
  • Lower the quality setting for thumbnails
  • Enable only the features you need
  • Use the analyze() method for multiple features instead of calling each separately
  • Consider downscaling videos before analysis if you don't need full resolution

What's the maximum video size?

There's no hard limit imposed by VideoIntel.js, but practical limits depend on:

  • Available browser memory (typically 1-2GB per tab)
  • Video resolution and codec efficiency
  • Device capabilities

For web applications, we recommend limiting uploads to 100-200MB for the best user experience.

Browser Compatibility

Which browsers are supported?

VideoIntel.js works in all modern browsers:

  • Chrome/Edge: Version 90+
  • Firefox: Version 88+
  • Safari: Version 14+
  • Opera: Version 76+

Does it work on mobile devices?

Yes! VideoIntel.js works on mobile browsers, but performance will be slower due to limited device resources. For mobile apps, consider:

  • Reducing analysis complexity (fewer thumbnails, lower quality)
  • Showing progress indicators for user feedback
  • Adding file size limits (e.g., 50MB max)

Is Internet Explorer supported?

No. VideoIntel.js requires modern JavaScript features (ES6+) and Web APIs that aren't available in Internet Explorer. Please use a modern browser.

Troubleshooting

I'm getting "Out of memory" errors

This typically happens with large videos or when processing multiple videos. Try:

  • Calling dispose() after each analysis to free resources
  • Reducing thumbnail count and quality
  • Processing videos sequentially instead of in parallel
  • Implementing file size limits in your app

Video analysis is stuck or taking too long

Check the following:

  • Is the video file corrupted or in an unsupported format?
  • Is the browser tab active? Some browsers throttle background tabs
  • Are other CPU-intensive tasks running?
  • Try reducing the analysis complexity (fewer features, lower quality)

Thumbnails are blurry or low quality

This could be due to:

  • Low quality setting - try increasing the quality parameter (0-1)
  • Source video quality - analysis can't improve poor source material
  • Resize settings - make sure width/height match your display size

Scene detection is missing some scenes

Try adjusting the threshold:

  • Lower threshold (0-20): More sensitive, detects more scenes (may include false positives)
  • Medium threshold (20-40): Balanced (recommended)
  • Higher threshold (40-100): Less sensitive, only detects major scene changes

How do I report a bug?

Please open an issue on our GitHub repository with:

  • Clear description of the issue
  • Steps to reproduce
  • Browser and version
  • Sample video (if possible)
  • Console error messages

Can't find your answer?

Check out the API Reference, Guides, or open a discussion on GitHub.