-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebTorrent support #4123
WebTorrent support #4123
Conversation
0c1e768
to
b06d2f3
Compare
is webtorrent support built as a default feature, or does it need to be specified with some build flags? Can't find anything in Build Features or any examples on how to enable webtorrent. |
Is there a time frame for a new release with webtorrent support?
…--
Happy hacking
Petter Reinholdtsen
|
[Andrew]
Any updates on the timeframe for this PR? Would be great to see this
out! :)
Yeah. I hope it will bring webtorrent support to the VLC bittorrent
plugin, <URL: https://github.com/johang/vlc-bittorrent >. :)
…--
Happy hacking
Petter Reinholdtsen
|
Any news on when we'll get this build flag enabled by default in a release? |
hello friends ! it seems peertube is having trouble finding bandwidth and storage in these hard times. webtorrent support in mainstream clients may be a great step towards decentralized video hosting, which is arguably very needed when traditionnal models such as youtube are beginning to show their limits. seeing the code is already there, please make an official release with this support if you can! i am willing to help if any more development is needed. anyway, thanks for making this awesome software and making the world a better place. cheers!~ |
Unfortunately, PeerTube 6 (out now) has dropped WebTorrent support.
https://framablog.org/2023/11/28/peertube-v6-is-out-and-powered-by-your-ideas/ |
oof |
[Leo]
Unfortunately, PeerTube 6 (out now) has dropped WebTorrent support.
> We needed to settle a technical debt : v6 removes support for
> WebTorrent to focus on HLS (with WebRTC P2P). Both are technical
> bricks used to get peer-to-peer streaming in web browsers, but HLS is
> more fitted to what we are doing (and plan to do) with PeerTube
https://framablog.org/2023/11/28/peertube-v6-is-out-and-powered-by-your-ideas/
It will take a while before PeerTube 6 is deployed everywhere, and
PeerTube is not the only use of Webtorrent, so it would still be useful
with WebTorrent support in libtorrent.
But I am not quite sure I understand the difference between Webtorrent
and WebRTC P2P. If I understand Peertube using Webtorrent correctly, it
provide more available bandwidth per user and improved availability the
more users are looking at the same video. HLS with WebRTC P2P seem to
provide less available bandwidth per user and reduced availability the
more users are looking at the same video, but the description I found so
far was a bit unclear so I am not sure.
…--
Happy hacking
Petter Reinholdtsen
|
I would still love to see WebTorrent support included in the default builds of libtorrent, of course. The functionality has already been developed. It would be nice to get that enabled. |
I agree. I eagerly await a VLC bittorrent plugin with WebTorrent support in Debian, and this depend on a release of libtorrent with WebTorrent support. |
Any update on making this a default feature on release? This seems like a brilliant way to support streaming directly in the browser! |
[chasa]
Any update on making this a default feature on release? This seems
like a brilliant way to support streaming directly in the browser!
I agree. Given the time passed and the progress made, I suspect a
forked project might be needed to make it happen. If such fork existed,
I would du my best to get it into Debian and link the
vlc-plugin-bittorrent package in Debian to such library with webtorrent
support included by default. :)
…--
Happy hacking
Petter Reinholdtsen
|
That would be good, but having WebTorrent support out of the box in millions of clients across the globe on already existing torrents would be better, as it would make most torrents accessible from the browser just with an update. |
[chasa]
That would be good, but having WebTorrent support out of the box in
millions of clients across the globe on already existing torrents
would be better, as it would make most torrents accessible from the
browser just with an update.
Sure. Any idea how to get that option on the table? This request is
from 2019-11-25, and as far as I can tell, is not near getting any
resolution where the support is enabled by default in a official
libtorrent release.
…--
Happy hacking
Petter Reinholdtsen
|
I'm not sure how to get it attention, that's why I asked if there were any updates on making it available in release. Maybe opening an issue might create some attention to it? |
If feedback can help, I've been using LibreTorrent on Android since months and it seeded to more than hundred webtorrent peers. It was by adding the webtorrent.io demo torrent: https://webtorrent.io/torrents/sintel.torrent DHT causes issue on my ISP terrible router so I disabled it. So I'm only relying on webtorrent tracker. And when I catch it seeding, it's indeed seeding to webtorrent peers. |
This PR suggests an implementation of the WebTorrent protocol inside libtorrent. With this add-on, libtorrent can be used to run hybrid peers seamlessly.
WebTorrent peers use the same application protocol as classic peers but with WebRTC Data Channels as underlying transport instead of uTP or TCP, allowing to run peers in web browsers. Due to the necessary connection signaling, WebTorrent peers require a specific WebSocket tracker to connect.
Since documentation seems to be lacking, I implemented the WebTorrent signaling protocol the best I could guess by looking at existing code. You can find useful information and the reference Javascript implementation here: https://github.com/webtorrent/webtorrent
The implementation requires two external dependencies added as submodules:
This PR does not add new external dependencies to libtorrent (it only requires OpenSSL or GnuTLS depending on the compilation option).
To test, you need a torrent file with at least one WebSocket tracker, for instance
wss://tracker.openwebtorrent.com
.You can find such a torrent file here: https://ageneau.org/upload/sintel.torrent
You can also run a web browser peer on this page: https://webtorrent.io/