一尘不染

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

node.js

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

  1. 要安装,只需在您的电脑上创建一个文件夹
  2. 打开终端并做CD到文件夹
  3. 执行npm init
  4. 为应用命名,例如“ MyVidStreamer”
  5. 一个package.json将被创建
  6. npm安装快递
  7. 在package.json的同一文件夹上创建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);
  1. 更新vid-streamer配置:打开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
    }
  1. 在我们server.js的同一级别上创建一个名为video的文件夹
  2. 在其中添加一个avi文件
  3. 在终端上使cd,然后是我们拥有server.js的文件夹的路径
  4. 运行节点server.js
  5. 打开浏览器,然后输入“ localhost:3000 / videos / {name_of_your_vid_File.extension}

我能够流mp4文件和ogg,但不能播放avi文件。 所以问题是我如何解决此问题以便流式传输avi文件


阅读 301

收藏
2020-07-07

共1个答案

一尘不染

首先,您应该知道浏览器不是视频播放器,因此不能指望浏览器可以播放任何格式的视频!

此外,由于种种原因,并非所有视频格式都适合网络使用,因此,当您要流式传输视频时,请始终考虑这一点,并思考如何使视频适合网络使用,而不是如何使网络适合您的视频(例如您的问题;))。

最新的浏览器可本地支持一些视频格式,如MP4WEBMOGG将使用HTML5播放<video>元素的情况下的一种视频格式本身并不支持,浏览器将尝试与发挥它的插件VLC
Web插件
QuickTimeOsmozilla-
GPAC插件
,…,否则(没有合适的插件),浏览器将仅下载文件(或在询问用户后使用关联的应用程序打开文件)。

因此,为了“解决您的问题”,我认为您有2个选择:

  • 将您的视频转换为本地支持的格式。
  • 强迫用户为您的视频获取合适的插件,这在技术上是不可能的。

有关所有这些的更多信息,您可以查看以下链接:

当然,在这里我只是想为您提供一个有关在浏览器中直接播放视频(不带HTML)的问题的简短“答案”,我认为在此之后,您一定会考虑在HTML页面中播放视频,也可以在上面的链接中找到答案。

希望所有可以帮助的人。

2020-07-07