问题标签 [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.
javascript - 如何在浏览器中使用 webtorrent?
我对https://github.com/feross/webtorrent#usage中显示的示例有一些问题, 我正在尝试在浏览器中使用代码。所以我首先创建了一个名为 app.js 的文件
应用程序.js
然后我输入命令browserify app.js > bundle.js
,这样可以使代码在浏览器中工作。我创建了另一个名为 index.html 的文件:
索引.html
从控制台我只能看到“你好”。似乎 client.download() 函数不起作用。为什么会这样?我是browserify的新手,我使用的命令有什么问题吗?
video-streaming - 您可以使用 webtorrent 进行分布式视频直播吗
我想使用 p2p webrtc 通过 webtorrent 进行实时视频流。
https://github.com/feross/webtorrent
它显然可以流式传输视频,但它可以作为输入网络摄像头和其他来源吗?
你会怎么做?
谢谢。
node.js - 使用 Webtorrent 播种文件
我正在尝试html
在 Nodejs 中使用 WebTorrent 播种文件。我从 WebTorrent 收到回调,这表明客户端已开始播种,但是当我在客户端复制粘贴哈希以下载文件时,什么也没发生。
这是我在服务器端的代码:
有什么问题,我该如何调试以查看发生了什么?
angularjs - 如何让 Firefox 正常加载 AngularJS?
我有一个 AngularJS 应用程序,它在 Chrome 中运行良好,但是当使用 Firefox 时,它需要几秒钟才能按预期呈现。Firefox 显示 {{variables}} 和 ng-hide 中的所有内容几秒钟。
该网站是http://diegorbaquero.com/bTorrent/,它在 Chrome 中运行良好,但 Firefox 有这种延迟。
谢谢
javascript - 如何使用 webtorrent.io
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,那就太好了。
javascript - RangeError:超出最大调用堆栈大小
所以这是一个使用 webtorrent 的简单函数:
并称之为:
这是输出:
并16384
重复,直到内存不足。
编辑:经过一番研究,事实证明 16384 是每个 x 以非常高的速率接收的字节(因为我在 VPS 上)。我的 torrent 将在几秒钟内成功下载(在 /tmp/webtorrent/ 中找到它:D)
但是,这并不能解决由resolve();
线路引起的 RangeError
javascript - WebTorrent.IO 不能与其他磁力链接一起使用?
我试着找出来,但找不到。我正在按照这里的步骤进行操作——https: //webtorrent.io/intro。我在文件中有以下代码。
此代码适用于 infohash — 6a9759bffd5c0af65319979fb7832189f4f3c35d 但是当我使用其他信息哈希或磁力链接时,它不起作用。其他信息哈希的示例是 80096C11147EEE4D2B6B6AC0B96C951E48298BE3
任何想法,为什么它不能与其他 infohash 或磁力链接一起使用?
node.js - 使用 Webtorrent 流式传输 MP4 的问题
我正在运行一个节点服务器,我想从使用 WebTorrent(https://webtorrent.io/docs)的磁力链接流式传输视频。当我运行它时,即使我已将变量设置为 .mp4 文件,似乎也没有正确引用该文件。
为了清楚起见,我在此示例中添加了给定的 torrentID(磁力链接),以消除我在 express 和 URL 方面可能遇到的任何问题。此磁力链接可下载 MP4 格式的音乐视频。
视频播放器正在显示,但没有播放视频。我假设这意味着我没有尝试访问正确的文件。如果您需要了解更多关于 WebTorrent 的信息来帮助我,您可以在https://webtorrent.io/docs上阅读相关信息
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 提供了两种媒体显示方式:
file.appendTo
使用:https://webtorrent.io/docs#-file-appendto-rootelem-function-callback-err-elem-将其附加到 DOMfile.renderTo
使用:https://webtorrent.io/docs#-file-renderto-elem-function-callback-err-elem-直接渲染到给定的元素(或 CSS 选择器)
这是我的接收器的代码:
这是我的发件人的代码:
问题:接收方按预期处理来自发送方的种子 ID 和视频播放。但是官方的 Google Cast 应用程序或 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#getCastMessageBus和https://developers.google.com/cast/docs/reference/receiver/cast.receiver.CastMessageBus和https://developers.google.com /cast/docs/reference/chrome/chrome.cast.Session#sendMessage):
但是在这种情况下如何在接收器上处理它呢?