- Để 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
Trang 1HỌ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 2Giớ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 3Bướ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
Trang 4Bucket name: tên của bucket
Relion: Nơi lưu trữ file
Trang 5Cuối cùng chọn Create Bucket
Thành công khi tạo bucket
Trang 6Bướ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 7Bướ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 10Bướ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 12Bướ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
s3ssl://YOUR_INPUT_BUCKET_NAME/CONTENT_OBJECT_KEY.mp4
Chọn Create
Trang 14Bướ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 17Bướ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 18https://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 20Bướ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 21Giao diện live Twitch
Giao diện live từ trình duyệt
Trang 22Bướ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