将视频文件拆分为从浏览器

时间:2016-11-24 21:17:02

标签: javascript node.js stream video-streaming pipe

我使用 split-file 模块将视频文件拆分为两个。 没有文件部分扩展名。他们看起来像:gan-1,gan-2

我在自己的服务器上托管这两个文件。

http://bilketay.com/download/gan-1

http://bilketay.com/download/gan-2

我尝试通过浏览器传输这两个文件,就像一个视频文件一样。等;

// Dependencies
var express = require('express');
var app = express();
var CombinedStream = require('combined-stream2');
var request = require('request');
// Some routes
app.get('/', function(req, res) {
  // Set header
  res.set({
    "Content-Type": 'video/mp4'
  });
  res.writeHead(200);

  var combinedStream = CombinedStream.create();
  // This function is to call gan-1 first, then gan-2
  var recursive = function(param) {
      var req = request('http://bilketay.com/download/' + param);
      // First add gan-1, then gan-2
      combinedStream.append(req);
      req.on('end', function() {
        if (param != 'gan-2') {
          recursive('gan-2')
        }
      });
    }
    // Start recursive
  recursive('gan-1');
  // Start stream browser
  // But, It does not start until it is completely loaded :(
  combinedStream.pipe(res);
});
// Listen port
app.listen(3000);

我使用受限制的node.js信息创建了此代码。对我来说没问题,但我认为Google Chrome不同。 :)

问题是,这两个部分在没有加载的情况下不会流式传输。上传两个部分后,流开始。我想要做的是立即启动流。简短说明; gan-1和gan-2文件在本地工作。但它在远程服务器上不起作用。我做错了什么?

我使用 combined-stream2 模块合并各个部分。 此模块通过添加两个不同的文件来简化流式传输。但是因为我无法得到我想要的结果,所以我可能错了。

简而言之,我想分别通过浏览器传输两个不同的文件。

我需要忍者的帮助。谢谢。

描述问题的屏幕截图;

stream.gif

0 个答案:

没有答案