Skip to content
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

Live/stream #151

Closed
Tucsky opened this issue Dec 13, 2017 · 60 comments · Fixed by #3250
Closed

Live/stream #151

Tucsky opened this issue Dec 13, 2017 · 60 comments · Fixed by #3250

Comments

@Tucsky
Copy link

Tucsky commented Dec 13, 2017

Is it something that could be done the peertube way, in the future ?

@Chocobozzz
Copy link
Owner

Chocobozzz commented Dec 13, 2017

Not really sure, torrents are immutable. In our roadmap: https://joinpeertube.org/roadmap

@Chocobozzz Chocobozzz changed the title Could PeerTube support a live/stream feature ? Live/stream Dec 13, 2017
@Wack0
Copy link

Wack0 commented Dec 27, 2017

Well, today there is acestream, which is basically "livestream but with torrents"; the initial seeder has to stay seeding throughout as they are the one providing the stream. I wonder if something similar can be done with webtorrent..?

Acestream seems to be closed source (which is odd, given that they seem to have forked vlc); but I guess it's proof enough that it is in fact possible.

@voronoipotato
Copy link

nile.js presently does this on top of webtorrent by basically uploading slices of video that point to the next upcoming slice.

@aledomu
Copy link

aledomu commented Mar 20, 2018

Maybe this can be used as an inspiration: https://github.com/muaz-khan/WebRTC-Scalable-Broadcast

@SoniEx2
Copy link

SoniEx2 commented Apr 1, 2018

There is also dat, which provides encrypted append-only streams.

@voronoipotato
Copy link

https://snr.stanford.edu/salsify/

A new thing

@rigelk
Copy link
Collaborator

rigelk commented Apr 12, 2018

@voronoipotato very interesting! It doesn't cover the topic of live streaming, however.

Technically, it may not be so easy. It would be a lot simpler if Salsify were just a better video codec, or a better transport protocol. Because Salsify is instead a better way of putting the pieces together, we expect it will be harder to retrofit into an existing application without significant refactoring. In our conversations with industry, we’ve found that the burden of proof will be high to demonstrate (1) that Salsify’s gains are real, and (2) that they can’t be achieved with less-intrusive surgery to existing applications.

Even they admit the integration burden is difficult. We already have a hard time switching codecs and have a tight coupling with webtorrent, so I don't expect a refactoring to salsify to happen.

@voronoipotato
Copy link

no, I didn't it was likely either I just saw it and thought it would be fun to share lol.

@rodneyrod
Copy link

Tribler looks to be doing something along these lines:
https://www.tribler.org/StreamingExperiment/

@rigelk
Copy link
Collaborator

rigelk commented Jul 16, 2018

I just noticed that the hls.js lib also features a POC branch called hlstorrent. The maintainer (of that branch) even made some comments about it on SO, so it's working beyond the POC branch apparently.

EDIT: looks pretty hackish though.

@fredsif
Copy link

fredsif commented Jul 22, 2018

There's also this project:
https://github.com/cdnbye/hlsjs-p2p-engine
Haven't tried it yet but it seems in active development

@rigelk
Copy link
Collaborator

rigelk commented Jul 22, 2018

@fredsif interesting but it's apparently not fully open source (their tracker isn't).

@tcitworld
Copy link
Collaborator

@fredsif
Copy link

fredsif commented Aug 13, 2018

There seems to be another new project (also based on webtorrent) that delivers live streaming:
https://github.com/Novage/p2p-media-loader

@rigelk
Copy link
Collaborator

rigelk commented Aug 13, 2018

@fredsif that's a very good find! It is technically very close to our current stack, as it uses webtorrent/bittorrent-tracker. It also has the advantage to support both HLS and DASH, so that lets us choose. Oh and they provide explicit support for videojs-contrib-hls (although now https://github.com/videojs/http-streaming sounds like the future of hls/dash/other in videojs).

cc @Chocobozzz

@HenriJD
Copy link

HenriJD commented Feb 2, 2019

Will this be added on your Roadmap for 2019?
@Chocobozzz @rigelk

@rigelk
Copy link
Collaborator

rigelk commented Feb 2, 2019

@SarHawk p2p-media-loader and hls support are being brought in a refactor happening right now. It won't bring live streaming, but it will bring better playback support and it is the first step towards live streaming support anyway.

@sschueller
Copy link
Contributor

There is also some information here https://news.ycombinator.com/item?id=13378145 regarding BitTorrent Live which was not open source but some of its parts have been made open source now.

@Serkan-devel
Copy link

Maybe someonce could create a BEP with a livestreaming spec if that doesn't exist yet

@draconicfae
Copy link

RFC 7574 maybe?

@warnerbryce
Copy link

I stream on Twitch with a 30sec latency between "what i say" and "the live".
So it's not a big deal that the P2P LiveStream on PeerTube will have a 30 to 60s delay.
And with time, this feature can't get worse, maybe tchat will come and delay may be reduced.

@rjperry611
Copy link

Have you guys checked out https://www.thetatoken.org/ ?
They have already figured out the p2p streaming tech. Samsung has already integrated them into their smart TVs, VR, and smart phones.

@kinghat
Copy link

kinghat commented May 26, 2020

Have you guys checked out https://www.thetatoken.org/ ?
They have already figured out the p2p streaming tech. Samsung has already integrated them into their smart TVs, VR, and smart phones.

i dont think you need a token or blockchain to do p2p live streaming 🤔

@tytan652
Copy link

tytan652 commented May 28, 2020

  • The use of SRT to send the stream to a peertube server may be an idea.
  • Then the peertube server "real-time transcodes" the stream to HLS H264.
  • But the server will have to transcode the stream into multiple resolutions except if we deliver just one when streaming.
  • And the viewer sees the live with HLS and seeds it through p2p-media-loader.

Note: OBS support SRT since version 25, see wiki

@6543
Copy link

6543 commented Aug 14, 2020

whats the current state?

@ghost
Copy link

ghost commented Aug 14, 2020

whats the current state?

https://joinpeertube.org/roadmap

@trymeouteh
Copy link

https://joinpeertube.org/roadmap

There is not going to be a live chat feature for live streaming? It says in the roadmap
No chat, no gifs, no ❤️ 👍

@warnerbryce
Copy link

https://joinpeertube.org/roadmap

There is not going to be a live chat feature for live streaming? It says in the roadmap
No chat, no gifs, no ❤️ 👍

Yes for the beginning. If you know how to code a tchat start helping.

@6543
Copy link

6543 commented Aug 15, 2020

just thoughts: does activpub support something like that?

@lenod
Copy link

lenod commented Aug 15, 2020

just thoughts: does activpub support something like that?

I reckon it is not adapted to live chat. But one shouldn't reimplement yet another live chat system. Xmpp does this just right, and there are already stable JavaScript clients (see JSXC or converse.js)

@voronoipotato
Copy link

Just add a little matrix iframe bob's your uncle

@poperigby
Copy link

Matrix would be a great idea.

@lenod
Copy link

lenod commented Aug 16, 2020

That would mean relying on a third-party server or adding a matrix server as a dependency, which is pretty heavyweight.
Irc would also work by the way, and both IRC and XMPP can then be connected to a matrix channel if you need to, AFAIK.

@afranke
Copy link

afranke commented Aug 16, 2020

There is work to have P2P Matrix, with some bits already running. https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix

@Chocobozzz
Copy link
Owner

Please create a separate issue to discuss about a chat feature for live videos

@soyuka

This comment has been minimized.

@trymeouteh
Copy link

Please create a separate issue to discuss about a chat feature for live videos

#3098

@Agorise
Copy link

Agorise commented Sep 15, 2020

https://joinpeertube.org/roadmap

There is not going to be a live chat feature for live streaming? It says in the roadmap
No chat, no gifs, no ❤️ 👍

For live chat on live stream videos, i hope they use the foss, e2ee Matrix protocol for that. (matrix.org)

@Alterak
Copy link
Contributor

Alterak commented Sep 18, 2020

There is not going to be a live chat feature for live streaming? It says in the roadmap
No chat, no gifs, no ❤️ 👍

It says that there will be no chat at the first stage-).

@draconicfae
Copy link

draconicfae commented Oct 23, 2020

(Professor Farnsworth voice) : "Good news everyone!" : https://bits.debian.org/2020/10/debian-donation-peertube.html (relevant to this issue because it's specifically about this issue) :)

@martindale
Copy link

This is the killer feature for me — excited to see progress towards P2P livestreams!

@rigelk rigelk mentioned this issue Nov 7, 2020
@Mikaela
Copy link

Mikaela commented Nov 8, 2020

Do the current plans include having live-only streams as in not storing them on any instance once they are over, or is that currently going to be the only way they will be until storing is implemented? Yes, #3250 (comment).

How about having an option to watch through the recording by the streamer before deciding whether to publish them? To this I didn't see a clear answer yet.

@Chocobozzz
Copy link
Owner

Implemented in #3250. You can see the details of the implementation/UX in the PR description.

This is just a first step, we'll improve the live feature next year.

@rigelk rigelk linked a pull request Nov 9, 2020 that will close this issue
@Chocobozzz Chocobozzz removed their assignment Nov 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.