Avatar
1
Hiệp Đoàn Beginner
Hiệp Đoàn Beginner
Xây dựng hệ thống video call, livestream...
Hi anh, Em đang có task nghiên cứu phần này. Anh có thể chia sẻ kinh nghiệm hoặc open source nào để em tham khảo không ạ. Rất cảm ơn anh ạ
  • Answer
Remain: 5
1 Answer
Avatar
monkey Beginner
monkey Beginner
  1. Nếu em chỉ dừng lại ở mức sử dụng em có thể em có thể mua hoặc dùng thử của bên này: https://www.wowza.com/streaming-engine
  2. Đây là phần tương đối khó nhằn nếu em muốn tự xây dựng hệ thống livestreaming mà không mua giải pháp.

Về cơ bản thì hệ thống live streaming này sẽ nặng và khó nhất ở con MCU (ở trung tâm trong hình). Bởi vì các máy client thường tương đối yếu, nên không thể nào nhận cùng 1 lúc nhiều stream được, nên cần thiết phải sinh ra con MCU này để nhận tất cả các luồng stream, sau đó ghép thành frame và stream lại đến từng client (client sẽ chỉ cần giữ 1 stream thôi nên sẽ nhẹ).

Về công nghệ em sẽ cần tìm hiểu:

  1. S.I.P: Giao thức này để khởi tạo kết nối giữa các thiết bị
  2. WebRTC: Giao thức này ngày nay được dùng phổ biến vì có thể dùng cho cả web lẫn mobile, desktop
  3. h.264 hoặc h.265 để encode/decode video.

Về phần code thì em sẽ cần code cho MCU, em sẽ nhận stream từ các client, sau đó decode các stream này và ghép chung vào 1 stream và gửi cho từng client. Ngoài ra em cũng sẽ cần viết sdk cho các loại client (web, mobile, ...) nữa

Về phần hạ tầng thì em sẽ cần chuẩn bị tối thiểu 1 server 4GB, 4Core may ra mới chạy được cho vài chục client.

Đây là 1 dự án lớn với khối lượng code khá khổng lồ nên hãy kiên trì từng bước em nhé.

  1. Về opensource thì anh chưa thấy có, và anh nghĩ với công nghệ với độ khó cao thế này thì cũng sẽ không có opensource nào đủ nguồn lực làm tốt được, hoặc nếu có thì cũng sẽ là license trả phí.
  • 0
  • Reply
Dạ vâng em cảm ơn anh đã giải thích chi tiết ạ. Em đi làm lâu rồi nhưng những hệ thống như thế này em chưa đươc tiếp cận và làm việc bao giờ, các công nghệ khá mới nên em thấy khá khó nhằn. Bên LINE đã xây dựng hệ thống nào như thế này chưa hả anh.

P/s : Đầu năm em có phỏng vấn java vào LINE pass mà tiếc không được làm việc anh nên em vẫn lưỡng lự chưa accept :(

 –  Hiệp Đoàn 1655924439000
Tiếc là anh không thể share các tài liệu của LINE cho em được, tuy nhiên LINE cũng có live streaming nên anh nghĩ là có rồi.

Hy vọng sẽ có cơ hội làm việc cùng em ở LINE, anh sẽ có thể cùng em build 1 hệ thống từ đầu. Cơ bản sẽ là đi đọc rfc và cài đặt, chỉ có cái phần h.264 khó nhất thì mình đó có thư viện của cisco rồi.

 –  monkey 1655927936000