Skip to content

Commit c7674a6

Browse files
committed
removing media files
1 parent 78a2106 commit c7674a6

File tree

9 files changed

+36
-31
lines changed

9 files changed

+36
-31
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22
/files_server_side_record/*
33
/node_modules
44
/security/cert.key
5-
/security/cert.pem
5+
/security/cert.pem
6+
*.mp4
7+
*.webm
-1.65 MB
Binary file not shown.
-4.83 MB
Binary file not shown.

public_serverside_record/index.js

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ localVideo.addEventListener("loadedmetadata", function () {
8181
const IS_CALLER = false;
8282

8383
let userMediaStream;
84-
let clientPc;
84+
let pcClient;
8585

8686
function start() {
8787
trace("Requesting local stream");
@@ -132,29 +132,29 @@ function call() {
132132
if (audioTracks.length > 0) {
133133
trace("Using audio device: " + audioTracks[0].label);
134134
}
135-
clientPc = new RTCPeerConnection(ICE_SERVERS_CONFIG);
135+
pcClient = new RTCPeerConnection(ICE_SERVERS_CONFIG);
136136
trace("Created local peer connection object client:");
137137

138-
clientPc.onicecandidate = (event) => {
138+
pcClient.onicecandidate = (event) => {
139139
socket.emit(NEW_PEER_ICE_CANDIDATE, event.candidate);
140140
// trace("ICE candidate:", event.candidate);
141141
};
142142

143143
socket.on(NEW_PEER_ICE_CANDIDATE, (candidate) => {
144144
// trace("receiving new remote Ice Candidate: ");
145-
clientPc
145+
pcClient
146146
.addIceCandidate(candidate)
147147
.then(() => {
148-
// trace("client: new Remote Ice Candidate: ");
148+
trace("client: new Remote Ice Candidate: ", candidate);
149149
})
150150
.catch((e) => {
151151
trace("Error adding new Remote Ice Candidate: ", e);
152152
});
153153
});
154154

155-
clientPc.oniceconnectionstatechange = () => {
156-
clientPc.addEventListener("connectionstatechange", () => {
157-
switch (clientPc.connectionState) {
155+
pcClient.oniceconnectionstatechange = () => {
156+
pcClient.addEventListener("connectionstatechange", () => {
157+
switch (pcClient.connectionState) {
158158
case "connected":
159159
// The connection has become fully connected
160160
trace("[WebRTC] User is fully connected");
@@ -174,7 +174,7 @@ function call() {
174174
});
175175
};
176176

177-
clientPc.addStream(userMediaStream);
177+
pcClient.addStream(userMediaStream);
178178

179179
// 선호 코덱을 가장 위에 배치한 배열을 setCodecPreferences로 넘기는 것.
180180
const { codecs } = RTCRtpSender.getCapabilities("video");
@@ -189,7 +189,7 @@ function call() {
189189
codecs.splice(selectedCodecIndex, 1);
190190
codecs.unshift(selectedCodec);
191191
console.log(codecs);
192-
const transceiver = clientPc
192+
const transceiver = pcClient
193193
.getTransceivers()
194194
.find(
195195
(t) => t.sender && t.sender.track === userMediaStream.getVideoTracks()[0]
@@ -203,7 +203,7 @@ function call() {
203203
// Answer 미리 등록해놓고
204204
socket.on(ANSWER, (desc) => {
205205
trace("received answer");
206-
clientPc
206+
pcClient
207207
.setRemoteDescription(desc)
208208
.then(() => {
209209
trace("client: setRemoteDescription complete");
@@ -217,10 +217,10 @@ function call() {
217217
});
218218
});
219219

220-
clientPc
220+
pcClient
221221
.createOffer()
222222
.then((offerDesc) => {
223-
clientPc.setLocalDescription();
223+
pcClient.setLocalDescription();
224224
trace("setLocalDescription");
225225
return offerDesc;
226226
})
@@ -235,24 +235,24 @@ function call() {
235235
});
236236
} else {
237237
socket.on(OFFER, (offerDesc) => {
238-
trace("received offer");
238+
trace("received offer:", offerDesc.sdp);
239239

240-
clientPc
240+
pcClient
241241
.setRemoteDescription(offerDesc)
242242
.then(() => {
243-
trace("client: setRemoteDescription complete");
244-
return clientPc.createAnswer();
243+
trace("client: setRemoteDescription complete", offerDesc);
244+
return pcClient.createAnswer();
245245
})
246246
.catch((error) => {
247247
trace("Failed to setRemoteDescription: " + error.toString());
248248
})
249249
.then((answerDesc) => {
250-
clientPc.setLocalDescription(answerDesc);
250+
pcClient.setLocalDescription(answerDesc);
251251
return answerDesc;
252252
})
253253
.then((answerDesc) => {
254254
trace("client: setLocalDescription complete");
255-
trace("answer from client");
255+
trace("answer from client", answerDesc);
256256
socket.emit(ANSWER, answerDesc);
257257
trace("Connection Succeeeded!");
258258
})
@@ -268,12 +268,12 @@ function hangup() {
268268
hangupButton.disabled = true;
269269
callButton.disabled = false;
270270
socket.close();
271-
clientPc.close();
272-
clientPc = null;
271+
pcClient.close();
272+
pcClient = null;
273273
}
274274

275275
// logging utility
276-
function trace(arg) {
276+
function trace(...args) {
277277
const now = (window.performance.now() / 1000).toFixed(3);
278-
console.log(now + ": ", arg);
278+
console.log(now + ": ", ...args);
279279
}

server_ffmpeg.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,9 @@ function beforeOffer(peerConnection) {
255255
"copy",
256256
`${VIDEO_OUTPUT_FILE}`,
257257
];
258+
// exec, spawn 둘 다 subprocess로 실행되는 거 같긴 한데 잘 모르겠다.
259+
// 굳이 spawn을 쓰는 이유:
260+
// https://stackoverflow.com/questions/42012342/running-ffmpeg-via-nodejs-error
258261
const mergeProcess = spawn(cmd, args);
259262
mergeProcess.stdout.on("data", (data) => {
260263
console.log(`stdout: ${data}`);

server_ffmpeg_wrapper.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ io.on("connection", async (serverSocket) => {
116116
// Connection이 연결되기도 전에 closed 됐다고 해서 짜증나서 제거함
117117
try {
118118
await pcServer.addIceCandidate(candidate);
119-
// trace("Successfully added Ice Candidate: ", candidate);
119+
trace("Successfully added Ice Candidate: ", candidate);
120120
} catch (error) {
121121
trace("Error while adding an ICE Candidate: ", error.toString());
122122
}
@@ -125,8 +125,10 @@ io.on("connection", async (serverSocket) => {
125125
// 시작점
126126
if (IS_CALLER) {
127127
try {
128-
trace("Creating Offer: ");
129128
const offerDesc = await pcServer.createOffer();
129+
// offerDesc.sdp +=
130+
// "a=candidate:4234997325 1 udp 2043278322 192.168.219.191 5000 typ host\r\n";
131+
trace("Created Offer: ", offerDesc);
130132
await pcServer.setLocalDescription(offerDesc);
131133
serverSocket.emit(OFFER, offerDesc);
132134
} catch (error) {
@@ -135,7 +137,7 @@ io.on("connection", async (serverSocket) => {
135137

136138
serverSocket.on(ANSWER, async (answerDesc) => {
137139
try {
138-
trace("Received Offer: ");
140+
trace("Received Answer: ", answerDesc);
139141
await pcServer.setRemoteDescription(answerDesc);
140142
trace("Connection Succeeeded!");
141143
} catch (error) {

socketIoServer.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const io = new Server(secureServer);
1414

1515
app.use(express.static(process.env.__public_path__));
1616

17+
// 192.168.219.191 로 오픈할 수가 없다.
1718
secureServer.listen(3000, "0.0.0.0", () => {
1819
console.log("listening on *:3000");
1920
});

video_list.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1 @@
1-
file './recording-320x180-2.mp4'
2-
file './recording-480x270-3.mp4'
3-
file './recording-640x360-4.mp4'
4-
file './recording-960x540-5.mp4'
1+
file './recording-360x640-1.mp4'
Binary file not shown.

0 commit comments

Comments
 (0)