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
Closed

Live/stream #151

Tucsky opened this issue Dec 13, 2017 · 60 comments

Comments

@Tucsky
Copy link

@Tucsky Tucsky commented Dec 13, 2017

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

@Chocobozzz
Copy link
Owner

@Chocobozzz 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 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

@voronoipotato voronoipotato commented Jan 6, 2018

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 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 SoniEx2 commented Apr 1, 2018

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

@voronoipotato
Copy link

@voronoipotato voronoipotato commented Apr 12, 2018

@rigelk
Copy link
Collaborator

@rigelk 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

@voronoipotato voronoipotato commented Apr 12, 2018

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

@rodneyrod
Copy link

@rodneyrod rodneyrod commented May 21, 2018

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

@rigelk
Copy link
Collaborator

@rigelk 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 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 rigelk commented Jul 22, 2018

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

@tcitworld
Copy link
Collaborator

@tcitworld tcitworld commented Jul 22, 2018

@fredsif
Copy link

@fredsif 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 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

@SarHawk
Copy link

@SarHawk SarHawk commented Feb 2, 2019

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

@rigelk
Copy link
Collaborator

@rigelk 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

@sschueller sschueller commented Feb 18, 2019

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

@Serkan-devel Serkan-devel commented Apr 10, 2019

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

@draconicfae
Copy link

@draconicfae draconicfae commented Apr 18, 2019

RFC 7574 maybe?

@kinghat
Copy link

@kinghat 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 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 6543 commented Aug 14, 2020

whats the current state?

@ghost
Copy link

@ghost ghost commented Aug 14, 2020

whats the current state?

https://joinpeertube.org/roadmap

@trymeouteh
Copy link

@trymeouteh trymeouteh commented Aug 14, 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 ❤️ 👍

@warnerbryce
Copy link

@warnerbryce warnerbryce commented Aug 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 ❤️ 👍

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

@6543
Copy link

@6543 6543 commented Aug 15, 2020

just thoughts: does activpub support something like that?

@lenod
Copy link

@lenod 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

@voronoipotato voronoipotato commented Aug 15, 2020

Just add a little matrix iframe bob's your uncle

@lumbo7332
Copy link

@lumbo7332 lumbo7332 commented Aug 15, 2020

Matrix would be a great idea.

@lenod
Copy link

@lenod 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 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

@Chocobozzz Chocobozzz commented Aug 16, 2020

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

@soyuka

This comment was marked as off-topic.

@trymeouteh
Copy link

@trymeouteh trymeouteh commented Aug 17, 2020

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

#3098

@Agorise
Copy link

@Agorise 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 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-).

@Chocobozzz Chocobozzz moved this from To do to In progress in Roadmap 2020 Sep 28, 2020
@Chocobozzz Chocobozzz self-assigned this Sep 28, 2020
@draconicfae
Copy link

@draconicfae 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

@martindale martindale commented Oct 26, 2020

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 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

@Chocobozzz Chocobozzz commented Nov 9, 2020

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.

@Chocobozzz Chocobozzz closed this Nov 9, 2020
Roadmap 2020 automation moved this from In progress to Done Nov 9, 2020
@rigelk rigelk linked a pull request that will close this issue Nov 9, 2020
@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
No open projects
Roadmap 2020
  
Done
Linked pull requests

Successfully merging a pull request may close this issue.