/ / Odovzdajte video na server YouTube pomocou protokolu Node.js pomocou streamu - javascript, node.js, youtube, google-api, youtube-api

Nahrajte video na Youtube pomocou Node.js pomocou streamu - javascript, node.js, youtube, google-api, youtube-api

Video môžem ľahko aktualizovať na 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, "  "));
});
});

Problém je v tom, že pre veľké súbory fs.readFileSync je veľmi nepraktické.

Zrejme toto bolo opravené ale uvedený príklad je pre Disk 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);

Ako môžem nahrať na YouTube pomocou streamu?

odpovede:

2 pre odpoveď č. 1

V mojom prípade môžem pomocou tohto modulu nahrať súbor pre veľké súbory (> 2 GB).

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

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