Đề tài Sử dụng AWS Elemental MediaLive để xử lý video phát trực tiếp

22 2 0
Đề tài Sử dụng AWS Elemental MediaLive để xử lý video phát trực tiếp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Môn: Điện toán đám mây

Đề tài: Sử dụng AWS Elemental MediaLive để

Trang 2

Giới thiệu

AWS Elemental MediaLive là một dịch vụ truyền phát video trực tiếp đám mây

được cung cấp bởi Amazon Web Services (AWS) Nó cho phép người dùng phát trực tiếp video với chất lượng cao từ các nguồn khác nhau, bao gồm cả định dạng video HD và 4K

Amazon s3: Khách hàng thuộc mọi quy mô và ngành có thể lưu trữ và bảo vệ bất

kỳ lượng dữ liệu nào cho hầu hết mọi trường hợp sử dụng, chẳng hạn như kho dữ liệu, ứng dụng gốc trên đám mây và ứng dụng dành cho thiết bị di động Với các lớp lưu trữ tiết kiệm chi phí và các tính năng quản lý dễ sử dụng, bạn có thể tối ưu hóa chi phí, sắp xếp dữ liệu và định cấu hình các biện pháp kiểm soát truy cập được tinh chỉnh để đáp ứng các yêu cầu tuân thủ, tổ chức và kinh doanh cụ thể

AWS Elemental MediaStore là dịch vụ lưu trữ AWS được tối ưu hóa cho phương

tiện Nó mang đến cho bạn hiệu suất, tính nhất quán và độ trễ thấp cần thiết để phân phối nội dung video phát trực tiếp trên quy mô lớn

Amazon CloudFront là dịch vụ mạng phân phối nội dung (CDN) nhanh giúp phân

phối dữ liệu, video, ứng dụng và API một cách an toàn cho khách hàng trên toàn cầu với độ trễ thấp và tốc độ truyền cao

Mô hình bài lab để xử lí video phát trực tiếp

Trang 3

Bước 1: Tạo Amazon S3 Bucket

Để lưu trữ video MP4 đã ghi sẵn, bạn cần tạo Bộ chứa Amazon S3 Video này sẽ là đầu vào cho luồng trực tiếp của bạn

- Đầu tiên bạn phải có tài khoản Amazon

Đầu tiên bạn cần 1 tài khoản AWS, nếu bạn chưa có hãy tạo 1 tài khoản https://aws.amazon.com

- Tạo Amazon S3 Bucket

Khi tài khoản của bạn được thiết lập hãy đăng nhập vào bảng điều khiển AWS của bạn

https://console.aws.amazon.com và chọn s3 từ menu dịch vụ

Hoặc cũng có thể chọn ở phần lưu trữ

Và sau đó tạo một S3 bucket của bạn Bạn có thể đưa ra bất kì tên nào có sẵn Tên S3 là global và bạn không thể sử dụng tên đã được sử dụng bởi bất kỳ ai khác Ví

dụ, bạn có thể tạo một cái tên có dự án của bạn tương tự dammay như bài

Trang 4

Bucket name: tên của bucket Relion: Nơi lưu trữ file

Trang 5

Cuối cùng chọn Create Bucket

Thành công khi tạo bucket

Trang 6

Bước 2: Upload video trực tiếp (video live, video đã sản xuất) lên amazon s3 bucket

Upload video thành công

Trang 7

Bước 3: Tạo Mediastore container

Tạo vùng chứa MediaStore để sử dụng làm nguồn gốc được tối ưu hóa phương tiện cho Mạng phân phối nội dung (CDN) MediaLive sẽ sử dụng vùng chứa để lưu trữ các phân đoạn và bảng kê khai HLS

- Để tạo vùng chứa MediaStore:

 Trong bảng điều khiển MediaStore, chọn Creat container  Đối với Container name, hãy nhập tên cho vùng chứa  Chọn Create

Khi vùng chứa đã được tạo thành công, hãy chọn tên vùng chứa

Bạn cần cập nhật chính sách bộ chứa MediaStore để làm cho các đối tượng bộ chứa có thể truy cập ở chế độ chỉ đọc đối với bản phân phối CloudFront

- Để chỉnh sửa chính sách vùng chứa MediaStore:

 Trên trang Container, chọn Container policy  Chọn Edit policy

 Ghi lại arn của thùng chứa của bạn, sau đó sao chép/dán đoạn mã sau  Thay thế giá trị tài nguyên bằng vùng chứa được ghi chú của bạn

 Chọn Save

Trang 8

- Để tạo chính sách MediaStore Container CORS:

 Trên trang Container, chọn Container CORS Policy  Từ Create new policy, chọn Create custom policy

 Sao chép và dán chính sách sau

 Chọn Save

- Để cải thiện bảo mật, hãy thay đổi chính sách MediaStore Container CORS để hạn chế quyền truy cập đọc đối với một miền cụ thể Hãy xem ví dụ về chính sách CORS để cấp quyền truy cập đọc cho một miền cụ thể

- Để tạo chính sách vòng đời Đối tượng MediaStore (CORS):

 Trên trang Container, chọn Container CORS policy  Từ Creat new policy, chọn Create custom policy

 Sao chép và dán chính sách sau

 Chọn Save

Trang 9

- Để tạo chính sách Số liệu MediaStore:

 Trên trang Container, chọn Object lifecycle policy  Từ Creat new policy, chọn Creat custom policy

 Sao chép và dán chính sách sau

 Chọn Save

Trang 10

Bước 4: Tạo CloudFront distribution

Giờ đây, có thể tạo CloudFront Distribution bằng MediaStore làm nguồn gốc - Để tạo CloudFront Distribution:

 Trong bảng điều khiển CloudFront, chọn Create Distribution  Chọn Get started

 Đối với Origin Domain Name, hãy chọn bộ chứa MediaStore mà bạn đã tạo

trước đó

 Đối với Origin Protocol Policy, chọn HTTPS Only  Trong Default Cache Behavior Settings

 Đối với Viewer Protocol Policy, hãy chọn Redirect HTTP to HTTPS  Đối với Phương thức HTTP được phép, chọn GET, HEAD, OPTIONS  Đối với Origin Request Policy, chọn Create a new Policy (Option)  Đối với Name, hãy nhập tên cho chính sách của bạn

 Đối với Headers, hãy chọn Whitelist, sau đó chọn Origin, rồi chọn Add

header chọn Tạo chính sách bộ đệm

 Đối với Origin Request Policy, chọn làm mới, sau đó chọn chính sách yêu

cầu gốc được tạo gần đây

 Chọn Create Distribution

 Sao chép và lưu ý Domain Name

Trang 12

Bước 5: Tạo Medialive Input

Tạo đầu vào kéo MP4 bằng cách sử dụng video đã quay trước được lưu trữ trên Bộ chứa Amazon S3

- Để tạo Đầu vào kéo MediaLive MP4:  Mở bảng điều khiển MediaLive

 Trong ngăn điều hướng, chọn Inputs  Trên trang Đầu vào, chọn Create input  Đối với Input name, hãy nhập tên  Đối với Input type, chọn MP4

 Đối với Input class, chọn SINGLE_INPUT

 Trong Input source A, đối với URL, hãy nhập URL của video MP4 được lưu

trữ trên Bộ chứa Amazon S3 ở định dạng URL sau

 Chọn Create

Trang 14

Bước 6: Tạo kênh MediaLive

Tạo Kênh MediaLive để chuyển mã video của bạn và phân phối video đó tới MediaStore hoặc các kênh xã hội như Twitch

- Để tạo Kênh MediaLive:

 Mở bảng điều khiển MediaLive

 Trong ngăn điều hướng, chọn Channels  Trên trang Channels, chọn Create channel

 Trong phần Channel and input details, trong phần General info, đối với Tên

kênh, hãy nhập tên kênh

- Đối với IAM role

 Nếu bạn hiện có vai trò IAM, hãy chọn Use existing role và chọn vai trò IAM từ

danh sách thả xuống

 Nếu bạn không có vai trò IAM, hãy chọn Create role from template

 Trong phần Channel template section, đối với Template, chọn Live Event –

HLS từ danh sách thả xuống

 Đối với Channel Class, chọn SINGLE_PIPELINE

 Trong phần Thông số kỹ thuật đầu vào, đối với Codec đầu vào, chọn AVC, đối với Độ phân giải đầu vào, chọn HD, đối với Tốc độ bit đầu vào tối đa, chọn

Trang 15

 Trong phần Output delivery section, đối với Delivery method, hãy chọn Public  Trong Output groups, trong phần HD, trong HLS group destination A, đối với

URL, hãy dán Điểm cuối dữ liệu vùng chứa MediaStore của bạn rồi thêm /live vào

cuối Thay “https” bằng “mediastoressl” trong URL

 Phần cài đặt HLS, đối với Cài đặt CDN, chọn HLS media store 

Kếtquả:mediastoressl://iobdgu6pxuuaig.data.mediastore.ap-southeast2.amazonaws.com/live

 Trong phần Input attachments, hãy chọn Add  Đối với Input, chọn đầu vào từ danh sách thả xuống  Đối với Attachment name, hãy nhập tên đầu vào

Trang 16

 Chọn Confirm

 Tiếp theo Chọn Create channel

Trang 17

Bước 7: Tạo đầu ra kênh xã hội (Tùy chọn)

Để phân phối luồng của bạn tới các kênh xã hội như Twitch, hãy tạo nhóm đầu ra RTMP Push Nếu bạn không muốn phát trực tuyến lên các kênh xã hội, bạn có thể bỏ qua phần này và tiếp tục từ phần Bắt đầu Kênh MediaLive

Khi kênh MediaLive đã được tạo, hãy chỉnh sửa kênh MediaLive để thêm nhóm đầu ra RTMP

- Để tạo nhóm đầu ra RTMP Push:  Mở bảng điều khiển MediaLive

 Trên trang Channels, chọn tên kênh

 Chọn Channel actions chọn Edit channel  Trong Output groups, chọn Add

 Chọn RTMP, sau đó chọn Confirm

 Đối Name, hãy nhập tên cho kênh xã hội

 Trong phần RTMP outputs, đối với Actions, hãy chọn Settings

 Trong phần RTMP đích A, đối với URL, hãy nhập URL nhập RMTP do kênh xã hội (Twitch, YouTube, Facebook) cung cấp Ví dụ: đối với Twitch, hãy sử dụng

rtmp://rtmp.twitch.tv/

 Đối với Tên luồng, hãy nhập khóa luồng do kênh xã hội cung cấp Ví dụ: đối với Twitch, hãy truy cập cài đặt luồng trên trình duyệt của bạn bằng cách thay thế [tên người dùng] bằng tên người dùng Twitch của bạn trong url sau

Trang 18

https://dashboard.twitch.tv/u/[username]/settings/stream, sau đó sao chép luồng chính chìa khóa

 Trong phần Stream settings, bên dưới Video

 Đối với Width, hãy nhập chiều rộng nhỏ hơn hoặc bằng chiều rộng của video

đầu vào của bạn

 Đối với Height, hãy nhập chiều cao nhỏ hơn hoặc bằng chiều cao của video đầu

vào của bạn

 Đối với Codec Settings, chọn 264

 Trong phần Stream settings, bên dưới Âm thanh 1, đối với Codec Settings, chọn

Trang 19

 Updatechannel

- Nếu bạn muốn thêm kênh xã hội bổ sung, hãy lặp lại tất cả các bước trong phần nhóm đầu ra RTMP Push Xin lưu ý rằng cài đặt chiều rộng, chiều cao, tốc độ khung hình và tốc độ bit ảnh hưởng đến chi phí MediaLive của bạn (càng rộng, càng cao, tốc độ khung hình và tốc độ bit càng lớn thì chi phí phải bỏ ra là cao ho

Trang 20

Bước 8: Bắt đầu Kênh MediaLive

Bây giờ bạn đã sẵn sàng bắt đầu Kênh MediaLive của mình - Để bắt đầu luồng trực tiếp của bạn:

 Mở bảng điều khiển MediaLive

 Trên trang Channels, chọn kênh mà bạn muốn bắt đầu  Chọn Start

Trung bình, kênh của bạn sẽ bắt đầu phát trực tuyến trong khoảng ~1-2 phút Bạn có

thể theo dõi trạng thái kênh của mình trên trang chi tiết kênh, từ Channel state

Trạng thái kênh bắt đầu chạy

Trạng thái kênh đang chạy

Trang 21

Giao diện live Twitch

Giao diện live từ trình duyệt

Trang 22

Bước 9: Ngắt luồng video

Click vào Stop để ngắt luồng video -> kênh trở về trạng thái nhàn rỗi (Idle)

Kết luận, nhận xét:

=> Tối ưu hóa luồng trực tiếp bằng AWS, không còn hiện tượng mất luồng, đứt luồng khi truyền video lên các nền tảng chia sẻ video hiện hành

Ngày đăng: 24/04/2024, 04:59

Tài liệu cùng người dùng

Tài liệu liên quan