Tối ưu hóa cho tính bền vững với việc sử dụng lại mã hóa video trong AWS Elemental MediaLive

Các khách hàng của Amazon Web Services (AWS) ngày càng nhận thức rõ về việc tiêu thụ năng lượng và dấu chân carbon liên quan đến các quy trình công nghệ thông tin và phương tiện truyền thông. Họ đang tìm kiếm hướng dẫn về cách giảm sử dụng tài nguyên không cần thiết. Đối với những khách hàng muốn tối ưu hóa kiến trúc AWS để tiết kiệm năng lượng, chúng tôi cung cấp Pillar Vận hành bền vững trong AWS Well-Architected Framework. Pillar Vận hành bền vững cung cấp nguyên tắc thiết kế, hướng dẫn vận hành, các best-practices, các lựa chọn có thể và kế hoạch cải thiện để đạt được mục tiêu về bền vững cho khối lượng công việc AWS của bạn.

Trong bài viết blog này, chúng tôi sẽ làm nổi bật cách áp dụng các best practices và hướng dẫn được thiết lập trong Pillar Vận hành bền vững vào quy trình công việc truyền thông cho việc mã hóa video và âm thanh. Chúng tôi sẽ chỉ ra các ví dụ cụ thể để minh họa cách cấu hình quy trình công việc mã hóa video trực tiếp để giảm tiêu thụ năng lượng bằng cách chia sẻ quy trình mã hóa trong AWS Elemental MediaLive khi có thể. Điều này có nghĩa là bạn có thể chia sẻ một quy trình mã hóa cho nhiều đầu ra giống nhau thay vì mã hóa một lần cho mỗi đầu ra.

Bảo vệ Môi trường là Trách nhiệm Chung giữa AWS và Khách hàng

AWS (Amazon Web Services) tập trung vào hiệu suất và sự đổi mới liên tục trong hệ thống cơ sở hạ tầng toàn cầu của mình, trong hành trình tiến đến việc sử dụng 100% năng lượng tái tạo vào năm 2025. AWS cam kết đạt được mục tiêu về carbon net-zero của Amazon vào năm 2040.

AWS chịu trách nhiệm tối ưu hóa tính bền vững của đám mây – cung cấp cơ sở hạ tầng chung hiệu suất cao, quản lý tài nguyên nước và sử dụng nguồn năng lượng tái tạo.

Khách hàng có trách nhiệm đảm bảo tính bền vững trong đám mây – tối ưu hóa khối lượng công việc và sử dụng tài nguyên, và giảm thiểu tổng tài nguyên cần triển khai cho khối lượng công việc của họ.

Mã hóa video trực tiếp

AWS Elemental MediaLive là một dịch vụ xử lý video trực tiếp chất lượng phát sóng, tạo ra các luồng chất lượng cao để phát sóng trên truyền hình và các thiết bị kết nối internet. Dịch vụ này được sử dụng bởi hàng ngàn công ty và cá nhân để mã hóa/giải mã luồng video trực tiếp cho các loại ứng dụng phát sóng khác nhau, như mô tả trong bài viết “Back to basics: HTTP video streaming”.

Như đã giải thích chi tiết trong bài viết “Back to basics: Mechanisms used behind the scenes in video compression”, mục đích chính của việc nén video là để giảm khối lượng dữ liệu cần thiết để ghi lại, lưu trữ và truyền tải video. Áp dụng các thuật toán mã hóa tiên tiến và đòi hỏi tính toán sẽ dẫn đến yêu cầu giảm cho phần cứng lưu trữ, thời gian truyền tải dữ liệu và băng thông để phát sóng video chất lượng cao qua internet.

Tìm cơ hội để tái sử dụng các quá trình mã hóa có thể tránh xử lý trùng lặp, từ đó giảm lượng năng lượng cần thiết để hoàn thành nhiệm vụ mã hóa.

Các trường hợp sử dụng khác nhau đòi hỏi các hồ sơ mã hóa khác nhau, và đôi khi cần tạo nhiều bản sao của cùng một luồng video/audio đã mã hóa. Điều này có thể cần thiết trong các hệ thống nơi cùng video được phát ra nhiều lần với các ngôn ngữ và phần bình luận âm thanh khác nhau, trong các hệ thống nơi cùng luồng được cung cấp đến các địa điểm khác nhau, hoặc khi cần nhiều loại đầu ra MediaLive khác nhau (ví dụ: lưu trữ, luồng truyền tải (ts), HTTP Live Streaming (HLS), Microsoft Smooth Streaming (MSS) và các loại khác).

Cách mặc định để tạo nhiều luồng đầu ra là mã hóa luồng video/audio một lần cho mỗi đầu ra. Tuy nhiên, điều này làm tăng tổng quá trình xử lý trong MediaLive, dẫn đến tiêu thụ năng lượng nhiều hơn và do đó tạo ra dấu chân carbon lớn hơn. Thay vào đó, việc tái sử dụng cùng một luồng đầu ra từ một quá trình mã hóa duy nhất có thể dẫn đến giảm tiêu thụ năng lượng tổng thể, điều này khớp với các phương pháp tốt nhất từ Khối Pillar về Tính bền vững.

Ở phần sau, chúng tôi sẽ mô tả cách cấu hình việc tái sử dụng luồng đầu ra bằng cách sử dụng AWS Management Console.

Bước 2 – Tạo một nhóm đầu ra thứ hai. Lần này, thay vì cấu hình thành phần video, hãy nhấp vào Xóa video và sau đó nhấp vào Thêm video. Từ menu thả xuống, hãy chọn video được liệt kê dưới Use one of the following video encodes. Trong ví dụ này, chúng tôi chọn Video: video_original (H.264, 1920×1080) trong đó ‘video_original’ là Tên Mô tả Video được sử dụng trong Bước 1.

Ảnh chụp cấu hình MediaLive của các thiết lập nhóm đầu ra:

Hình ảnh của cấu hình MediaLive hiển thị lựa chọn “Sử dụng một trong các mã hóa video sau đây”

Bước 3 – Từ hộp thoại pop-up có tên “Sử dụng mã hóa video hiện có”, đảm bảo chọn tùy chọn “Chia sẻ mã hóa hiện có” và nhấp vào Xác nhận.

Ảnh chụp cấu hình MediaLive sẽ cho chúng ta thấy lựa chọn “Share the existing encode” như sau:

Khi chọn tùy chọn này, luồng video mới sẽ trở thành một bản sao (gọi là ‘luồng video chia sẻ’) của luồng video đầu tiên. Điều này có nghĩa rằng quá trình chuyển đổi video sẽ chỉ được thực hiện một lần cho cả hai đầu ra. Trong ví dụ này, lượng đơn vị tính toán cơ bản cần thiết bởi MediaLive để mã hóa đầu ra trực tiếp sẽ giảm từ hai xuống còn một, bởi vì MediaLive có thể sử dụng lại dữ liệu từ đầu ra đầu tiên cho đầu ra thứ hai.

Phương pháp thiết kế này phù hợp với một số best practices của Sustainability Pillar, bao gồm việc sử dụng tối thiểu lượng phần cứng để đáp ứng nhu cầu của bạn, sử dụng dịch vụ quản lý và loại bỏ hoặc tái thiết kế các thành phần công việc có sử dụng thấp hoặc không có sử dụng.

Ảnh chụp màn hình của giao diện MediaLive hiển thị đầu ra được xem xét là một luồng video được chia sẻ.

Lưu ý rằng việc sử dụng lại một thành phần trong cách này có nghĩa là những thay đổi được thực hiện trên bất kỳ thành phần nhóm đầu ra nào cũng tự động được cập nhật trên nhóm đầu ra khác. Điều này rất tiện lợi vì không cần thực hiện những thay đổi giống nhau nhiều lần, điều này cũng đảm bảo cấu hình của các luồng đầu ra này không thay đổi. Điều quan trọng khác cần lưu ý là việc sử dụng lại các mã hóa không dẫn đến chi phí thấp hơn vì MediaLive tính phí dựa trên mỗi đầu ra.

Các Thực Hành Tốt về Khả năng Bền Vững Bổ Sung

Có các Thực Hành Tốt về Khả năng Bền Vững khác không được đề cập chi tiết trong bài viết này. Ví dụ, việc lựa chọn Khu vực AWS có thể ảnh hưởng đến lượng khí nhà kính của tải công việc dựa trên sự cường độ khí nhà kính của lưới năng lượng địa phương và sự gần gũi với dự án năng lượng tái tạo của Amazon. Đọc thêm trong Phần Khả năng Bền Vững về cách Chọn Khu vực dựa trên cả yêu cầu kinh doanh và mục tiêu về khả năng bền vững và khám phá việc sử dụng một trong 19 Khu vực AWS mà lượng điện tiêu thụ được coi là dựa trên 100% năng lượng tái tạo vào năm 2022. Một ví dụ khác khi xem xét Khả năng Bền Vững nên ảnh hưởng đến phần lựa chọn thiết kế là khi chọn giữa việc sử dụng kênh tiêu chuẩn hoặc kênh đường ống đơn cho luồng truyền thông. Kênh đường ống tiêu chuẩn cung cấp sự có sẵn cao hơn bằng cách sử dụng xử lý MediaLive dự phòng trong hai Vùng Khả dụng (AZ) riêng biệt. Lưu ý rằng tính sẵn có cao hơn này là một sự đánh đổi của chi phí cao hơn và thực tế là tăng gấp đôi lượng tài nguyên mã hóa cần thiết trong kênh.

Kiến Trúc Tham Khảo

Một kiến trúc tham khảo để xây dựng cấu hình này bằng AWS Cloud Development Kit (CDK) có thể được tìm thấy trong kho GitHub mẫu AWS này.

Phần Dỡ Bỏ

Xin hãy nhớ dừng hoặc loại bỏ bất kỳ kênh MediaLive nào không được sử dụng để tránh sử dụng tài nguyên và năng lượng không cần thiết.

Kết Luận

Việc sử dụng lại các mã hóa là lựa chọn lý tưởng khi xử lý các hệ thống trong đó cần nhiều bản sao của cùng một video và/hoặc thành phần âm thanh. Điều này tiện lợi để thực hiện thay đổi vì tất cả các thành phần được sao chép tự động được cập nhật. Ngoài ra, quan trọng hơn, bằng cách sử dụng lại các mã hóa thay vì mã hóa nhiều lần, tổng quá trình và tiêu thụ năng lượng có thể giảm đi.

Bây giờ bạn đã hiểu rõ hơn về khái niệm việc sử dụng lại mã hóa video trong MediaLive, chúng tôi khuyến nghị bạn áp dụng kiến thức này vào quy trình làm việc video của AWS của riêng bạn.