OpenTok và Ruby On Rails (Phần 1)
“Real-time, high-quality interactive video, voice, messaging, and screen sharing for web and mobile apps” Opentok là công cụ nền tảng hỗ trợ giao tiếp thời tiếp thời gian thực. Opentok dựa vào nền tảng webRTC để gửi các gói tin đa phương tiện qua javascript giúp chúng dể dàng tích ...
“Real-time, high-quality interactive video, voice, messaging, and screen sharing for web and mobile apps”
Opentok là công cụ nền tảng hỗ trợ giao tiếp thời tiếp thời gian thực. Opentok dựa vào nền tảng webRTC để gửi các gói tin đa phương tiện qua javascript giúp chúng dể dàng tích hợp các chức năng như: chia sẻ video, âm thanh, tin nhắn, màn hình trực tuyến...
OpenTok có thể chạy trên nhiều nền tảng như web, ios, android, ứng dụng trên windows.
Ứng dụng của Opentok:
Chúng ta có thể sử dụng Opentok để xây dựng các chức năng HOT như:
- Live stream của facebook.
- Phòng họp của zoom.
Trong bài viết này mình sẻ hướng đến giới thiệu tổng quan về opentok và xây dựng một ứng dụng nhỏ để hiểu lợi ích của opentok đem lại.
Các bài viết tiếp theo mình sẻ giới thiệu cụ thể nguyển lý hoạt động của opentok và hướng dẫn xây dựng ứng dụng hoàn chỉnh là dạy học trực tuyến qua live stream.
Tổng quan
Trước hết bạn vào trang https://dashboard.tokbox.com/ để dăng ký 1 tài khoản. Lưu ý khi đăng ký 1 tài khoản thì sẻ miễn phí trong 30 ngày, nếu bạn dùng quá sẽ tính phí nhé. Sau khi có tài khoản, các bạn tạo một project và nhận lấy session id và token của dự án.
Trước khi xây dựng ứng dụng chúng ta cần tìm hiểu các khái niệm cơ bản:
-
Session: Các luồng phát trực tiếp video của opentok được khởi tạo bởi một session, Các Session này sẻ được lưu trử ở cloud của opentok. Với mỗi session sẻ gắn với một session id duy nhất. Nhiều client có thể kết nối đến một session thông qua session id.
-
Publish: Khi client kết nối đến một session, thì nó có thể publish một luồng audio-video đến session này. Sử dụng Publisher token chúng ta có thể hạn chế số lượng client có thể publish luồng phát audio-video. Từ có tạo ra qua quan hệ one-to-many, ví dụ như một người live stream và nhiều người vào xem.
-
Subscribe: Sau khi một client kết nối đến một session, nó có thể subscribe đến bất kỳ luồng audio-video được publish bởi client khác trong session đó. Hành động này được thực hiện bằng Subscriber token.
Tất cả ứng dụng Opentok đề yêu cầu cả 2 thành phần là client và server. Client là trình duyệt của người dùng, xử lý phần lớn các chức năng của opentok. Bao gồm kết nối đến ssesion, Publishing luồng audio-video đến session và subscribing đến luồng audio-video của client khác.
Ưu điểm
- Hỗ trợ đầy đủ các chức năng cần thiết.
- Cloud của Opentok với dung lượng lớn hỗ trợ lưu trữ các luồng phát trực tiếp.
- Tính bảo mật cao. (Vì được một cộng đồng người dùng lớn tin dùng).
- Hỗ trợ đa nền tảng.
Nhược điểm
- Chỉ được dùng free trong vòng 30 này