-
Notifications
You must be signed in to change notification settings - Fork 10
/
MuxingInformationVideoTrack.ts
127 lines (110 loc) · 2.74 KB
/
MuxingInformationVideoTrack.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import {map, mapArray} from '../common/Mapper';
/**
* @export
* @class MuxingInformationVideoTrack
*/
export class MuxingInformationVideoTrack {
/**
* The stream index in the container
* @type {number}
* @memberof MuxingInformationVideoTrack
*/
public index?: number;
/**
* The codec used for the track
* @type {string}
* @memberof MuxingInformationVideoTrack
*/
public codec?: string;
/**
* The codec string of the track
* @type {string}
* @memberof MuxingInformationVideoTrack
*/
public codecIso?: string;
/**
* The bitrate of the video track
* @type {number}
* @memberof MuxingInformationVideoTrack
*/
public bitRate?: number;
/**
* @type {number}
* @memberof MuxingInformationVideoTrack
*/
public rate?: number;
/**
* The pixel format used
* @type {string}
* @memberof MuxingInformationVideoTrack
*/
public pixelFormat?: string;
/**
* The frame mode (e.g. progressive)
* @type {string}
* @memberof MuxingInformationVideoTrack
*/
public frameMode?: string;
/**
* The width of the frame in pixel
* @type {number}
* @memberof MuxingInformationVideoTrack
*/
public frameWidth?: number;
/**
* The height of the frame in pixel
* @type {number}
* @memberof MuxingInformationVideoTrack
*/
public frameHeight?: number;
/**
* The frame rate of the stream in fractional format
* @type {string}
* @memberof MuxingInformationVideoTrack
*/
public frameRate?: string;
/**
* The start time in seconds
* @type {number}
* @memberof MuxingInformationVideoTrack
*/
public startTime?: number;
/**
* The duration in seconds
* @type {number}
* @memberof MuxingInformationVideoTrack
*/
public duration?: number;
/**
* The number of frames of that video track
* @type {number}
* @memberof MuxingInformationVideoTrack
*/
public numberOfFrames?: number;
/**
* The aspect ratio of the stream
* @type {string}
* @memberof MuxingInformationVideoTrack
*/
public aspectRatio?: string;
constructor(obj?: Partial<MuxingInformationVideoTrack>) {
if(!obj) {
return;
}
this.index = map(obj.index);
this.codec = map(obj.codec);
this.codecIso = map(obj.codecIso);
this.bitRate = map(obj.bitRate);
this.rate = map(obj.rate);
this.pixelFormat = map(obj.pixelFormat);
this.frameMode = map(obj.frameMode);
this.frameWidth = map(obj.frameWidth);
this.frameHeight = map(obj.frameHeight);
this.frameRate = map(obj.frameRate);
this.startTime = map(obj.startTime);
this.duration = map(obj.duration);
this.numberOfFrames = map(obj.numberOfFrames);
this.aspectRatio = map(obj.aspectRatio);
}
}
export default MuxingInformationVideoTrack;