Showing posts with label P2P. Show all posts
Showing posts with label P2P. Show all posts

Wednesday, February 08, 2023

Streamroot’s hybrid webRTC-based P2P video CDN


Streamroot: Powering robust, scalable video delivery for the World Cup
Streamroot uses Google Kubernetes Engine and Google Cloud Load Balancing to handle peaks in traffic for its global peer-accelerated content delivery solution that powers over 20 million video sessions a day with zero downtime.
https://cloud.google.com/customers/streamroot

https://medium.com/lumen-engineering-blog/scaling-up-with-google-kubernetes-engine-our-experience-after-6-months-in-production-ec9e21cd5fce

Hybrid Peer-to-Peer Delivery

A visualization of Streamroot’s hybrid webRTC-based P2P video CDN integrated with JW Player in HTML5.

https://demos.jwplayer.com/peer-accelerated-delivery/
https://github.com/jwplayer/web-player-demos/tree/develop/demos/peer-accelerated-delivery






https://www.linkedin.com/in/paul-louis-ageneau/  wrote a number of webRTC libraries, and also a major developer for streamroot, he's now with netflix.  




Saturday, April 16, 2022

Scalable WebRTC peer-to-peer broadcasting

 https://github.com/muaz-khan/WebRTC-Scalable-Broadcast



WebRTC Scalable Broadcast

Scalable WebRTC peer-to-peer broadcasting demo.

npm downloads

This module simply initializes socket.io and configures it in a way that single broadcast can be relayed over unlimited users without any bandwidth/CPU usage issues. Everything happens peer-to-peer!

RTCMultiConnection v3 and Scalable Broadcast

RTCMultiConnection v3 now naively supports scalable-broadcast:

DemoTitleTestLiveViewSource
Scalable Audio/Video BroadcastDemoSource
Scalable Screen BroadcastDemoSource
Scalable Video BroadcastDemoSource
Scalable File SharingDemoSource

Demos

Note: These (below) are old demos. Above (RTCMultiConnection-v3) demos are preferred (and up-to-dated).

  1. index.html - share video or screen or audio over unlimited users using p2p methods.
  2. share-files.html - share files with unlimited users using p2p methods!

Browsers Support:

BrowserSupport
FirefoxStable / Aurora / Nightly
Google ChromeStable / Canary / Beta / Dev

Browsers Comparison

host means the browser that is used to forward remote-stream.

HostStreamsReceiversIssues
ChromeAudio+VideoChrome,FirefoxRemote audio tracks are skipped.
ChromeAudioNoneChrome can NOT forward remote-audio
ChromeVideoChrome,FirefoxNo issues
ChromeScreenChrome,FirefoxNo issues
FirefoxAudio+VideoChrome,FirefoxNo issues
FirefoxAudio+ScreenChrome,FirefoxNo issues
FirefoxAudioChrome,FirefoxNo issues
FirefoxVideoChrome,FirefoxNo issues
FirefoxScreenChrome,FirefoxNo issues
  1. First column shows browser name
  2. Second column shows type of remote-stream forwarded
  3. Third column shows browsers that can receive the remote forwarded stream
  4. Fourth column shows sender's i.e. host's issues

Chrome-to-Firefox interoperability also works!

Android devices are NOT tested yet. Opera is also NOT tested yet (though Opera uses same chromium code-base).

Currently you can't share audio in Chrome out of this big. In case of audio+video stream, chrome will skip remote-audio tracks forwarding. However chrome will keep receiving remote-audio from Firefox!

Firefox

Firefox additionally allows remote-stream-forwarding for:

  1. Streams captured from <canvas>
  2. Streams captured from <video>
  3. Streams captured or generated by AudioContext i.e. WebAudio API

Is stream keeps quality?

Obviously "nope". It will have minor side-effects (e.g. latency in milliseconds/etc.).

If you'll be testing across tabs on the same system, then you'll obviously notice quality lost; however it will NOT happen if you test across different systems.

WebRTC Scalable Broadcast

In the image, you can see that each NEW-peer is getting stream from most-recent peer instead of getting stream directly from the moderator.

npm install webrtc-scalable-broadcast

Now, goto node_modules>webrtc-scalable-broadcast:

cd node_modules
cd webrtc-scalable-broadcast

# and run the server.js file
node server.js

Or:

cd ./node_modules/webrtc-scalable-broadcast/
node ./server.js

Or install using WGet:

mkdir webrtc-scalable-broadcast && cd webrtc-scalable-broadcast
wget http://dl.webrtc-experiment.com/webrtc-scalable-broadcast.tar.gz
tar -zxvf webrtc-scalable-broadcast.tar.gz
ls -a
node server.js

Or directly download the TAR/archive on windows:

And now open: http://localhost:8888 or 127.0.0.1:8888.

If server.js fails to run:

# if fails,
lsof -n -i4TCP:8888 | grep LISTEN
kill process-ID

# and try again
node server.js

How it works?

Above image showing terminal logs explains it better.

For more details, to understand how this broadcasting technique works:

WebRTC Scalable Broadcast

Assuming peers 1-to-10:

First Peer:

Peer1 is the only peer that invokes getUserMedia. Rest of the peers will simply forward/relay remote stream.

peer1 captures user-media
peer1 starts the room

Second Peer:

peer2 joins the room
peer2 gets remote stream from peer1
peer2 opens a "parallel" broadcasting peer named as "peer2-broadcaster"

Third Peer:

peer3 joins the room
peer3 gets remote stream from peer2
peer3 opens a "parallel" broadcasting peer named as "peer3-broadcaster"

Fourth Peer:

peer4 joins the room
peer4 gets remote stream from peer3
peer4 opens a "parallel" broadcasting peer named as "peer4-broadcaster"

Fifth Peer:

peer5 joins the room
peer5 gets remote stream from peer4
peer5 opens a "parallel" broadcasting peer named as "peer5-broadcaster"

and 10th peer:

peer10 joins the room
peer10 gets remote stream from peer9
peer10 opens a "parallel" broadcasting peer named as "peer10-broadcaster"

Conclusion

  1. Peer9 gets remote stream from peer8
  2. Peer15 gets remote stream from peer14
  3. Peer50 gets remote stream from peer49

and so on.

License

Scalable WebRTC Broadcasting Demo is released under MIT licence . Copyright (c) Muaz Khan.

Friday, April 23, 2021

IPFS video player

 InterPlanetary File System (IPFS) is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices.


IPFS allows users to host and receive content in a manner similar to BitTorrent. As opposed to a centrally located server, IPFS is built around a decentralized system[5] of user-operators who hold a portion of the overall data, creating a resilient system of file storage and sharing. 

https://en.wikipedia.org/wiki/InterPlanetary_File_System


The link is here:

https://ipfs.video/


IPFS video player

Welcome to the IPFS video player

At the top, you can use the form to put in your custom IPFS content id. If you have not found any good example to view yet, you can try Blender Half full, the demo video from https://ipfstube.erindachtler.me/, a talk by Alan Kay, the free movie Sita sings the blues,Big Buck Bunny,Caminandes 1,2,3or simply a monkey video downloaded from Pexels.

Finaly reddit IPFS_Hashes might have some IPFS video hashes as well.

Other works under the same project

Kodi plugin under development that will complement this website, available at:https://github.com/bneijt/ipfs-video-kodi

A project to help you host your own IPFS pinning gateway easily:https://github.com/bneijt/ipfs-video-gateway

Tuesday, July 14, 2020

Wednesday, January 18, 2012

Be a HERO and Help STOP SOPA Now!! I'll tell you How! This Video that M...

The same people pushing SOPA where also supporting the P2P file Sharing software!!!

Tuesday, August 30, 2011

The Pirate Bay Founders Go Legit With BayFiles

FROM : http://yro.slashdot.org/story/11/08/30/1248227/The-Pirate-Bay-Founders-Go-Legit-With-BayFiles


 "The founders of The Pirate Bay, possibly the best-known BitTorrent tracking service in existence, are going legit with a new file-sharing site which they claim will adhere to all copyright rules and takedown requests. BayFiles, as the new service is named, isn't BitTorrent powered. Instead, the site borrows its method of operation from the likes of Megaupload and RapidShare: a user selects a file and uploads it to the site via their web browser, after which it becomes available for anyone to download, assuming they have the link."

Thursday, June 02, 2011

Skype Protocol Has Been Reverse Engineered

From Slashdot: Skype Protocol Has Been Reverse Engineered

"One researcher has decided he wants to make Skype open source by reverse engineering the protocol the service uses. In fact, he claims to have already achieved that feat on a new skype-open-source blog. The source code has been posted for versions 1.x/3.x/4.x of Skype as well as details of the rc4 layer arithmetic encoding the service uses. While his intention may be to recreate Skype as an open source platform, it is doubtful he will get very far without facing an army of Microsoft lawyers. Skype is not an open platform, and Microsoft will want to keep it that way."


See also: How Skype gets round firewalls

Saturday, May 28, 2011

Hurt Locker lawsuit targets a record-breaking 24,583 IP addresses

Thanks Domi,

Sent to you by Dominic via Google Reader:

via Engadget by Jesse Hicks on 5/27/11

It's been almost a year since the producers of The Hurt Locker filed a lawsuit against 5,000 alleged pirates suspected of distributing the film via BitTorrent. Now Voltage Pictures has updated its complaint, adding almost 20,000 IP addresses to the list of defendants. That makes it the largest file-sharing lawsuit of all time -- a crown previously held by the company behind The Expendables, according to Wired. The plaintiff has already reached agreements with Charter and Verizon to identify individual users, but no such deal with Comcast, who owns nearly half the supposedly infringing addresses. Linking those addresses with user accounts would let Voltage manage individual settlements -- probably somewhere between $1,000-$2,000 -- rather than continue legal action. All of this eerily echoes the Oscar-winning film's plot, about an adrenaline junkie who couldn't resist downloading just one more movie. Or defusing one more bomb. We're a little fuzzy on the details, but venture into TorrentFreak to scan for familiar IP addresses.

Friday, January 08, 2010

Microsoft Patents DRM'd Torrents

Microsoft has received a patent for a 'digital rights management scheme for an on-demand distributed streaming system,' or using a P2P network to distribute commercial media content. The patent, #7,639,805, covers a method of individually encrypting each packet with a separate key and allowing users to decrypt differing levels of quality depending on the license that has been purchased.

Wednesday, June 03, 2009

Developers: Money For Nothing and the Codecs For Free

From SlashDot:

"In an in depth discussion on the codec industry, CoreCodec CEO and Matroska Foundation board member Dan Marlin shares his thoughts on the growing popularity of the MKV container, confusion in the marketplace between X.264/MKV and DivXHD and weighs in on a controversial decision by Microsoft to block third party filter support in future versions of Windows media player. His interview offers a behind the scenes look at an important piece of technology that is helping to power the P2P movement. It also raises the prickly question of whether or not Microsoft is abusing their OS monopoly, in order to rein in competition within the codec industry."



Tuesday, April 14, 2009

Flash streaming

Joshua: Hey John!
Sent at 3:47 PM on Tuesday
me: hi
Sent at 3:54 PM on Tuesday
Joshua: you going to go revolutionize the video streaming business and get rich? :)
Sent at 4:01 PM on Tuesday
me: It's a nice thought, but since flash and youtube are now doing almost everything that I had in 1996 there is probably little chance of that.
I am working on a Head Mounted display
Something like http://www.lumusvision.com/
Joshua: nice!
me: Not sure how far it will get, still in research phase
I also had an incredible idea for super caps as in the end of battery technology as we know it
Joshua: dang!
Sent at 4:05 PM on Tuesday
Joshua: That would be amazing too. I still think you can improve on the CDN side of video streaming though.
Sent at 4:06 PM on Tuesday
me: I am sure I can by using P2P or cooperation from the prodiders I had a live p2p streaming system at one point up for demo's a long long time ago.
Sent at 4:09 PM on Tuesday
Joshua: could a site like youtube use something like that?
Sent at 4:12 PM on Tuesday
me: They are limited to what Adobe's macromedia flash platform can operate with
I was thinking of selling a flash server since adobe want's $4000 for one that only works on windows server but for recorded video a web server is fine
Joshua: what can a flash server do that a normal one can't?
me: So this would be for live flash video streaming encode and stream at the same time it's like web server, but the file never ends. so a normal web server can't do it the livecam server can already do this.
Sent at 4:17 PM on Tuesday
Joshua: whats the difference between your server and the livecam one?
me: Mine is the livecam one
I wrote it
Joshua: lol. thats really cool.
me: Sorry I thought you knew this.
Joshua: nope. it's really impressive though.
me: we made a web server version of it called afterburner, it's on sourceforge
Joshua: would it be able to save a company like google money?
Sent at 4:21 PM on Tuesday
me: Well they are already using litehttp similar to afterburner from what I can tell, haven't read the source code yet.
and no one is doing live flash streaming but 2 small web sites
Joshua: you said that most content is recorded though.
me: ustream.tv and justin.tv but any web server will work for recorded because it just serving up large files some throttling would help them not waste bandwidth by not serving more of the file then the viewer is going to need right now someone on a fast connection will download the who video as fast as they can even if they will just flip to another video and not watch , so there is a lot of data sent that it just tossed out later and never used. Increasing bandwidth costs.
Sent at 4:26 PM on Tuesday
Joshua: Great point. Hey John, I gotta jet. It's always good talking to you and I'll catch up with you later. Have a great one!
Sent at 4:29 PM on Tuesday
me: ok l8r
Sent at 4:31 PM on Tuesday

Friday, February 06, 2009

CNN streams P2P video for inauguration.

Thursday, March 27, 2008

Now for the Wacky Idea: first run movies on Bit Torrent.

I have the rights to make a movie based on a famous SciFi writer short story who just passed.

After 3 years of rejections from Hollywood, I was thinking that maybe we can fund the movie with donations and grants and release the movie freely (GPL style) over Bit Torrent and BlueRay and then see what it will take to get it played in theaters. I really think it would be so cool and set a whole new model for film production, copyleft movies. Am I a nut job or is this just crazy enough to work?

If you have any thoughts on that please leave a comment.

Or you can mail me at http://www.videotechnology.com/contact.html

Also see my other blog post
copyleft-movies-can-it-be-done

---------

Update:
South Park To Be Available Online Free and Legal
http://entertainment.slashdot.org/article.pl?sid=08/03/27/175241"

South Park is coming online, free and legal. My brief research has not indicated if it will use DRM, require some silly Windows-only software or be otherwise substandard. According to a Wired blog article, 'Parker and Stone said they were inspired to start the site when they got 'really sick of having to download our own show illegally all the time. So we gave ourselves a legal alternative.'"
In this regard South Park joins fellow Comedy Central notable The Daily Show with Jon Stewart, whose archive was made freely available online late last year.