【问题标题】:HTTP Live Streaming Service like LiveStream/Ustream/Twitch/Youtube LiveHTTP Live Streaming Service,例如 LiveStream/Ustream/Twitch/Youtube Live
【发布时间】:2015-05-10 20:14:05
【问题描述】:

我是直播新手,很难为初学者找到好的信息。除了 Apple 的文档之外,任何人都可以向 HLS 推荐资源吗?

我正在尝试制作一个类似于 LiveStream 的应用,可以将视频实时广播给多个用户。

我遇到过一些服务,例如 encoding.com、heywatchencoding.com 和 wowza,但我对每个平台提供的内容都遇到了困难,因为每个平台的文档似乎都适用于更多中级/有经验的用户。

创建像 LiveStream/Ustream/Twitch/Youtube live 这样更简单的网站有多难?我试图从 ios 设备和 web 开始,但寻找在线资源更难。任何提示都有帮助

有没有人知道我是否可以将 wowza 与 Parse.com 服务一起使用?

谢谢

【问题讨论】:

    标签: ios video video-streaming http-live-streaming live-streaming


    【解决方案1】:

    这是一个非常简单的 Node.js 媒体服务器,它启动 HTTP 服务器以将大多数视频或音频格式文件从服务器流式传输到浏览器。一旦你安装了 nodejs,只需执行

    node file_containing_below_code.js
    

    然后将浏览器指向 URL

    http://localhost:8888/
    

    您的浏览器内置了一个用于前进/后退的滑块小部件,该小部件会自动将流量发送回此服务器以进行实物响应

    享受...顺便说一句,不需要文档,只需指向和拍摄

    var http = require('http'),
        fs = require('fs'),
        util = require('util');
    
    
    var path = "/path/to/audio/or/video/file/local/to/server/cool.mp4"; // put any audio or video file here
    
    
    var port = 8888;
    var host = "localhost";
    
    http.createServer(function (req, res) {
    
      var stat = fs.statSync(path);
      var total = stat.size;
    
      if (req.headers.range) {   // meaning client (browser) has moved the forward/back slider
                                             // which has sent this request back to this server logic ... cool
        var range = req.headers.range;
        var parts = range.replace(/bytes=/, "").split("-");
        var partialstart = parts[0];
        var partialend = parts[1];
    
        var start = parseInt(partialstart, 10);
        var end = partialend ? parseInt(partialend, 10) : total-1;
        var chunksize = (end-start)+1;
        console.log('RANGE: ' + start + ' - ' + end + ' = ' + chunksize);
    
        var file = fs.createReadStream(path, {start: start, end: end});
        res.writeHead(206, { 'Content-Range': 'bytes ' + start + '-' + end + '/' + total, 'Accept-Ranges': 'bytes', 'Content-Length': chunksize, 'Content-Type': 'video/mp4' });
        file.pipe(res);
    
      } else {
    
        console.log('ALL: ' + total);
        res.writeHead(200, { 'Content-Length': total, 'Content-Type': 'video/mp4' });
        fs.createReadStream(path).pipe(res);
      }
    }).listen(port, host);
    
    console.log("Server running at http://" + host + ":" + port + "/");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-05
      • 2014-01-21
      • 2015-01-12
      • 1970-01-01
      • 2017-08-21
      • 2017-06-15
      • 2013-12-25
      • 2017-05-23
      相关资源
      最近更新 更多