Từng bước xây dựng nền tảng web livestream như thế nào?
Chào mọi người, như tiêu đề trên thì em đang xây dựng một dự án học tập website livestream game (Chẳng hạn như nimo) với React & Spring boot. Dự án hướng đến tính năng chính sau: Chức năng phát livestream cho người dùng là streamer. Theo tìm hiểu của em thì xây dựng frontend tích hợp WebRTC API để lấy video & âm thanh từ camera của streamer. Việc thiết lập kết nối & truyền phát giữa streamer & nhiều viewer thông qua media server (như Kurento / Janus). Sau khi thiết lập kết nối với media server, các thông tin phiên, thông tin streamer sẽ được backend nhận yêu cầu và lưu thông tin. Các viewer khi vào phòng live của streamer sẽ được kiểm tra các thông tin từ phiên live và thiết lập kết nối. Chat box, tặng quà sẽ được thực hiện thông qua web socket.
Theo các tiền bối thì những kiến thức em tìm hiểu đã vọc vạch hết cho chức năng chưa hoặc kiến thức bị sai/ nhầm lẫn không. Kiến thức về webRTC & media sever em còn mông lung quá, chưa hình dung rõ được áp dụng khái niệm nào vào chức năng nào ạ! Mong mọi người giải đáp giúp em
3 CÂU TRẢ LỜI
- Tìm hiểu về các protocol stream: RTMP, MPEG-DASH, HLS, RTSP, WebRTC
- Tìm hiểu các một số thông số video: Như độ phân giải, tốc độ khung hình, Bitrate, Video Codec, ... Với âm thanh: Audio Codec, Bitrate, Sample Rate,...
- Tìm hiểu về FFMPEG
- Server livestream: https://github.com/winshining/nginx-http-flv-module, https://github.com/ossrs/srs v.v