🎯 PeerPigeon Selective Streaming Demo

This demo showcases the new selective streaming capabilities that allow you to control streaming patterns: 1:1, 1:many, many:many with individual peer control.

🔗 Connection

Status: Disconnected
Peer ID: Generating...
Connected Peers: 0

👥 Peer Selection

💡 Hold Ctrl/Cmd to select multiple peers for streaming control

🎥 Media Controls

📡 Broadcasting (Traditional Mode)

🎯 Selective Streaming (New Feature)

🔧 Fine-Grained Control

📊 Streaming Status

No streaming active

🎬 Video Streams

📹 Local Stream

Local (You)

📺 Remote Streams

No remote streams

📖 Streaming Patterns Examples

🎯 1:1 Streaming

Stream to only one specific peer (private call)

// Select one peer and click "Start Selective Stream" mesh.startSelectiveStream('peer-id-123', { video: true, audio: true });

📡 1:Many Streaming

Stream to multiple selected peers (group presentation)

// Select multiple peers and click "Start Selective Stream" mesh.startSelectiveStream([ 'peer-id-123', 'peer-id-456', 'peer-id-789' ], { video: true, audio: true });

🌐 Many:Many Streaming

Multiple peers streaming to each other (conference)

// Each peer calls startSelectiveStream with their // desired targets, creating a many:many topology peer1.startSelectiveStream(['peer2', 'peer3']); peer2.startSelectiveStream(['peer1', 'peer3']); peer3.startSelectiveStream(['peer1', 'peer2']);

🚫 Dynamic Control

Block/allow peers dynamically during streaming

// Block specific peers while keeping others mesh.blockStreamingToPeers(['peer-id-456']); // Re-allow blocked peers mesh.allowStreamingToPeers(['peer-id-456']);

📝 Event Log

PeerPigeon Selective Streaming Demo loaded...\n