问题标签 [webtorrent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
9028 浏览

javascript - 如何在浏览器中使用 webtorrent?

我对https://github.com/feross/webtorrent#usage中显示的示例有一些问题, 我正在尝试在浏览器中使用代码。所以我首先创建了一个名为 app.js 的文件

应用程序.js

然后我输入命令browserify app.js > bundle.js,这样可以使代码在浏览器中工作。我创建了另一个名为 index.html 的文件:

索引.html

从控制台我只能看到“你好”。似乎 client.download() 函数不起作用。为什么会这样?我是browserify的新手,我使用的命令有什么问题吗?

0 投票
1 回答
2619 浏览

video-streaming - 您可以使用 webtorrent 进行分布式视频直播吗

我想使用 p2p webrtc 通过 webtorrent 进行实时视频流。

https://github.com/feross/webtorrent

它显然可以流式传输视频,但它可以作为输入网络摄像头和其他来源吗?

你会怎么做?

谢谢。

0 投票
1 回答
2496 浏览

node.js - 使用 Webtorrent 播种文件

我正在尝试html在 Nodejs 中使用 WebTorrent 播种文件。我从 WebTorrent 收到回调,这表明客户端已开始播种,但是当我在客户端复制粘贴哈希以下载文件时,什么也没发生。

这是我在服务器端的代码:

有什么问题,我该如何调试以查看发生了什么?

0 投票
3 回答
926 浏览

angularjs - 如何让 Firefox 正常加载 AngularJS?

我有一个 AngularJS 应用程序,它在 Chrome 中运行良好,但是当使用 Firefox 时,它需要几秒钟才能按预期呈现。Firefox 显示 {{variables}} 和 ng-hide 中的所有内容几秒钟。

该网站是http://diegorbaquero.com/bTorrent/,它在 Chrome 中运行良好,但 Firefox 有这种延迟。

谢谢

0 投票
1 回答
2466 浏览

javascript - 如何使用 webtorrent.io

https://webtorrent.io

https://github.com/feross/webtorrent

JavaScript 在浏览器中流式传输以下种子

我想要一个简单的布局,比如

但这不起作用。

0 投票
1 回答
3546 浏览

javascript - 如何开始使用 WebTorrent?

我对WebTorrent有一些想法。我对 JavaScript 和 jQuery 有一些经验,但我从不使用 Node.js 或 Browserify。有人可以解释一下如何使用以下简单代码吗?

我应该附加一个<script src="webtorrent.min.js"></script>并通过 Browserify ( browserify app.js > bundle.js) 从上面转换代码吗?或者也许我需要使用npm install webtorrent并附加一些 Browserify 代码?

在使用代码npm install webtorrent并执行Ctrl + c+Ctrl + v之后,上面的这个示例在<script>标签中出现了播放器。魔术 :) 但是我在我的虚拟机中做了一些事情,现在 Chrome 说require('webtorrent')没有定义。

如果我能像使用 jQuery 一样简单地使用 WebTorrent,那就太好了。

0 投票
1 回答
1150 浏览

javascript - RangeError:超出最大调用堆栈大小

所以这是一个使用 webtorrent 的简单函数:

并称之为:

这是输出:

16384重复,直到内存不足。

编辑:经过一番研究,事实证明 16384 是每个 x 以非常高的速率接收的字节(因为我在 VPS 上)。我的 torrent 将在几秒钟内成功下载(在 /tmp/webtorrent/ 中找到它:D)

但是,这并不能解决由resolve();线路引起的 RangeError

0 投票
0 回答
2798 浏览

javascript - WebTorrent.IO 不能与其他磁力链接一起使用?

我试着找出来,但找不到。我正在按照这里的步骤进行操作——https: //webtorrent.io/intro。我在文件中有以下代码。

此代码适用于 infohash — 6a9759bffd5c0af65319979fb7832189f4f3c35d 但是当我使用其他信息哈希或磁力链接时,它不起作用。其他信息哈希的示例是 80096C11147EEE4D2B6B6AC0B96C951E48298BE3

任何想法,为什么它不能与其他 infohash 或磁力链接一起使用?

0 投票
1 回答
1264 浏览

node.js - 使用 Webtorrent 流式传输 MP4 的问题

我正在运行一个节点服务器,我想从使用 WebTorrent(https://webtorrent.io/docs)的磁力链接流式传输视频。当我运行它时,即使我已将变量设置为 .mp4 文件,似乎也没有正确引用该文件。

为了清楚起见,我在此示例中添加了给定的 torrentID(磁力链接),以消除我在 express 和 URL 方面可能遇到的任何问题。此磁力链接可下载 MP4 格式的音乐视频。

视频播放器正在显示,但没有播放视频。我假设这意味着我没有尝试访问正确的文件。如果您需要了解更多关于 WebTorrent 的信息来帮助我,您可以在https://webtorrent.io/docs上阅读相关信息

0 投票
2 回答
1498 浏览

javascript - 如何向 Google Cast 应用添加标准媒体控件?

我正在使用 WebTorrent ( https://webtorrent.io , https://github.com/feross/webtorrent ) 和使用 JavaScript (Chrome) SDK 的 Google Cast 发件人应用程序开发 Google Cast 自定义接收器应用程序。

我的应用程序的想法是从 Google Cast 发送器向 Google Cast 接收器发送 torrent id(类似磁铁 URImagnet:?xt=urn:btih:6a9759bffd5c0af65319979fb7832189f4f3c35d或 HTTP/HTTPS URL 到 *.torrent 文件https://webtorrent.io/torrents/sintel.torrent),并在 Google Cast 接收器中使用 WebTorrent 来显示媒体(视频或音频) 来自洪流。

请注意,torrent id 不是媒体文件的直接 URL。

现在我使用 Google Cast 命名空间和 messageBus 来发送和接收 torrent id。

WebTorrent API 提供了两种媒体显示方式:

这是我的接收器的代码:

这是我的发件人的代码:

问题:接收方按预期处理来自发送方的种子 ID 和视频播放。但是官方的 Google Cast 应用程序或 Chrome 的官方 Google Cast 扩展程序没有显示用于播放视频以暂停、停止、搜索等的标准媒体控件。

这就是我所拥有的(这是最新版 Google Chrome 中 Google Cast 的标准内置模式对话框的屏幕截图):

最新版 Google Chrome 中 Google Cast 标准内置模态对话框的屏幕截图

这就是我想要实现的(这是最新版 Google Chrome 中 Google Cast 的标准内置模态对话框的屏幕截图):

最新版 Google Chrome 中 Google Cast 标准内置模态对话框的屏幕截图

添加

为了

<video autoplay id='media' />

元素没有帮助。

我是否应该向发送者和/或接收者添加一些内容以为<video autoplay id='media' />所有发送者添加标准媒体控件?

也许还有另一种方法可以在不使用 Google Cast 命名空间和 messageBus 的情况下发送和接收 torrent id?

UPD

看来我找到了问题的根源...

如何为接收器中现有的播放视频启用默认媒体控件?

例如,接收方应用程序已经有播放视频:

如何启用默认媒体控件 - 此播放视频的工作按钮“播放/暂停”、工作进度条(在所有发件人上,如 Chrome 的官方 Google Cast 扩展程序)?

看起来添加以下代码无济于事:

这是接收器的完整源代码:

UPD2:

看起来可以使用任何文本字符串(在我的情况下为 torrent id)而不是媒体 URL,chrome.cast.media.MediaInfo并使用媒体名称空间而不是使用自定义名称空间和自定义消息总线(即不使用https://developers.google.com /cast/docs/reference/receiver/cast.receiver.CastReceiverManager#getCastMessageBushttps://developers.google.com/cast/docs/reference/receiver/cast.receiver.CastMessageBushttps://developers.google.com /cast/docs/reference/chrome/chrome.cast.Session#sendMessage):

但是在这种情况下如何在接收器上处理它呢?