mpegts-stream
Version:
Multiplex AAC audio samples and H264/AVC video samples into an MPEG2TS stream ready for transport.
96 lines (95 loc) • 3.54 kB
TypeScript
export type MuxType = number;
export namespace MuxType {
let unknown: number;
let segmentType: number;
let h222Type: number;
let dvbType: number;
}
export namespace MpegTsAdaptationFieldType {
let mPayloadOnly: number;
let mAdaptationOnly: number;
let mPayloadAdaptationBoth: number;
}
export class MpegTsMuxer extends Transform {
/**
*
* @param {Record<uint8, number>} lStreamPidMap
* @param {uint16} lPmtPid
* @param {uint16} lPcrPid
* @param {MuxType} lMuxType
*/
constructor(lStreamPidMap: Record<uint8, number>, lPmtPid: uint16, lPcrPid: uint16, lMuxType: MuxType);
/** overload: `createPat(lPmtPid: number, lCc: number): SimpleBuffer<188>`
* @overload
* @param {number} lPmtPid
* @param {number} lCc
* @returns {SimpleBuffer<188>}
* A new `SimpleBuffer` representing a TS Packet.
*/
createPat(lPmtPid: number, lCc: number): SimpleBuffer<188>;
/** overload: `createPat(lPmtPid: number, lCc: number, rSb: SimpleBuffer<number>): SimpleBuffer<number>`
* @overload
* @param {number} lPmtPid
* @param {number} lCc
* @param {SimpleBuffer<number>} rSb
* Pass a `SimpleBuffer` by reference and append the result of this function onto that reference.
* @returns {SimpleBuffer<number>}
* Same `SimpleBuffer` passed into the argument, `rSb`.
*/
createPat(lPmtPid: number, lCc: number, rSb: SimpleBuffer<number>): SimpleBuffer<number>;
/** overload: `createPnt(lStreamPidMap: Record<string,number>, lPmtPid: number, lCc: number): SimpleBuffer<188>`
* @overload
* @param {Record<number,number>} lStreamPidMap
* @param {number} lPmtPid
* @param {number} lCc
* @returns {SimpleBuffer<188>}
* A new `SimpleBuffer` representing a TS Packet.
*/
createPmt(lStreamPidMap: Record<number, number>, lPmtPid: number, lCc: number): SimpleBuffer<188>;
/** overload: `createPnt(lStreamPidMap: Record<string,number>, lPmtPid: number, lCc: number, rSb: SimpleBuffer<number>): SimpleBuffer<number>`
* @overload
* @param {Record<number,number>} lStreamPidMap
* @param {number} lPmtPid
* @param {number} lCc
* @param {SimpleBuffer<number>} rSb
* Pass a `SimpleBuffer` by reference and append the result of this function onto that reference.
* @returns {SimpleBuffer<number>}
* Same `SimpleBuffer` passed into the argument, `rSb`.
*/
createPmt(lStreamPidMap: Record<number, number>, lPmtPid: number, lCc: number, rSb: SimpleBuffer<number>): SimpleBuffer<number>;
/**
*
* @param {EsFrame} rFrame
* @param {SimpleBuffer=} rSb
*/
createPes(rFrame: EsFrame, rSb?: SimpleBuffer<any> | undefined): SimpleBuffer<any>;
/**
* @param {uint64} lPcr
* @param {uint8} lTag
*/
createPcr(lPcr: uint64, lTag: uint8): void;
/**
*
* @param {uint8} lTag
*/
createNull(lTag: uint8): void;
/**
*
* @param {EsFrame} rFrame
* @param {uint8} lTag
* @param {boolean} lRandomAccess
*/
encode(rFrame: EsFrame, lTag: uint8, lRandomAccess: boolean): void;
#private;
}
export type MediaPacket = {
pts: uint64;
type: "audio" | "video";
data: Uint8Array;
};
import { Transform } from "stream";
import { SimpleBuffer } from "./simple-buffer.js";
import { EsFrame } from "./ts.js";
import type { uint64 } from "./simple-buffer.js";
import type { uint8 } from "./simple-buffer.js";
import type { uint16 } from "./simple-buffer.js";