Tôi đang sử dụng thư viện fluent-ffmpeg với node.js để chuyển mã video ban đầu ở định dạng phim flash sang định dạng mp3 với nhiều độ phân giải, 1080p, v.v. Sau khi quá trình chuyển mã hoàn tất, Tôi muốn di chuyển video đã chuyển mã sang nhóm s3.Tải lên đầu ra FFmpeg trực tiếp lên Amazon S3
Tôi kéo tệp .flv gốc từ một thùng nguồn s3 và truyền luồng tới hàm hàm tạo ffmpeg. Vấn đề là sau khi quá trình chuyển mã hoàn tất, làm thế nào để tôi nhận được luồng dữ liệu mp4 để gửi tới s3.
Dưới đây là đoạn code tôi có cho đến nay:
var params = {
Bucket: process.env.SOURCE_BUCKET,
Key: fileName
};
s3.getObject(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
var format = ffmpeg(data)
.size('854x480')
.videoCodec('libx264')
.format('flv')
.toFormat('mp4');
.on('end', function() {
//Ideally, I would like to do the uploading here
var params = {
Body: //{This is my confusion, how do I get the stream to add here?},
Bucket: process.env.TRANSCODED_BUCKET,
Key: fileName
};
s3.putObject(params, function (err, data) {
});
})
.on('error', function (err) {
console.log('an error happened: ' + err.message);
});
});
Đối với các mã trên, nơi tôi có thể nhận được dòng chuyển mã để thêm vào "Body" tài sản của đối tượng params?
Cập nhật:
Dưới đây là một phiên bản của những gì tôi đang cố gắng để làm:
var outputStream: MemoryStream = new MemoryStream();
var proc = ffmpeg(currentStream)
.size('1920x1080')
.videoCodec('libx264')
.format('avi')
.toFormat('mp4')
.output(outputStream)
// setup event handlers
.on('end', function() {
uploadFile(outputStream, "").then(function(){
resolve();
})
})
.on('error', function (err) {
console.log('an error happened: ' + err.message);
});
Tôi muốn tránh sao chép các tập tin vào hệ thống tập tin địa phương từ s3, chứ không phải tôi muốn để xử lý các tập tin trong bộ nhớ và tải lên trở lại s3 khi hoàn thành. Fluent-ffmpeg có cho phép kịch bản này không?
Có cách nào để ghi vào bộ đệm tạm thời, sau đó gửi bộ đệm trong tham số Body? – user1790300
Có cách nào để tránh phải tạm thời ghi tệp vào hệ thống tệp không? – user1790300