有一些方法可以使用Node JS流式传输照片吗?

时间:2013-09-15 22:15:03

标签: javascript node.js streaming socket.io

我正在创建一个网络聊天,我想给用户提供从其文件系统中选择图像的选项,并通过流媒体将其分享给聊天室的其他成员。

有一些方法可以做到吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

将照片流式传输到服务器然后连接到房间的连接客户端,它不会是服务器的开销,因为它使用流,可以以不同的方式处理,压缩,恢复,暂停等

Socket.io可能不是>>最佳<<传输二进制数据的解决方案,但您始终可以对图像进行base64编码并将字符串用于所有目的。

当然,correct解决方案将在不久的将来与WebRTC以及诸如此类的项目一起出现 PeerJS

希望它有所帮助

答案 1 :(得分:1)

查看BinaryJS

// Incoming stream from browsers
  client.on('stream', function(stream, meta){

    // broadcast to all other clients
    for(var id in bs.clients){
      if(bs.clients.hasOwnProperty(id)){
        var otherClient = bs.clients[id];
        if(otherClient != client){
          var send = otherClient.createStream(meta); // create writable stream
          stream.pipe(send); //pipe data to otherClient
        }
      }
    }
  });