1

我正在使用 reactjs 和烧瓶。在获得存储在私有 s3 存储桶中的 .mp4 文件的 torrent 后,我​​正在尝试使用 webtorrent 在浏览器中显示和播放它。但是视频内容没有加载

这是在 reactjs 中加载和播放 1 GB .mp4 的后续问题,存储在私有 s3 存储桶中。目前,s3 存储桶是公开的。因为私人文件抛出错误。

参考代码 - https://codepen.io/drngke/pen/abNGbEg

const magnet = 'https://datavocal.s3.amazonaws.com/s3outputx.mp4.torrent'

const client = new WebTorrent()

client.add(magnet, (torrent) => {
  console.log(torrent.files)
  
   torrent.files[0].appendTo('body')

});
client.on("error", (err) => console.log(err))
4

1 回答 1

2

我不确定这是否可行。

来自webtorrent文档:

为了让 BitTorrent 在 WebRTC(这是唯一可以在 Web 上运行的 P2P 传输)上运行,我们对协议进行了一些更改。因此,基于浏览器的 WebTorrent 客户端或“web peer”只能连接到支持 WebTorrent/WebRTC 的其他客户端

并进一步:

要将文件播种到 Web 对等点,请使用支持 WebTorrent 的客户端,例如 WebTorrent Desktop,具有可连接到 Web 对等点的熟悉 UI 的桌面客户端、webtorrent-hybrid、命令行程序或 Instant.io、网站。

所以我猜 S3 必须支持 WebTorrent/WebRTC,我认为它不会。

在此处输入图像描述

如果我对上图的理解是正确的,您可以在 S3 和您的网络对等方之间运行一个混合客户端,但是您需要在某个地方托管该混合客户端,这会使 S3 在该设置中变得多余。

于 2020-09-11T14:36:32.217 回答