playing stream

This commit is contained in:
hydrabolt
2015-11-08 12:34:59 +00:00
parent a1e92dff5c
commit 30f02e77c4
5 changed files with 171 additions and 26 deletions

View File

@@ -23,16 +23,55 @@ class AudioEncoder{
}
encodeFile(file, callback=function(err, buffer){}){
encodeStream(stream, callback=function(err, buffer){}){
var self = this;
return new Promise((resolve, reject) => {
var enc = cpoc.spawn("ffmpeg" , [
"-i", file,
"-f", "s16le",
"-ar", "48000",
"-ac", "1", // this can be 2 but there's no point, discord makes it mono on playback, wasted bandwidth.
"-af", "volume=1",
"pipe:1"
"pipe:1",
"-i", "-"
]);
stream.pipe(enc.stdin);
enc.stdout.once("readable", function() {
callback(null, {
proc : enc,
stream : enc.stdout,
instream : stream
});
resolve({
proc : enc,
stream : enc.stdout,
instream : stream
});
});
enc.stdout.on("end", function() {
callback("end");
reject("end");
});
enc.stdout.on("close", function() {
callback("close");
reject("close");
});
});
}
encodeFile(file, callback=function(err, buffer){}){
var self = this;
return new Promise((resolve, reject) => {
var enc = cpoc.spawn("ffmpeg" , [
"-f", "s16le",
"-ar", "48000",
"-ac", "1", // this can be 2 but there's no point, discord makes it mono on playback, wasted bandwidth.
"-af", "volume=1",
"pipe:1",
"-i", file
]);
enc.stdout.once("readable", function() {
@@ -45,7 +84,7 @@ class AudioEncoder{
stream : enc.stdout
});
});
enc.stdout.on("end", function() {
callback("end");
reject("end");