-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
99 lines (88 loc) · 2.29 KB
/
server.js
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
const { NodeMediaServer } = require('node-media-server');
const config = {
rtmp: {
port: 1935,
chunk_size: 60000,
gop_cache: true,
ping: 60,
ping_timeout: 30
},
http: {
port: 3000,
allow_origin: '*'
},trans: {
ffmpeg: '/usr/local/bin/ffmpeg',
tasks: [
{
app: 'live',
mp4: true,
mp4Flags: '[movflags=faststart]'
}
]
}
};
var nms = new NodeMediaServer(config);
nms.run();
nms.on('getFilePath', (streamPath, oupath, mp4Filename) => {
console.log('---------------- get file path ---------------');
console.log(streamPath);
console.log(oupath);
console.log(mp4Filename);
utils.setMp4FilePath(oupath + '/' + mp4Filename);
});
nms.on('preConnect', (id, args) => {
console.log(
'[NodeEvent on preConnect]',
`id=${id} args=${JSON.stringify(args)}`
);
});
nms.on('postConnect', (id, args) => {
console.log(
'[NodeEvent on postConnect]',
`id=${id} args=${JSON.stringify(args)}`
);
});
nms.on('doneConnect', (id, args) => {
console.log(
'[NodeEvent on doneConnect]',
`id=${id} args=${JSON.stringify(args)}`
);
});
nms.on('prePublish', (id, StreamPath, args) => {
console.log(
'[NodeEvent on prePublish]',
`id=${id} StreamPath=${StreamPath} args=${JSON.stringify(args)}`
);
// let session = nms.getSession(id);
// session.reject();
});
nms.on('postPublish', (id, StreamPath, args) => {
console.log(
'[NodeEvent on postPublish]',
`id=${id} StreamPath=${StreamPath} args=${JSON.stringify(args)}`
);
});
nms.on('donePublish', (id, StreamPath, args) => {
console.log(
'[NodeEvent on donePublish]',
`id=${id} StreamPath=${StreamPath} args=${JSON.stringify(args)}`
);
});
nms.on('prePlay', (id, StreamPath, args) => {
console.log(
'[NodeEvent on prePlay]',
`id=${id} StreamPath=${StreamPath} args=${JSON.stringify(args)}`
);
});
nms.on('postPlay', (id, StreamPath, args) => {
console.log(
'[NodeEvent on postPlay]',
`id=${id} StreamPath=${StreamPath} args=${JSON.stringify(args)}`
);
});
nms.on('donePlay', (id, StreamPath, args) => {
console.log(
'[NodeEvent on donePlay]',
`id=${id} StreamPath=${StreamPath} args=${JSON.stringify(args)}`
);
});