Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Peercasting
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Operation== Peercasting usually works by having peers automatically relay a stream to other peers. The P2P [[overlay network]] helps peers find a relay for a specified stream to connect to. This method suffers from poor quality of service during times when relays disconnect or peers need to switch to a different relay, referred to as "churn".<ref>{{cite book|title=Middleware for Network Eccentric and Mobile Applications|first1= Benoît |last1=Garbinato |first2= Hugo |last2=Miranda |first3=Luís |last3=Rodrigues|publisher=[[Springer Science+Business Media|Springer]] |edition=1st |year=2009 |isbn=978-3-540-89706-4}}</ref> Another solution used is minute swarming, wherein a live stream is broken up into minute length files that are swarmed via P2P software such as [[BitTorrent (protocol)|BitTorrent]] or Dijjer. However, this suffers from excessive overhead for the formation of a new swarm every minute. A new technique is to stripe a live stream into multiple substreams, akin to [[redundant array of independent disks|RAID]] striping. [[Forward error correction]] and timing information is applied to these substreams such that the original stream can be reformed using at least all but one of the substreams ([[fountain code]]s are an efficient way to make and combine the substreams). In turn, these streams are relayed using the first method. Another solution is to permit clients to connect to a new relay and resume streaming from where they left off by their old relay. Relays would retain a back buffer to permit clients to resume streaming from anywhere within the range of said buffer. This would essentially be an extension to the [[Icecast]] protocol.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)