Tìm hiểu về Agora Live video streaming

Agora là một công ty công nghệ của Trung Quốc, và đã được IPO thành công tại sàn Nasdaq của Mỹ <shares >.

Chắc hẳn các bạn cũng đang thắc mắc rằng agora cung dịch vụ hay phát triển công nghệ gì mà một công ty của Trung Quốc lại có thể được IPO tại Mỹ?

Agora cung cấp cho chúng ta SDK để có thể xây dựng các ứng dụng,web mà con người có thể tương tác trực tiếp với nhau thông qua kết nối internet. Ví dụ như: realtime message, live video streaming…

The Real-Time Engagement Platform for meaningful human connections. People engage longer when they see, hear, and interact with each other. With Agora, you can embed vivid voice and video in any application, on any device, anywhere.
Một số sản phẩm

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về cơ chế hoạt động của live video streaming của Agora và xây dựng 1 web app đơn giản để tương tác giữa Client và Streamer.

Yêu cầu cơ bản:

Tạo tài khoản Agora: https://sso.agora.io/en/signup

Trong bài viết này, chúng ta chỉ cần tạo free account.

Chúng ta hãy cùng xem ảnh dưới đây và cùng tìm hiểu cách thức hoạt động phía sau SDK nhé:

Như trong hình phía trên,

Ở bước 1, đối với bất kỳ hệ thống live-stream nào, thì cũng sẽ có ít nhất 2 role là: Client và Streamer. Streamer sẽ có các quyền ví dụ như: start, stop, pause. Còn lại Client sẽ có các quyền như: join, leave. Thì ở bước 1 này, chúng ta sẽ cần phải set role cho user. Trong Agora, có 2 quyền đó là: host <steamer> và audience <client>. Ở đây, host sẽ là người publish stream đến các subcriber <audience>

Bước 2, sau khi đã setRole xong, chúng ta sẽ cần request đến server để lấy về token với role tương ứng dựa vào chanel name và user-id. Token này sẽ được sử dụng để join vào chanel tương ứng.

Bước 3, sau khi đã nhận được token từ Bước 2, chúng ta sẽ thực hiện join vào chanel.

Cuối cùng là ở bước 4, lúc này, tùy theo role của user mà sẽ có các action khác nhau:

  • host: có thể publish audio/video cho các subcriber
  • audience: có thể subcribe chanel

Lưu ý rằng, một chanel có thể có nhiều host

Trước khi bắt đầu tạo demo app, chúng ta sẽ cần tạo project sau khi đã tạo tài khoản ở phía trên.

Sau khi có tài khoản, chúng ta sẽ đăng nhập vào đây: https://console.agora.io/projects

và tạo cho mình một project

Ở đây mình sẽ tạo ra một project có tên “DemoAgora”.

Vì đây chỉ là demo, nên mình sẽ không tạo ra server để generate token, thay vào đó chúng ta sẽ click vào biểu tượng “key” kia, để chúng ta vào và tạo ra token.

Sau khi vào được, chúng ta sẽ điền Chanel và bấm generate token. Token sẽ hiện ra. Ngoài ra trong màn hình này sẽ có các thông tin chúng ta cần thiết đó là: appId, token và chanelName

Ngoài ra chúng ta còn cần enable Certificate để có thể access được trực tiếp mà không cần qua server (https://docs.agora.io/en/Agora%20Platform/token#2-enable-the-app-certificate)

Như vậy là được rồi, chúng ta sẽ đi sang bước tiếp theo là tạo demo app

Tạo demo app

Ở đây, mình sẽ tạo ra 1 trang web đơn giản có:

Input role và hard code là sẽ join chanel mình vừa tạo ở trên là “1111”

Để bắt đầu, các bạn sẽ cần nhập role: “host” và “audience”. 2 role này thì mình đã có giải thích ở trên.

Mình sẽ mở 2 browser và cùng access vào trang này, nhưng sẽ input 2 role khác nhau.

Kết quả như sau:

Vì thực sự code cũng không có gì, nên mình sẽ đính kèm link github ở đây để các bạn có thể kéo code về thử. Link
Chú ý, mở file App.tsx và điền thông tin appId, chanelId và token tương ứng với project của các bạn.

Cảm ơn các bạn đã đọc bài viết này, hy vọng nó giúp ích được cho các bạn mới tìm hiểu về cách thức hoạt động của Agora

Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
spot_img

Có thể bạn sẽ thích

Phần mềm ERP là gì? Lợi ích của ERP...

Ứng dụng phần mềm ERP vào hoạt động quản lý của doanh nghiệp vừa là xu hướng, vừa là...

8 cách kiếm tiền với với các nền tảng...

Có rất nhiều cách kiếm tiền online khác nhau, nhưng hôm nay Sapo sẽ giới thiệu đến các bạn...

Outsource Là Gì? 3 Khác Biệt Quan Trọng Giữa...

Hiện nay, có rất nhiều công ty lựa chọn outsource để công việc được thực hiện tốt...