Embed FLV video files on a website and play them in modern browsers without Flash.
Build a live streaming player that receives FLV streams over HTTP or WebSocket connections.
Migrate a legacy video platform from Flash to modern web standards while keeping existing FLV content.
Add video playback to a web app that receives H.264 video and AAC/MP3 audio in FLV format.
flv.js is a JavaScript library from Bilibili (a Chinese video platform) that lets web browsers play FLV video files without requiring Adobe Flash. FLV (Flash Video) was a popular video format in the mid-2000s, but modern browsers dropped Flash support. This library bridges that gap. It works by reading an FLV video stream and converting it on the fly into a format (Fragmented MP4) that modern browsers can play natively using an HTML5 video element. This conversion happens entirely in the browser using a standard browser API called Media Source Extensions. Beyond playing recorded FLV files, it also supports low-latency live streaming over HTTP or WebSocket connections, which made it particularly useful for live streaming platforms. It handles video encoded with H.264 and audio encoded with AAC or MP3. You would use flv.js when you need to embed FLV videos or FLV live streams in a web page without Flash, or when working with a platform that still stores or serves content in FLV format. Note that the project is no longer actively maintained; the authors recommend its successor mpegts.js for new live-streaming use cases. The library is written in JavaScript and installable via npm.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.