/ / Node.js एक स्ट्रीम का उपयोग करके Youtube पर एक वीडियो अपलोड करें - जावास्क्रिप्ट, नोड ।js, youtube, google-api, youtube-api

Node.js स्ट्रीम का उपयोग करके YouTube पर एक वीडियो अपलोड करें - javascript, node.js, youtube, google-api, youtube-api

मैं आसानी से Youtube पर वीडियो अपडेट कर सकता हूं:

var googleapis = require("googleapis");

googleapis.discover("youtube", "v3").execute(function(err, client) {

var metadata = {
snippet: { title:"title", description: "description"},
status: { privacyStatus: "private" }
};

client
.youtube.videos.insert({ part: "snippet,status"}, metadata)
.withMedia("video/mp4", fs.readFileSync("user.flv"))
.withAuthClient(auth)
.execute(function(err, result) {
if (err) console.log(err);
else console.log(JSON.stringify(result, null, "  "));
});
});

समस्या यह है कि बड़ी फ़ाइलों के लिए fs.readFileSync बहुत अन-प्रैक्टिकल है।

प्रत्यक्ष स्पष्ट रूप से यह तय हो गया था लेकिन प्रदान किया गया उदाहरण Google ड्राइव के लिए है:

var fs = require("fs");
var drive = google.drive({ version: "v2", auth: oauth2Client });

drive.files.insert({
resource: {
title: "testimage.png",
mimeType: "image/png"
},
media: {
mimeType: "image/png",
body: fs.createReadStream("awesome.png") // read streams are awesome!
}
}, callback);

मैं एक स्ट्रीम का उपयोग करके Youtube पर कैसे अपलोड करूं?

उत्तर:

जवाब के लिए 2 № 1

मेरे मामले में मैं बड़ी फ़ाइल (> 2GB) के लिए इस मॉड्यूल का उपयोग कर अपलोड करने में सक्षम हूं।

var youtube = require("googleapis").youtube("v3");

youtube.videos.insert({
"auth": auth,
"resource": resource,
"part": part,
"media": fs.createReadStream(videoFilePath)
}, callback);