summaryrefslogtreecommitdiff
path: root/ffmpegServer.js
diff options
context:
space:
mode:
Diffstat (limited to 'ffmpegServer.js')
-rw-r--r--ffmpegServer.js16
1 files changed, 9 insertions, 7 deletions
diff --git a/ffmpegServer.js b/ffmpegServer.js
index ef8c3a6..c4acb1b 100644
--- a/ffmpegServer.js
+++ b/ffmpegServer.js
@@ -36,22 +36,22 @@ wss.on('connection', function connection(ws, req) {
// FFmpeg will read input video from STDIN
'-i', '-',
- // Chromium doesn't support H.264, set the video codec to 'libx264'
- // or similar to transcode it to H.264 here on the server.
- '-vcodec', 'libx264',
+ // If we're encoding H.264 in-browser, we can set the video codec to 'copy'
+ // so that we don't waste any CPU and quality with unnecessary transcoding.
+ '-vcodec', 'copy',
//No browser currently supports encoding AAC, so we must transcode the audio to AAC here on the server.
'-acodec', 'aac',
- // FLV is the container format used in conjunction with RTMP
- '-f', 'flv',
-
'-max_muxing_queue_size', '99999',
'-preset', 'veryfast',
//'-vf', 'mpdecimate', '-vsync', 'vfr',
//'-vf', 'mpdecimate,setpts=N/FRAME_RATE/TB',
-
+
+ // FLV is the container format used in conjunction with RTMP
+ '-f', 'flv',
+
// The output RTMP URL.
// For debugging, you could set this to a filename like 'test.flv', and play
// the resulting file with VLC.
@@ -61,6 +61,8 @@ wss.on('connection', function connection(ws, req) {
// If FFmpeg stops for any reason, close the WebSocket connection.
ffmpeg.on('close', (code, signal) => {
console.log('FFmpeg child process closed, code ' + code + ', signal ' + signal);
+ //console.log("reconnecting...")
+ ws.send("ffmpegClosed")
ws.terminate();
});