VẤN ĐỀ:
WebRTC cung cấp cho chúng ta các kết nối video / âm thanh ngang hàng. Nó hoàn hảo cho các cuộc gọi p2p, hangout. Nhưng điều gì về phát sóng (một-nhiều, ví dụ, 1-10000)?
Giả sử chúng ta có một đài truyền hình "B" và hai người tham dự "A1", "A2". Tất nhiên nó có vẻ là có thể giải quyết được: chúng tôi chỉ cần kết nối B với A1 và sau đó B với A2. Vì vậy, B gửi trực tiếp luồng video / âm thanh tới A1 và một luồng khác tới A2. B gửi luồng hai lần.
Bây giờ hãy tưởng tượng có 10000 người tham dự: A1, A2, ..., A10000. Nó có nghĩa là B phải gửi 10000 luồng. Mỗi luồng là ~ 40KB / s có nghĩa là B cần tốc độ internet gửi đi 400MB / s để duy trì việc phát sóng này. Không thể chấp nhận được.
CÂU HỎI GỐC (OBSOLETE)
Có thể bằng cách nào đó để giải quyết điều này, vì vậy B chỉ gửi một luồng trên một số máy chủ và người tham dự chỉ cần kéo luồng này từ máy chủ này? Có, điều này có nghĩa là tốc độ gửi đi trên máy chủ này phải cao, nhưng tôi có thể duy trì nó.
Hoặc có thể điều này có nghĩa là làm hỏng ý tưởng WebRTC?
LƯU Ý
Flash không hoạt động theo nhu cầu của tôi theo UX kém cho khách hàng cuối.
GIẢI PHÁP (KHÔNG THỰC SỰ)
26.05.2015 - Không có giải pháp nào như vậy để phát sóng có thể mở rộng cho WebRTC tại thời điểm này, nơi bạn hoàn toàn không sử dụng máy chủ phương tiện. Có các giải pháp phía máy chủ cũng như kết hợp (p2p + phía máy chủ tùy thuộc vào các điều kiện khác nhau) trên thị trường.
Mặc dù có một số công nghệ đầy hứa hẹn như https://github.com/muaz-khan/WebRTC-Scalable-Broadcast nhưng chúng cần phải giải đáp những vấn đề có thể xảy ra: độ trễ, độ ổn định kết nối mạng tổng thể, công thức khả năng mở rộng (chúng có thể không phải là khả năng mở rộng vô hạn ).
ĐỀ XUẤT
- Giảm CPU / Băng thông bằng cách tinh chỉnh cả codec âm thanh và video;
- Nhận một máy chủ phương tiện.