如何使用node.JSstream式传输.avi电影文件? (文件打开下载屏幕,而不是stream式传输)

我使用vid-streamer https://github.com/meloncholy/vid-streamer 。

  1. 要安装只需在您的电脑上创build一个文件夹
  2. 打开terminal并做CD到文件夹
  3. 执行npm init
  4. 给应用程序一个名字,如“MyVidStreamer”
  5. 一个package.json将被创build
  6. npm install express
  7. 在package.json的同一个文件夹上创build一个server.js
  8. 写这个并保存

    var app = require("express"); var app = app(); var vidStreamer = require("vid-streamer"); app.get("/videos/:type", vidStreamer); //{folder}/{videoName.extension} app.listen(3000); 
  9. 更新vid-streamerconfiguration:打开node_modules / vid-streamer / config /并编辑json文件vidStreamer-sample.json:

     { "mode": "development", "forceDownload": false, "random": false, "rootFolder": "", <---- "rootPath": "", <------- "server": "VidStreamer.js/0.1.4", "maxAge": "3600", "throttle": false } 
  10. 在我们的server.js的同一级创build一个名为video的文件夹
  11. 在里面添加一个avi文件
  12. 在terminal上做CD后跟path到我们有我们的server.js的文件夹
  13. 运行节点server.js
  14. 打开浏览并input'localhost:3000 / videos / {name_of_your_vid_File.extension}

我能够streamMP4文件和ogg,但不是AVI文件。 所以问题是我如何解决这个为了streamAVI文件

首先,你应该知道,浏览器不是video播放器,所以你不能指望浏览器可以播放任何格式的video!

另外,并非所有video格式都适合networking,原因很多,所以当您想要stream式传输video时,请务必考虑这一点,并考虑如何使您的video适合networking,而不是如何使networking适合于你的video(像你的问题;))。

最近的浏览器可以支持一些video格式,如MP4 , WEBM和OGG ,这些video格式将使用HTML5 <video>元素<video> ,在video格式不是本机支持的情况下,浏览器将尝试使用像VLC Web插件 , QuickTime , Osmozilla – GPAC插件 ,…否则(没有合适的插件),浏览器将简单地下载文件(或者在询问用户后用相关的应用程序打开它)。

所以要“解决你的问题”,我觉得你有两个select:

  • 将您的video转换为原生支持的格式。
  • 强制用户为您的video获取合适的插件,这在技术上是不可能的。

有关更多的信息,你可以看看这些链接:

  • Mozilla开发者networking:HTMLaudio和video元素支持的媒体格式 。
  • Chromium项目:您需要了解Chromium中的audio/video的所有内容 。
  • Wikipedia:HTML5video 。
  • caniuse.com:MPEG-4 / H.264video格式 (请参阅底部的资源标签)。
  • caniuse.com:WebMvideo格式 (另见底部的资源标签)。
  • caniuse.com:Ogg / Theoravideo格式 (另见底部的资源标签)。
  • 微软开发者networking:如何使用HTML5在您的网页上播放video文件 。
  • Dev.Opera:HTML5video简介

当然,在这里我只是试图给你一个关于在浏览器中直接播放video的问题的简短回答(没有HTML),我想在这之后,你一定会想要在HTML页面上播放你的video,你也可以在上面的链接中find答案。

希望一切可以帮助。