pr-player 0.0.9 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PrFetch.d.ts +28 -0
- package/dist/PrPlayer.d.ts +23 -20
- package/dist/PrResolves.d.ts +19 -0
- package/dist/cacher/Cacher.d.ts +18 -0
- package/dist/decoder/Decoder.d.ts +4 -4
- package/dist/demuxer/264Parser.d.ts +26 -0
- package/dist/demuxer/Demuxer.d.ts +27 -10
- package/dist/demuxer/DemuxerWorker.d.ts +2 -2
- package/dist/demuxer/flv264Parser.d.ts +27 -419
- package/dist/demuxer/ts264Parser.d.ts +76 -0
- package/dist/demuxer/type.d.ts +0 -4
- package/dist/index.js +1008 -484
- package/dist/index.umd.cjs +4 -3
- package/dist/render/Render.d.ts +5 -2
- package/dist/render/RenderWorker.d.ts +2 -2
- package/dist/tools.d.ts +9 -0
- package/package.json +2 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
interface PrFetchOption {
|
|
2
|
+
timeout?: number;
|
|
3
|
+
check?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare class PrFetch {
|
|
6
|
+
#private;
|
|
7
|
+
constructor(option?: PrFetchOption);
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param input string | URL | Request
|
|
11
|
+
* @param init RequestInit
|
|
12
|
+
*/
|
|
13
|
+
check: (input: string | URL | Request, init?: RequestInit) => Promise<{
|
|
14
|
+
status: "successed" | "failed" | "error" | "timeout";
|
|
15
|
+
reason: string;
|
|
16
|
+
}>;
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @param input string | URL | Request
|
|
20
|
+
* @param init RequestInit
|
|
21
|
+
*/
|
|
22
|
+
request: (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
|
|
23
|
+
/**
|
|
24
|
+
* stop
|
|
25
|
+
*/
|
|
26
|
+
stop: () => void;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
package/dist/PrPlayer.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { RenderWorker } from './render/RenderWorker';
|
|
2
|
-
import { ScriptTag, AudioTag, VideoTag } from './demuxer/type';
|
|
3
2
|
import { Shader } from './render/type';
|
|
4
3
|
interface On {
|
|
5
4
|
demuxer: {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
info?: (_info: any) => void;
|
|
6
|
+
config?: (_config: any) => void;
|
|
7
|
+
chunk?: (_chunk: any) => void;
|
|
9
8
|
sei?: (_payload: Uint8Array) => void;
|
|
10
9
|
};
|
|
11
10
|
decoder: {
|
|
@@ -19,6 +18,8 @@ interface On {
|
|
|
19
18
|
}
|
|
20
19
|
export declare class PrPlayer {
|
|
21
20
|
private prFetch;
|
|
21
|
+
private prResolves;
|
|
22
|
+
private url;
|
|
22
23
|
private demuxerWorker;
|
|
23
24
|
private decoderWorker;
|
|
24
25
|
private audioPlayer;
|
|
@@ -43,22 +44,6 @@ export declare class PrPlayer {
|
|
|
43
44
|
* 停止
|
|
44
45
|
*/
|
|
45
46
|
stop: () => Promise<void>;
|
|
46
|
-
/**
|
|
47
|
-
* 监听媒体 tag
|
|
48
|
-
*/
|
|
49
|
-
private onTag;
|
|
50
|
-
/**
|
|
51
|
-
* 初始化分离器
|
|
52
|
-
*/
|
|
53
|
-
private initDemuxer;
|
|
54
|
-
/**
|
|
55
|
-
* 初始化解码器
|
|
56
|
-
*/
|
|
57
|
-
private initDecoder;
|
|
58
|
-
/**
|
|
59
|
-
* 初始化渲染器
|
|
60
|
-
*/
|
|
61
|
-
private initRender;
|
|
62
47
|
getCanvas: () => HTMLCanvasElement | undefined;
|
|
63
48
|
getStream: () => MediaStream | undefined;
|
|
64
49
|
setPause: (pause: boolean) => void;
|
|
@@ -71,6 +56,10 @@ export declare class PrPlayer {
|
|
|
71
56
|
* @param state?: boolean
|
|
72
57
|
*/
|
|
73
58
|
setMute: (state?: boolean) => void | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* 是否已准备好
|
|
61
|
+
*/
|
|
62
|
+
isReady: () => Promise<unknown>;
|
|
74
63
|
cut: {
|
|
75
64
|
/**
|
|
76
65
|
* 创建剪切
|
|
@@ -98,5 +87,19 @@ export declare class PrPlayer {
|
|
|
98
87
|
*/
|
|
99
88
|
remove: (key: string) => void;
|
|
100
89
|
};
|
|
90
|
+
/**
|
|
91
|
+
* 初始化解复器
|
|
92
|
+
*/
|
|
93
|
+
private initDemuxer;
|
|
94
|
+
/**
|
|
95
|
+
* 初始化解码器
|
|
96
|
+
*/
|
|
97
|
+
private initDecoder;
|
|
98
|
+
/**
|
|
99
|
+
* 初始化渲染器
|
|
100
|
+
*/
|
|
101
|
+
private initRender;
|
|
102
|
+
private flv;
|
|
103
|
+
private hls;
|
|
101
104
|
}
|
|
102
105
|
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type ResolveInfo = Map<string, {
|
|
2
|
+
resolve: Function;
|
|
3
|
+
timer: number;
|
|
4
|
+
}>;
|
|
5
|
+
export declare class PrResolves {
|
|
6
|
+
resolvesMap: Map<string, ResolveInfo>;
|
|
7
|
+
index: number;
|
|
8
|
+
constructor();
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param eventKey 唯一key
|
|
12
|
+
* @param checkFun 检测函数
|
|
13
|
+
* @param timeout 超时时间 ms
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
add: (eventKey: string, checkFun?: Function, timeout?: number) => Promise<unknown>;
|
|
17
|
+
emit: (eventKey: string) => Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface Chunk {
|
|
2
|
+
kind: 'audio' | 'video';
|
|
3
|
+
type: 'key' | 'delta';
|
|
4
|
+
cts: number | undefined;
|
|
5
|
+
dts: number;
|
|
6
|
+
pts: number | undefined;
|
|
7
|
+
data: Uint8Array;
|
|
8
|
+
nalus?: Uint8Array[];
|
|
9
|
+
}
|
|
10
|
+
export declare class Cacher {
|
|
11
|
+
private pendingPayloads;
|
|
12
|
+
private payload;
|
|
13
|
+
private chunks;
|
|
14
|
+
push: (payload: Uint8Array) => void;
|
|
15
|
+
next: (offset?: number) => false | DataView<ArrayBuffer>;
|
|
16
|
+
pushChunk: (chunk: any) => void;
|
|
17
|
+
destroy: () => void;
|
|
18
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { On } from './type';
|
|
2
2
|
export declare class Decoder {
|
|
3
|
-
private audioDecoderConfig
|
|
4
|
-
private audioDecoder
|
|
5
|
-
private videoDecoderConfig
|
|
6
|
-
private videoDecoder
|
|
3
|
+
private audioDecoderConfig?;
|
|
4
|
+
private audioDecoder?;
|
|
5
|
+
private videoDecoderConfig?;
|
|
6
|
+
private videoDecoder?;
|
|
7
7
|
private hasKeyFrame;
|
|
8
8
|
on: On;
|
|
9
9
|
constructor();
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const createAVCC: (sps: Uint8Array, pps: Uint8Array) => Uint8Array<ArrayBuffer>;
|
|
2
|
+
export declare const naluToAVCC: (nalu: Uint8Array) => Uint8Array;
|
|
3
|
+
export declare const nalusToAVCC: (nalus: Uint8Array[]) => Uint8Array;
|
|
4
|
+
export declare const parseAVCC: (avcc: Uint8Array) => {
|
|
5
|
+
version: number;
|
|
6
|
+
codec: string;
|
|
7
|
+
profile: number;
|
|
8
|
+
compatibility: number;
|
|
9
|
+
level: number;
|
|
10
|
+
lengthSizeMinusOne: number;
|
|
11
|
+
numOfSequenceParameterSets: number;
|
|
12
|
+
sequenceParameterSetLength: number;
|
|
13
|
+
sps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
14
|
+
numOfPictureParameterSets: number;
|
|
15
|
+
pictureParameterSetLength: number;
|
|
16
|
+
pps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
17
|
+
};
|
|
18
|
+
export declare const parseNalu: (nalu: Uint8Array) => {
|
|
19
|
+
size: number;
|
|
20
|
+
header: {
|
|
21
|
+
forbidden_zero_bit: number;
|
|
22
|
+
nal_ref_idc: number;
|
|
23
|
+
nal_unit_type: number;
|
|
24
|
+
};
|
|
25
|
+
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
26
|
+
};
|
|
@@ -1,18 +1,35 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Cacher, Chunk } from '../cacher/Cacher';
|
|
2
|
+
export type Pattern = 'hls' | 'dash' | 'rtmp' | 'flv';
|
|
3
|
+
export interface AudioConfig {
|
|
4
|
+
kind: 'audio';
|
|
5
|
+
codec: string;
|
|
6
|
+
sampleRate: number;
|
|
7
|
+
numberOfChannels: number;
|
|
8
|
+
}
|
|
9
|
+
export interface VideoConfig {
|
|
10
|
+
kind: 'video';
|
|
11
|
+
codec: string;
|
|
12
|
+
sps: Uint8Array;
|
|
13
|
+
pps: Uint8Array;
|
|
14
|
+
description: Uint8Array;
|
|
15
|
+
}
|
|
16
|
+
export interface On {
|
|
17
|
+
debug?: (_debug: unknown) => void;
|
|
18
|
+
info?: (_info: any) => void;
|
|
19
|
+
config?: (_config: AudioConfig | VideoConfig) => void;
|
|
20
|
+
chunk?: (_chunk: Chunk) => void;
|
|
21
|
+
sei?: (_sei: Uint8Array[]) => void;
|
|
22
|
+
}
|
|
2
23
|
export declare class Demuxer {
|
|
3
|
-
private
|
|
4
|
-
|
|
5
|
-
private
|
|
24
|
+
private pattern;
|
|
25
|
+
cacher: Cacher;
|
|
26
|
+
private isParseing;
|
|
6
27
|
private offset;
|
|
7
|
-
private is_parsing;
|
|
8
|
-
private header;
|
|
9
|
-
private tag;
|
|
10
28
|
on: On;
|
|
29
|
+
private parser;
|
|
11
30
|
constructor();
|
|
12
|
-
init: () => void;
|
|
31
|
+
init: (pattern: Pattern) => void;
|
|
13
32
|
push: (payload: Uint8Array) => void;
|
|
14
33
|
destroy: () => void;
|
|
15
34
|
private parse;
|
|
16
|
-
private parseHeader;
|
|
17
|
-
private parseTag;
|
|
18
35
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { On } from './
|
|
1
|
+
import { On, Pattern } from './Demuxer';
|
|
2
2
|
export declare class DemuxerWorker {
|
|
3
3
|
worker: Worker;
|
|
4
4
|
on: On;
|
|
5
5
|
constructor();
|
|
6
|
-
init: () => void;
|
|
6
|
+
init: (pattern: Pattern) => void;
|
|
7
7
|
push: (payload: Uint8Array) => void;
|
|
8
8
|
destroy: () => void;
|
|
9
9
|
}
|
|
@@ -1,419 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export declare
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
video: boolean;
|
|
29
|
-
};
|
|
30
|
-
getDataOffset: (view: DataView) => number;
|
|
31
|
-
};
|
|
32
|
-
export declare const isSurplusTag: (view: DataView, offset: number) => boolean;
|
|
33
|
-
export declare const getPreviousTagSize: (view: DataView, offset: number) => number;
|
|
34
|
-
export declare const getTagType: (view: DataView, offset: number) => "script" | "audio" | "video" | undefined;
|
|
35
|
-
export declare const getDataSize: (view: DataView, offset: number) => number;
|
|
36
|
-
export declare const getTimestamp: (view: DataView, offset: number) => number;
|
|
37
|
-
export declare const getTimestampExtended: (view: DataView, offset: number) => number;
|
|
38
|
-
export declare const getStreamID: (view: DataView, offset: number) => number;
|
|
39
|
-
export declare const parseMetaData: (view: DataView, offset: number) => any;
|
|
40
|
-
export declare const parseAudio: (view: DataView, offset: number, dataSize: number) => {
|
|
41
|
-
soundFormat: number;
|
|
42
|
-
soundRate: number;
|
|
43
|
-
soundSize: number;
|
|
44
|
-
soundType: number;
|
|
45
|
-
accPacketType: number;
|
|
46
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
47
|
-
audioObjectType: number;
|
|
48
|
-
samplingFrequencyIndex: number;
|
|
49
|
-
channelConfiguration: number;
|
|
50
|
-
codec: string;
|
|
51
|
-
sampleRate: number;
|
|
52
|
-
} | {
|
|
53
|
-
soundFormat: number;
|
|
54
|
-
soundRate: number;
|
|
55
|
-
soundSize: number;
|
|
56
|
-
soundType: number;
|
|
57
|
-
accPacketType: number;
|
|
58
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
59
|
-
audioObjectType?: undefined;
|
|
60
|
-
samplingFrequencyIndex?: undefined;
|
|
61
|
-
channelConfiguration?: undefined;
|
|
62
|
-
codec?: undefined;
|
|
63
|
-
sampleRate?: undefined;
|
|
64
|
-
};
|
|
65
|
-
export declare const parseVideo: (view: DataView, offset: number, dataSize: number) => {
|
|
66
|
-
frameType: number;
|
|
67
|
-
codecID: 7;
|
|
68
|
-
avcPacketType: number;
|
|
69
|
-
cts: number;
|
|
70
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
71
|
-
version: number;
|
|
72
|
-
codec: string;
|
|
73
|
-
profile: number;
|
|
74
|
-
compatibility: number;
|
|
75
|
-
level: number;
|
|
76
|
-
lengthSizeMinusOne: number;
|
|
77
|
-
numOfSequenceParameterSets: number;
|
|
78
|
-
sequenceParameterSetLength: number;
|
|
79
|
-
sps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
80
|
-
numOfPictureParameterSets: number;
|
|
81
|
-
pictureParameterSetLength: number;
|
|
82
|
-
pps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
83
|
-
nalus?: undefined;
|
|
84
|
-
} | {
|
|
85
|
-
frameType: number;
|
|
86
|
-
codecID: 7;
|
|
87
|
-
avcPacketType: number;
|
|
88
|
-
cts: number;
|
|
89
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
90
|
-
nalus: Nalu[];
|
|
91
|
-
version?: undefined;
|
|
92
|
-
codec?: undefined;
|
|
93
|
-
profile?: undefined;
|
|
94
|
-
compatibility?: undefined;
|
|
95
|
-
level?: undefined;
|
|
96
|
-
lengthSizeMinusOne?: undefined;
|
|
97
|
-
numOfSequenceParameterSets?: undefined;
|
|
98
|
-
sequenceParameterSetLength?: undefined;
|
|
99
|
-
sps?: undefined;
|
|
100
|
-
numOfPictureParameterSets?: undefined;
|
|
101
|
-
pictureParameterSetLength?: undefined;
|
|
102
|
-
pps?: undefined;
|
|
103
|
-
} | {
|
|
104
|
-
frameType: number;
|
|
105
|
-
codecID: 7;
|
|
106
|
-
avcPacketType: number;
|
|
107
|
-
cts: number;
|
|
108
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
109
|
-
version?: undefined;
|
|
110
|
-
codec?: undefined;
|
|
111
|
-
profile?: undefined;
|
|
112
|
-
compatibility?: undefined;
|
|
113
|
-
level?: undefined;
|
|
114
|
-
lengthSizeMinusOne?: undefined;
|
|
115
|
-
numOfSequenceParameterSets?: undefined;
|
|
116
|
-
sequenceParameterSetLength?: undefined;
|
|
117
|
-
sps?: undefined;
|
|
118
|
-
numOfPictureParameterSets?: undefined;
|
|
119
|
-
pictureParameterSetLength?: undefined;
|
|
120
|
-
pps?: undefined;
|
|
121
|
-
nalus?: undefined;
|
|
122
|
-
};
|
|
123
|
-
export declare const tagHeader: {
|
|
124
|
-
getTagType: (view: DataView, offset: number) => "script" | "audio" | "video" | undefined;
|
|
125
|
-
getDataSize: (view: DataView, offset: number) => number;
|
|
126
|
-
getTimestamp: (view: DataView, offset: number) => number;
|
|
127
|
-
getTimestampExtended: (view: DataView, offset: number) => number;
|
|
128
|
-
getStreamID: (view: DataView, offset: number) => number;
|
|
129
|
-
};
|
|
130
|
-
export declare const tagBody: {
|
|
131
|
-
parseAudio: (view: DataView, offset: number, dataSize: number) => {
|
|
132
|
-
soundFormat: number;
|
|
133
|
-
soundRate: number;
|
|
134
|
-
soundSize: number;
|
|
135
|
-
soundType: number;
|
|
136
|
-
accPacketType: number;
|
|
137
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
138
|
-
audioObjectType: number;
|
|
139
|
-
samplingFrequencyIndex: number;
|
|
140
|
-
channelConfiguration: number;
|
|
141
|
-
codec: string;
|
|
142
|
-
sampleRate: number;
|
|
143
|
-
} | {
|
|
144
|
-
soundFormat: number;
|
|
145
|
-
soundRate: number;
|
|
146
|
-
soundSize: number;
|
|
147
|
-
soundType: number;
|
|
148
|
-
accPacketType: number;
|
|
149
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
150
|
-
audioObjectType?: undefined;
|
|
151
|
-
samplingFrequencyIndex?: undefined;
|
|
152
|
-
channelConfiguration?: undefined;
|
|
153
|
-
codec?: undefined;
|
|
154
|
-
sampleRate?: undefined;
|
|
155
|
-
};
|
|
156
|
-
parseVideo: (view: DataView, offset: number, dataSize: number) => {
|
|
157
|
-
frameType: number;
|
|
158
|
-
codecID: 7;
|
|
159
|
-
avcPacketType: number;
|
|
160
|
-
cts: number;
|
|
161
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
162
|
-
version: number;
|
|
163
|
-
codec: string;
|
|
164
|
-
profile: number;
|
|
165
|
-
compatibility: number;
|
|
166
|
-
level: number;
|
|
167
|
-
lengthSizeMinusOne: number;
|
|
168
|
-
numOfSequenceParameterSets: number;
|
|
169
|
-
sequenceParameterSetLength: number;
|
|
170
|
-
sps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
171
|
-
numOfPictureParameterSets: number;
|
|
172
|
-
pictureParameterSetLength: number;
|
|
173
|
-
pps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
174
|
-
nalus?: undefined;
|
|
175
|
-
} | {
|
|
176
|
-
frameType: number;
|
|
177
|
-
codecID: 7;
|
|
178
|
-
avcPacketType: number;
|
|
179
|
-
cts: number;
|
|
180
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
181
|
-
nalus: Nalu[];
|
|
182
|
-
version?: undefined;
|
|
183
|
-
codec?: undefined;
|
|
184
|
-
profile?: undefined;
|
|
185
|
-
compatibility?: undefined;
|
|
186
|
-
level?: undefined;
|
|
187
|
-
lengthSizeMinusOne?: undefined;
|
|
188
|
-
numOfSequenceParameterSets?: undefined;
|
|
189
|
-
sequenceParameterSetLength?: undefined;
|
|
190
|
-
sps?: undefined;
|
|
191
|
-
numOfPictureParameterSets?: undefined;
|
|
192
|
-
pictureParameterSetLength?: undefined;
|
|
193
|
-
pps?: undefined;
|
|
194
|
-
} | {
|
|
195
|
-
frameType: number;
|
|
196
|
-
codecID: 7;
|
|
197
|
-
avcPacketType: number;
|
|
198
|
-
cts: number;
|
|
199
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
200
|
-
version?: undefined;
|
|
201
|
-
codec?: undefined;
|
|
202
|
-
profile?: undefined;
|
|
203
|
-
compatibility?: undefined;
|
|
204
|
-
level?: undefined;
|
|
205
|
-
lengthSizeMinusOne?: undefined;
|
|
206
|
-
numOfSequenceParameterSets?: undefined;
|
|
207
|
-
sequenceParameterSetLength?: undefined;
|
|
208
|
-
sps?: undefined;
|
|
209
|
-
numOfPictureParameterSets?: undefined;
|
|
210
|
-
pictureParameterSetLength?: undefined;
|
|
211
|
-
pps?: undefined;
|
|
212
|
-
nalus?: undefined;
|
|
213
|
-
};
|
|
214
|
-
parseMetaData: (view: DataView, offset: number) => any;
|
|
215
|
-
};
|
|
216
|
-
export declare const tag: {
|
|
217
|
-
tagHeader: {
|
|
218
|
-
getTagType: (view: DataView, offset: number) => "script" | "audio" | "video" | undefined;
|
|
219
|
-
getDataSize: (view: DataView, offset: number) => number;
|
|
220
|
-
getTimestamp: (view: DataView, offset: number) => number;
|
|
221
|
-
getTimestampExtended: (view: DataView, offset: number) => number;
|
|
222
|
-
getStreamID: (view: DataView, offset: number) => number;
|
|
223
|
-
};
|
|
224
|
-
tagBody: {
|
|
225
|
-
parseAudio: (view: DataView, offset: number, dataSize: number) => {
|
|
226
|
-
soundFormat: number;
|
|
227
|
-
soundRate: number;
|
|
228
|
-
soundSize: number;
|
|
229
|
-
soundType: number;
|
|
230
|
-
accPacketType: number;
|
|
231
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
232
|
-
audioObjectType: number;
|
|
233
|
-
samplingFrequencyIndex: number;
|
|
234
|
-
channelConfiguration: number;
|
|
235
|
-
codec: string;
|
|
236
|
-
sampleRate: number;
|
|
237
|
-
} | {
|
|
238
|
-
soundFormat: number;
|
|
239
|
-
soundRate: number;
|
|
240
|
-
soundSize: number;
|
|
241
|
-
soundType: number;
|
|
242
|
-
accPacketType: number;
|
|
243
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
244
|
-
audioObjectType?: undefined;
|
|
245
|
-
samplingFrequencyIndex?: undefined;
|
|
246
|
-
channelConfiguration?: undefined;
|
|
247
|
-
codec?: undefined;
|
|
248
|
-
sampleRate?: undefined;
|
|
249
|
-
};
|
|
250
|
-
parseVideo: (view: DataView, offset: number, dataSize: number) => {
|
|
251
|
-
frameType: number;
|
|
252
|
-
codecID: 7;
|
|
253
|
-
avcPacketType: number;
|
|
254
|
-
cts: number;
|
|
255
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
256
|
-
version: number;
|
|
257
|
-
codec: string;
|
|
258
|
-
profile: number;
|
|
259
|
-
compatibility: number;
|
|
260
|
-
level: number;
|
|
261
|
-
lengthSizeMinusOne: number;
|
|
262
|
-
numOfSequenceParameterSets: number;
|
|
263
|
-
sequenceParameterSetLength: number;
|
|
264
|
-
sps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
265
|
-
numOfPictureParameterSets: number;
|
|
266
|
-
pictureParameterSetLength: number;
|
|
267
|
-
pps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
268
|
-
nalus?: undefined;
|
|
269
|
-
} | {
|
|
270
|
-
frameType: number;
|
|
271
|
-
codecID: 7;
|
|
272
|
-
avcPacketType: number;
|
|
273
|
-
cts: number;
|
|
274
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
275
|
-
nalus: Nalu[];
|
|
276
|
-
version?: undefined;
|
|
277
|
-
codec?: undefined;
|
|
278
|
-
profile?: undefined;
|
|
279
|
-
compatibility?: undefined;
|
|
280
|
-
level?: undefined;
|
|
281
|
-
lengthSizeMinusOne?: undefined;
|
|
282
|
-
numOfSequenceParameterSets?: undefined;
|
|
283
|
-
sequenceParameterSetLength?: undefined;
|
|
284
|
-
sps?: undefined;
|
|
285
|
-
numOfPictureParameterSets?: undefined;
|
|
286
|
-
pictureParameterSetLength?: undefined;
|
|
287
|
-
pps?: undefined;
|
|
288
|
-
} | {
|
|
289
|
-
frameType: number;
|
|
290
|
-
codecID: 7;
|
|
291
|
-
avcPacketType: number;
|
|
292
|
-
cts: number;
|
|
293
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
294
|
-
version?: undefined;
|
|
295
|
-
codec?: undefined;
|
|
296
|
-
profile?: undefined;
|
|
297
|
-
compatibility?: undefined;
|
|
298
|
-
level?: undefined;
|
|
299
|
-
lengthSizeMinusOne?: undefined;
|
|
300
|
-
numOfSequenceParameterSets?: undefined;
|
|
301
|
-
sequenceParameterSetLength?: undefined;
|
|
302
|
-
sps?: undefined;
|
|
303
|
-
numOfPictureParameterSets?: undefined;
|
|
304
|
-
pictureParameterSetLength?: undefined;
|
|
305
|
-
pps?: undefined;
|
|
306
|
-
nalus?: undefined;
|
|
307
|
-
};
|
|
308
|
-
parseMetaData: (view: DataView, offset: number) => any;
|
|
309
|
-
};
|
|
310
|
-
};
|
|
311
|
-
declare const _default: {
|
|
312
|
-
header: {
|
|
313
|
-
getSignature: (view: DataView) => string;
|
|
314
|
-
getVersion: (view: DataView) => number;
|
|
315
|
-
getFlags: (view: DataView) => {
|
|
316
|
-
audio: boolean;
|
|
317
|
-
video: boolean;
|
|
318
|
-
};
|
|
319
|
-
getDataOffset: (view: DataView) => number;
|
|
320
|
-
};
|
|
321
|
-
getPreviousTagSize: (view: DataView, offset: number) => number;
|
|
322
|
-
isSurplusTag: (view: DataView, offset: number) => boolean;
|
|
323
|
-
tag: {
|
|
324
|
-
tagHeader: {
|
|
325
|
-
getTagType: (view: DataView, offset: number) => "script" | "audio" | "video" | undefined;
|
|
326
|
-
getDataSize: (view: DataView, offset: number) => number;
|
|
327
|
-
getTimestamp: (view: DataView, offset: number) => number;
|
|
328
|
-
getTimestampExtended: (view: DataView, offset: number) => number;
|
|
329
|
-
getStreamID: (view: DataView, offset: number) => number;
|
|
330
|
-
};
|
|
331
|
-
tagBody: {
|
|
332
|
-
parseAudio: (view: DataView, offset: number, dataSize: number) => {
|
|
333
|
-
soundFormat: number;
|
|
334
|
-
soundRate: number;
|
|
335
|
-
soundSize: number;
|
|
336
|
-
soundType: number;
|
|
337
|
-
accPacketType: number;
|
|
338
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
339
|
-
audioObjectType: number;
|
|
340
|
-
samplingFrequencyIndex: number;
|
|
341
|
-
channelConfiguration: number;
|
|
342
|
-
codec: string;
|
|
343
|
-
sampleRate: number;
|
|
344
|
-
} | {
|
|
345
|
-
soundFormat: number;
|
|
346
|
-
soundRate: number;
|
|
347
|
-
soundSize: number;
|
|
348
|
-
soundType: number;
|
|
349
|
-
accPacketType: number;
|
|
350
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
351
|
-
audioObjectType?: undefined;
|
|
352
|
-
samplingFrequencyIndex?: undefined;
|
|
353
|
-
channelConfiguration?: undefined;
|
|
354
|
-
codec?: undefined;
|
|
355
|
-
sampleRate?: undefined;
|
|
356
|
-
};
|
|
357
|
-
parseVideo: (view: DataView, offset: number, dataSize: number) => {
|
|
358
|
-
frameType: number;
|
|
359
|
-
codecID: 7;
|
|
360
|
-
avcPacketType: number;
|
|
361
|
-
cts: number;
|
|
362
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
363
|
-
version: number;
|
|
364
|
-
codec: string;
|
|
365
|
-
profile: number;
|
|
366
|
-
compatibility: number;
|
|
367
|
-
level: number;
|
|
368
|
-
lengthSizeMinusOne: number;
|
|
369
|
-
numOfSequenceParameterSets: number;
|
|
370
|
-
sequenceParameterSetLength: number;
|
|
371
|
-
sps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
372
|
-
numOfPictureParameterSets: number;
|
|
373
|
-
pictureParameterSetLength: number;
|
|
374
|
-
pps: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
375
|
-
nalus?: undefined;
|
|
376
|
-
} | {
|
|
377
|
-
frameType: number;
|
|
378
|
-
codecID: 7;
|
|
379
|
-
avcPacketType: number;
|
|
380
|
-
cts: number;
|
|
381
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
382
|
-
nalus: Nalu[];
|
|
383
|
-
version?: undefined;
|
|
384
|
-
codec?: undefined;
|
|
385
|
-
profile?: undefined;
|
|
386
|
-
compatibility?: undefined;
|
|
387
|
-
level?: undefined;
|
|
388
|
-
lengthSizeMinusOne?: undefined;
|
|
389
|
-
numOfSequenceParameterSets?: undefined;
|
|
390
|
-
sequenceParameterSetLength?: undefined;
|
|
391
|
-
sps?: undefined;
|
|
392
|
-
numOfPictureParameterSets?: undefined;
|
|
393
|
-
pictureParameterSetLength?: undefined;
|
|
394
|
-
pps?: undefined;
|
|
395
|
-
} | {
|
|
396
|
-
frameType: number;
|
|
397
|
-
codecID: 7;
|
|
398
|
-
avcPacketType: number;
|
|
399
|
-
cts: number;
|
|
400
|
-
data: Uint8Array<ArrayBuffer | SharedArrayBuffer>;
|
|
401
|
-
version?: undefined;
|
|
402
|
-
codec?: undefined;
|
|
403
|
-
profile?: undefined;
|
|
404
|
-
compatibility?: undefined;
|
|
405
|
-
level?: undefined;
|
|
406
|
-
lengthSizeMinusOne?: undefined;
|
|
407
|
-
numOfSequenceParameterSets?: undefined;
|
|
408
|
-
sequenceParameterSetLength?: undefined;
|
|
409
|
-
sps?: undefined;
|
|
410
|
-
numOfPictureParameterSets?: undefined;
|
|
411
|
-
pictureParameterSetLength?: undefined;
|
|
412
|
-
pps?: undefined;
|
|
413
|
-
nalus?: undefined;
|
|
414
|
-
};
|
|
415
|
-
parseMetaData: (view: DataView, offset: number) => any;
|
|
416
|
-
};
|
|
417
|
-
};
|
|
418
|
-
};
|
|
419
|
-
export default _default;
|
|
1
|
+
import { Chunk } from '../cacher/Cacher';
|
|
2
|
+
import { AudioConfig, VideoConfig } from './Demuxer';
|
|
3
|
+
export interface On {
|
|
4
|
+
debug?: (_debug: any) => void;
|
|
5
|
+
info?: (_info: any) => void;
|
|
6
|
+
config?: (_config: AudioConfig | VideoConfig) => void;
|
|
7
|
+
chunk?: (_chunk: Chunk) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare class ParseFLV {
|
|
10
|
+
audioConfig?: AudioConfig;
|
|
11
|
+
videoConfig?: VideoConfig;
|
|
12
|
+
header?: any;
|
|
13
|
+
textDecoder: TextDecoder;
|
|
14
|
+
on: On;
|
|
15
|
+
constructor();
|
|
16
|
+
parse: (view: DataView) => Promise<number>;
|
|
17
|
+
private parseHeader;
|
|
18
|
+
private isSurplusTag;
|
|
19
|
+
private parseTagHeader;
|
|
20
|
+
private parseTagBody;
|
|
21
|
+
private parseMetaData;
|
|
22
|
+
private parseAudio;
|
|
23
|
+
private parseVideo;
|
|
24
|
+
private getAmfType;
|
|
25
|
+
private getAMFName;
|
|
26
|
+
private getAMFValue;
|
|
27
|
+
}
|