sp-streams
Version:
Streamplace Streams for Piping Video Around and Stuff
46 lines (32 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (_ref) {
var rtmpUrl = _ref.rtmpUrl;
var socketIngress = new _socketIngressStream2.default();
var mpegMunger = new _mpegMungerStream2.default();
var instance = (0, _ffmpeg2.default)().input(rtmpUrl).inputFormat("live_flv").inputOptions(["-probesize 60000000", "-analyzeduration 10000000"]).outputOptions(["-bsf:v h264_mp4toannexb", "-copyts", "-start_at_zero"]).videoCodec("copy").audioCodec("copy").outputFormat("mpegts")
// Video out
.output("unix://" + socketIngress.path);
instance.run();
socketIngress.pipe(mpegMunger);
mpegMunger.notifyPTS = function (pts) {
mpegMunger.currentPTS = pts;
};
mpegMunger.on("end", function () {
instance.kill();
socketIngress.destroy();
});
return mpegMunger;
};
var _socketIngressStream = require("./socket-ingress-stream");
var _socketIngressStream2 = _interopRequireDefault(_socketIngressStream);
var _mpegMungerStream = require("./mpeg-munger-stream");
var _mpegMungerStream2 = _interopRequireDefault(_mpegMungerStream);
var _debug = require("debug");
var _debug2 = _interopRequireDefault(_debug);
var _ffmpeg = require("./ffmpeg");
var _ffmpeg2 = _interopRequireDefault(_ffmpeg);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var log = (0, _debug2.default)("sp:rtmp-input-stream");