mirror of
https://github.com/danbulant/discord.js
synced 2026-07-08 12:40:50 +00:00
handle ffmpeg/avconv not found (#501)
This commit is contained in:
parent
420e8527c2
commit
0a648e80c9
2 changed files with 38 additions and 8 deletions
|
|
@ -78,7 +78,7 @@ var AudioEncoder = (function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "help";
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
AudioEncoder.prototype.encodeStream = function encodeStream(stream, options) {
|
AudioEncoder.prototype.encodeStream = function encodeStream(stream, options) {
|
||||||
|
|
@ -87,7 +87,12 @@ var AudioEncoder = (function () {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
_this.volume = new _VolumeTransformer2["default"](options.volume);
|
_this.volume = new _VolumeTransformer2["default"](options.volume);
|
||||||
|
|
||||||
var enc = _child_process2["default"].spawn(_this.getCommand(), ['-i', '-', '-f', 's16le', '-ar', '48000', '-ss', options.seek || 0, '-ac', 2, 'pipe:1']);
|
var command = _this.getCommand();
|
||||||
|
|
||||||
|
// check if avconv or ffmpeg were found.
|
||||||
|
if (!command) return reject(new Error('FFMPEG not found. Make sure it is installed and in path.'));
|
||||||
|
|
||||||
|
var enc = _child_process2["default"].spawn(command, ['-i', '-', '-f', 's16le', '-ar', '48000', '-ss', options.seek || 0, '-ac', 2, 'pipe:1']);
|
||||||
|
|
||||||
var dest = stream.pipe(enc.stdin);
|
var dest = stream.pipe(enc.stdin);
|
||||||
|
|
||||||
|
|
@ -108,7 +113,12 @@ var AudioEncoder = (function () {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
_this2.volume = new _VolumeTransformer2["default"](options.volume);
|
_this2.volume = new _VolumeTransformer2["default"](options.volume);
|
||||||
|
|
||||||
var enc = _child_process2["default"].spawn(_this2.getCommand(), ['-i', file, '-f', 's16le', '-ar', '48000', '-ss', options.seek || 0, '-ac', 2, 'pipe:1']);
|
var command = _this2.getCommand();
|
||||||
|
|
||||||
|
// check if avconv or ffmpeg were found.
|
||||||
|
if (!command) return reject(new Error('FFMPEG not found. Make sure it is installed and in path.'));
|
||||||
|
|
||||||
|
var enc = _child_process2["default"].spawn(command, ['-i', file, '-f', 's16le', '-ar', '48000', '-ss', options.seek || 0, '-ac', 2, 'pipe:1']);
|
||||||
|
|
||||||
_this2.hookEncodingProcess(resolve, reject, enc);
|
_this2.hookEncodingProcess(resolve, reject, enc);
|
||||||
});
|
});
|
||||||
|
|
@ -120,9 +130,14 @@ var AudioEncoder = (function () {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
_this3.volume = new _VolumeTransformer2["default"](volume);
|
_this3.volume = new _VolumeTransformer2["default"](volume);
|
||||||
|
|
||||||
|
var command = _this3.getCommand();
|
||||||
|
|
||||||
|
// check if avconv or ffmpeg were found.
|
||||||
|
if (!command) return reject(new Error('FFMPEG not found. Make sure it is installed and in path.'));
|
||||||
|
|
||||||
// add options discord.js needs
|
// add options discord.js needs
|
||||||
var options = ffmpegOptions.concat(['-f', 's16le', '-ar', '48000', '-ac', 2, 'pipe:1']);
|
var options = ffmpegOptions.concat(['-f', 's16le', '-ar', '48000', '-ac', 2, 'pipe:1']);
|
||||||
var enc = _child_process2["default"].spawn(_this3.getCommand(), options);
|
var enc = _child_process2["default"].spawn(command, options);
|
||||||
|
|
||||||
_this3.hookEncodingProcess(resolve, reject, enc);
|
_this3.hookEncodingProcess(resolve, reject, enc);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -55,14 +55,19 @@ export default class AudioEncoder {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "help";
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
encodeStream(stream, options) {
|
encodeStream(stream, options) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this.volume = new VolumeTransformer(options.volume);
|
this.volume = new VolumeTransformer(options.volume);
|
||||||
|
|
||||||
var enc = cpoc.spawn(this.getCommand(), [
|
var command = this.getCommand();
|
||||||
|
|
||||||
|
// check if avconv or ffmpeg were found.
|
||||||
|
if (!command) return reject(new Error('FFMPEG not found. Make sure it is installed and in path.'));
|
||||||
|
|
||||||
|
var enc = cpoc.spawn(command, [
|
||||||
'-i', '-',
|
'-i', '-',
|
||||||
'-f', 's16le',
|
'-f', 's16le',
|
||||||
'-ar', '48000',
|
'-ar', '48000',
|
||||||
|
|
@ -84,7 +89,12 @@ export default class AudioEncoder {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this.volume = new VolumeTransformer(options.volume);
|
this.volume = new VolumeTransformer(options.volume);
|
||||||
|
|
||||||
var enc = cpoc.spawn(this.getCommand(), [
|
var command = this.getCommand();
|
||||||
|
|
||||||
|
// check if avconv or ffmpeg were found.
|
||||||
|
if (!command) return reject(new Error('FFMPEG not found. Make sure it is installed and in path.'));
|
||||||
|
|
||||||
|
var enc = cpoc.spawn(command, [
|
||||||
'-i', file,
|
'-i', file,
|
||||||
'-f', 's16le',
|
'-f', 's16le',
|
||||||
'-ar', '48000',
|
'-ar', '48000',
|
||||||
|
|
@ -101,6 +111,11 @@ export default class AudioEncoder {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this.volume = new VolumeTransformer(volume);
|
this.volume = new VolumeTransformer(volume);
|
||||||
|
|
||||||
|
var command = this.getCommand();
|
||||||
|
|
||||||
|
// check if avconv or ffmpeg were found.
|
||||||
|
if (!command) return reject(new Error('FFMPEG not found. Make sure it is installed and in path.'));
|
||||||
|
|
||||||
// add options discord.js needs
|
// add options discord.js needs
|
||||||
var options = ffmpegOptions.concat([
|
var options = ffmpegOptions.concat([
|
||||||
'-f', 's16le',
|
'-f', 's16le',
|
||||||
|
|
@ -108,7 +123,7 @@ export default class AudioEncoder {
|
||||||
'-ac', 2,
|
'-ac', 2,
|
||||||
'pipe:1'
|
'pipe:1'
|
||||||
]);
|
]);
|
||||||
var enc = cpoc.spawn(this.getCommand(), options);
|
var enc = cpoc.spawn(command, options);
|
||||||
|
|
||||||
this.hookEncodingProcess(resolve, reject, enc);
|
this.hookEncodingProcess(resolve, reject, enc);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue