UNPKG

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
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";