Tải bản đầy đủ (.pdf) (22 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.94 MB, 22 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b> HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG </b>

<b>Mơn: Điện tốn đám mây </b>

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

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>Giới thiệu </b>

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

đượ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.

<b>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 </b>

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 số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ể.

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

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.

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

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.

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

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>Bước 1: Tạo Amazon S3 Bucket </b>

Để 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 .

- 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.

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í

<b>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. </b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

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

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<i><b>Cuối cùng chọn Create Bucket </b></i>

<i>Thành công khi tạo bucket </i>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

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

<i>Upload video thành công </i>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>Bước 3: Tạo Mediastore container </b>

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:

<b> 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 </b>

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:

<b> Trên trang Container, chọn Container policy  Chọn Edit policy </b>

 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

<b> Chọn Save </b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

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

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

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

<b> Chọn Save </b>

- Để 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):

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

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

<b> Chọn Save </b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

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

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

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

<b> Chọn Save </b>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>Bước 4: Tạo CloudFront distribution </b>

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

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

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

trước đó

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

<b> Đố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 </b>

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

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

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

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

<b> Chọn Create Distribution </b>

<b> Sao chép và lưu ý Domain Name. </b>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>Bước 5: Tạo Medialive Input </b>

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

<b> 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 </b>

<b> Đối với Input class, chọn SINGLE_INPUT </b>

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

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

<b> Chọn Create </b>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>Bước 6: Tạo kênh MediaLive </b>

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

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

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

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

<b>- Đối với IAM role </b>

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

danh sách thả xuống

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

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

<b>HLS từ danh sách thả xuống </b>

<b> Đối với Channel Class, chọn SINGLE_PIPELINE </b>

 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

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b> 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 </b>

<b>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 </b>

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

<b> 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 </b>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b> Chọn Confirm </b>

<b> Tiếp theo Chọn Create channel </b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

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

Để 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

<b> Trên trang Channels, chọn tên kênh </b>

<b> Chọn Channel actions chọn Edit channel  Trong Output groups, chọn Add </b>

<b> Chọn RTMP, sau đó chọn Confirm </b>

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

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

 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

<b>rtmp://rtmp.twitch.tv/ </b>

 Đố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

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

sau đó sao chép luồng chính chìa khóa

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

<b> Đố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 </b>

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

<b> Đố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 </b>

vào của bạn

<b> Đối với Codec Settings, chọn 264 </b>

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

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b> Updatechannel </b>

- 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

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>Bước 8: Bắt đầu Kênh MediaLive </b>

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

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

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ó

<b>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. </b>

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

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

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<i>Giao diện live Twitch </i>

<i>Giao diện live từ trình duyệt </i>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>Bước 9: Ngắt luồng video </b>

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

<b>Kết luận, nhận xét: </b>

=> 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.

</div>

×