Introduction to the open source project for streaming media
1. Peercast
Established in 2002, the earliest open source peer streaming project. Peercast the nodes by tree structure, each channel is a tree, the live source is the root node, the parent node only provides data to the child nodes. The farther away the node is from the root node, the greater the transmission delay, so the depth of the tree should be as short as possible, but the limited upstream bandwidth of the node limits the width of the node.
2. Tribler
The project, which started in 2008, was able to download BT and play video on Demand and live. The biggest feature is a completely decentralized design that distracts the work of the traditional tracker server from each node. The development language is python.
3. Goalbit
2008 begins. Goalbitsolution Company launched the open source peer-stream live streaming system. Using the network structure, the Inter-node transmission uses the TCP protocol (based on UPnP).
Divide the nodes into the following three types:
- Broadcast node: Provide data to super node only
- Super node: Responsible for distributing the data to normal nodes
- normal node: Download and upload data from the peer network
4. Peerstreamer
2009 begins. is an open source streaming engine for the European Napa WINE P2P-TV project. Support Video on-demand and live streaming. There are high-efficient peers algorithm, good adaptability to the network, for different network conditions can achieve better playback effect. Of course, the code is quite large and complex. The main features are as follows:
- Supports almost all media formats
- Configurable block algorithm
- Configurable network topologies
- Supports multiple streaming media protocols (push mode/Pull mode/negotiation)
- Configurable data block/node policies
- Configurable data block/node policies
- Support Alto (application-level traffic optimization)
5. Myseelite
2007 begins. Is the Mysee company once open source peer-to stream media projects. The design goal is to support large-scale concurrent video broadcast system. Cross-platform development components with Ace+wxwidget. The Inter-node transmission uses the TCP protocol (does not support dual intranet transmission). The subsystem consists of the following parts:
- Capture Server: Gets the live stream. You can get the program stream from Windows Media Server, Helix server. Support Mmsh,mmst, RTSP
- Super Peer: Receives the stream from the capture server as the source node of the peer-to network, providing data to the client.
- Tracker Server: Provides the client with the Super peer address where the request data resides and all the client node information associated with it.
- client: Get live stream from super peer and other client nodes. Then provided to the GUI to play
6. P2pcenter
An open source project launched by a domestic team in 2008. Support Video on demand in various formats. Inter-node transmission using UDP, can effectively cross the firewall. Developed in C + +. The architecture is relatively simple, and the peer system is divided into three parts:
- Tracker Server:
Responsible for maintaining the channel information, as well as node forwarding, and node transmission status monitoring and other work.
- Orderclient Program Publishing Client:
Publish local video information and distribute the video content to other viewing clients via peer-to network.
- P2pservice Receive client:
The HTTP server is built locally, and when a third-party player (VLC, RealPlayer, etc.) initiates a play request, the playback data is obtained from the peer-to-peer network and transmitted to the player by the HTTP server.
Introduction to several open source projects for streaming media