【问题标题】:Upload a video to Youtube using Node.js using a stream使用 Node.js 使用流将视频上传到 Youtube
【发布时间】:2016-06-03 03:45:48
【问题描述】:

我可以轻松地将视频更新到 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对于大文件是非常不实用的。

显然是this was fixed,但提供的示例是针对 Google Drive 的:

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?

【问题讨论】:

标签: javascript node.js youtube google-api youtube-api


【解决方案1】:

就我而言,我可以使用此模块上传大文件 (>2GB)。

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

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

【讨论】:

  • 我不确定我是否理解。这是一个解决方案吗?
猜你喜欢
  • 2013-09-19
  • 2012-04-07
  • 2016-01-27
  • 2013-12-12
  • 2014-04-29
  • 1970-01-01
  • 2012-12-23
  • 2013-05-30
  • 2011-10-30
相关资源
最近更新 更多