media-stream-library
Version:
Media stream library for Node & the Web.
61 lines (60 loc) • 1.68 kB
TypeScript
import { Sdp } from '../../../utils/protocols/sdp';
import { Box, Container } from './isom';
interface MoofMetadata {
trackId: number;
timestamp: number;
byteLength: number;
}
interface TrackData {
lastTimestamp: number;
baseMediaDecodeTime: number;
defaultFrameDuration: number;
clockrate: number;
bitrate: number;
framerate: number;
cumulativeByteLength: number;
cumulativeDuration: number;
cumulativeFrames: number;
}
/**
* Create boxes for a stream initiated by an sdp object
*
* @class BoxBuilder
*/
export declare class BoxBuilder {
trackIdMap: {
[key: number]: number;
};
sequenceNumber: number;
ntpPresentationTime: number;
trackData: TrackData[];
videoTrackId?: number;
constructor();
trak(settings: any): Container;
/**
* Creates a Moov box from the provided options.
* @method moov
* @param sdp - The session description protocol
* @param date - The creation/modification time of the movie
* @return Moov object
*/
moov(sdp: Sdp, date: any): Container;
/**
* Boxes that carry actual elementary stream fragment metadata + data.
*/
/**
* Creates a moof box from the provided fragment metadata.
* @method moof
* @param metadata - Track ID, timestamp, bytelength
* @return moof Container
*/
moof(metadata: MoofMetadata): Container;
/**
* Creates an mdat box containing the elementary stream data.
* @param data - Elementary stream data
* @return mdat Box
*/
mdat(data: Buffer): Box;
setPresentationTime(trackId: number, ntpTimestamp?: number): void;
}
export {};