flv-muxer
v0.0.14
Published
English | [中文](./README_CN.md)
Downloads
77
Readme
FlvMuxer
English | 中文
flv-muxer.js is a pure TypeScript FLV multiplexer that enables native FLV streaming and recording on the Web platform.
Use Cases
- Transmit
FLVstreams to a media server viaWebTransportorWebSocketfor web-based live streaming - Overcome the limitation of the
MediaRecorderAPI, which does not supportFLVformat recording
Installation
NPM
npm install flv-muxerCDN
<script src="https://cdn.jsdelivr.net/npm/flv-muxer@latest/dist/flv-muxer.iife.js"></script>API
FlvMuxer
FlvMuxer is a class for creating an FLV multiplexer instance, providing stream processing capabilities.
Constructor
const muxer = new FlvMuxer(
writable: WritableStream,
options: {
mode: "record" | "live";
chunked: boolean; // Whether to transmit in chunks
}
);Methods
configureAudio(): Configures the audio encoderflvMuxer.configureAudio({ encoderConfig: AudioEncoderConfig; }); // Example flvMuxer.configureAudio({ encoderConfig: { codec: "mp4a.40.29", sampleRate: 44100, numberOfChannels: 2, }, });Audio encoder configuration: AudioEncoderConfig.
configureVideo(): Configures the video encodermuxer.configureVideo({ encoderConfig: VideoEncoderConfig; keyframeInterval: number, // Keyframe interval in frames }); // Example flvMuxer.configureVideo({ encoderConfig: { codec: "avc1.640034", width: 2560, height: 1440, framerate: 30, }, keyframeInterval: 90, });video encoder configuration: VideoEncoderConfig.
start(): Starts the multiplexer to receive and process datapause(): Pauses the multiplexer, temporarily stopping data processingresume(): Resumes the multiplexer, continuing data processingstop(): Stops the multiplexer, terminating data processing
Properties
state: Returns the current state of the multiplexer. Possible values are"recording","paused", or"inactive".
