AWS và OBS thiết lập phát trực tiếp
Tạo quy trình làm việc trực tiếp AWS, định cấu hình OBS, kiểm tra phát lại DRM và dừng tài nguyên sau sự kiện của bạn.
Video đã mã hóa và giấy phép DRM được truyền qua các đường riêng
CDN phân phối video đã mã hóa. Backend kiểm tra quyền truy cập, còn dịch vụ giấy phép DRM cho phép giải mã trên thiết bị tương thích.
- Lưu trữ / CDN
Phân phối nội dung đã mã hóa đến trình phát.
- Backend của bạn
Kiểm tra quyền xem và yêu cầu thông tin cấp quyền phát từ DRM-X.
- DRM-X
Xác thực thông tin cấp quyền phát và xử lý yêu cầu giấy phép DRM.
- Trình phát + thiết bị
Dùng hệ thống DRM của thiết bị để nhận giấy phép và phát nội dung đã mã hóa.
Trial và tài khoản trả phí có thể tạo kênh Trực tiếp DRM. Không cần kết nối lưu trữ S3 cho quy trình làm việc này. AWS tính phí riêng cho mã hóa phương tiện, đóng gói, phân phối và tài nguyên được giữ lại.
Luồng phân phối là OBS → AWS Elemental MediaLive → MediaPackage v2 → CloudFront → trình phát DRM-X. DRM-X cung cấp khóa mã hóa qua SPEKE và cấp quyền cho từng người xem bằng DRM License Token.
Tạo sự kiện trực tiếp trong DRM-X#
- Đăng nhập vào bảng điều khiển dành cho khách hàng và chọn tổ chức và môi trường sẽ sở hữu sự kiện.
- Mở Live events → New Live Channel. Nhập tiêu đề. Đối với tài khoản mới, hãy chọn Create new live content và nhập Content ID duy nhất. Ngoài ra, hãy chọn nội dung trực tiếp hiện có.
- Chọn vùng AWS, khoảng thời gian xoay và cửa sổ DVR. Sử dụng cùng một vùng AWS cho MediaLive, MediaPackage và cầu SPEKE. Giá trị bắt đầu là 600 giây để xoay và 7200 giây cho phương tiện DVR được giữ lại.
- Tạo kênh. Lưu bí mật nguồn gốc một lần của nó một cách an toàn, cùng với việc tích hợp ID và các ID tài nguyên DASH và HLS riêng biệt. Không bao giờ đưa bí mật vào trình phát, ảnh chụp màn hình, phiếu hỗ trợ hoặc kho lưu trữ công khai.
Kênh DRM-X là cấu hình nội dung và ủy quyền. Khởi động DRM-X Live Run và khởi động bộ mã hóa AWS là các thao tác riêng biệt.
Định cấu hình tài khoản AWS của bạn#
- Sử dụng tài khoản AWS đã bật tính năng thanh toán và nhà điều hành được ủy quyền có thể quản lý các vai trò dịch vụ CloudFormation, MediaLive, MediaPackage v2, API Gateway, IAM dịch vụ và CloudFront. Kiểm tra hạn ngạch khu vực và giá cả hiện tại trước buổi diễn tập của bạn.
- Tải xuống mẫu DRM-X AWS CloudFormation mẫu từ bảng điều khiển. Tạo ngăn xếp với
CreateMediaResources=false, ID tài nguyên/tích hợp DRM-X và bí mật nguồn gốc. Mẫu tạo các vai trò dịch vụ có phạm vi và một cầu nối IAM được ủy quyền SPEKE. - Trong DRM-X Configure AWS, nhập AWS tài khoản ID của bạn và chính xác của ngăn xếp là
SpekeRoleArn. Bắt đầu DRM-X Live Run để các yêu cầu khóa được xác thực có thể thành công. - Cập nhật cùng một ngăn xếp với
CreateMediaResources=true. Giữ bí mật hiện có và các thông số khác. Chờ cho ngăn xếp hoàn thành. - Sao chép các đầu ra ngăn xếp
DashOriginUrl,HlsOriginUrl,DashCloudFrontUrlvàHlsCloudFrontUrlvào các trường DRM-X phù hợp. Người xem sử dụng URL CloudFront. Nguồn gốc vẫn bị giới hạn ở CloudFront. - Tạo đầu vào MediaLive RTMP push. Chỉ cho phép IP công khai hiện tại của đài truyền hình với quy tắc bảo mật đầu vào
/32. Địa chỉ IP được thay đổi bởi ISP của bạn yêu cầu cập nhật quy tắc đó. - Tạo kênh MediaLive với
MediaLiveRoleArncủa ngăn xếp, đính kèm đầu vào và thêm nhóm đầu ra MediaPackage v2 CMAF bằng cách sử dụng nhóm kênh và tên kênh của ngăn xếp. Một đường ống duy nhất phù hợp cho thử nghiệm giới hạn; một sự kiện sản xuất cần có thiết kế dự phòng phù hợp.
Template tạo DASH-CENC cho Widevine và PlayReady, HLS-CBCS cho FairPlay. Contract PRESET_AUDIO_1 và PRESET_VIDEO_3 dùng các khóa riêng cho audio, SD, HD và UHD. Hệ thống đang dùng PRESET_VIDEO_2 cần xem xét cập nhật contract mã hóa trước khi thêm UHD với chính sách riêng. Xem preset mã hóa AWS.
Cấu hình OBS Studio cho 4K#
- Sao chép hồ sơ OBS của bạn và bộ sưu tập cảnh. Đặt cho họ một cái tên sự kiện trực tiếp dễ nhận biết.
- Thêm nguồn video hoặc nguồn ghi hình dự kiến. Xác nhận nó thực sự có kích thước 3840×2160, lắp nó vào khung vẽ và xác minh âm thanh của nó. Đối với tệp diễn tập, hãy bật Vòng lặp. Ẩn các ảnh chụp cửa sổ hoặc màn hình không sử dụng.
- Trong Settings → Video, đặt cả độ phân giải canvas và đầu ra thành
3840x2160và chọn30khung hình/giây cho ví dụ này. - Trong Output → Advanced → Streaming, chọn bộ mã hóa phần cứng H.264 được hỗ trợ, chẳng hạn như NVIDIA NVENC H.264. Sử dụng CBR
18000 Kbps, khoảng thời gian khung hình chính2 s, high profile và tắt tính năng thay đổi tỷ lệ đầu ra. Với NVENC, P5 và Chất lượng cao là điểm khởi đầu; kiểm tra tải mã hóa trong quá trình diễn tập. - Sử dụng âm thanh AAC và âm thanh nổi 48 kHz. Vô hiệu hóa các nguồn âm thanh máy tính để bàn và micrô không mong muốn.
- Trong Stream, chọn Custom. Tách URL đầu vào RTMP của MediaLive thành URL máy chủ/ứng dụng và phần tên luồng ở cuối. Nhập phần cuối vào Stream Key và giữ giá trị ở chế độ che.
Sử dụng kết nối tải lên ổn định với khoảng trống cao hơn tốc độ bit video và âm thanh kết hợp. Nếu OBS báo cáo mạng bị gián đoạn hoặc mã hóa bị rớt, hãy sửa chúng trước khi mở sự kiện cho người xem. Xem OBS hướng dẫn mã hóa phần cứng.
Cấu hình đầu ra thích ứng#
Đối với cài đặt OBS ở trên, hãy sử dụng thông số đầu vào AVC/UHD MediaLive với tốc độ tối đa 20 Mbps. Tạo các đầu ra H.264 sau ở tốc độ 30 khung hình/giây, với các GOP đóng 2 giây và các phân đoạn CMAF 6 giây được căn chỉnh. Giữ âm thanh AAC trong phiên bản riêng của nó.
| Độ phân giải | Ví dụ về tốc độ bit của video | Nhóm khóa |
|---|---|---|
| 3840×2160 | 16 Mbps | UHD |
| 1920×1080 | 5 Mbps | HD |
| 1280×720 | 2.5 Mbps | HD |
| 854×480 | 1.2 Mbps | SD |
| 640×360 | 0.7 Mbps | SD |
Đây là cài đặt diễn tập, không đảm bảo chất lượng. Kênh 4K vẫn cần mức hiển thị thấp hơn cho màn hình nhỏ hơn, mạng bị hạn chế và thiết bị có mức bảo mật DRM giới hạn chất lượng. Kiểm tra hỗ trợ độ phân giải và codec MediaLive hiện tại khi chọn một bộ mã hóa khác.
Sử dụng lại kênh sau sự kiện trước đó#
Bộ mã hóa đang chạy không chứng minh rằng người xem nhận được nội dung mới. Kiểm tra header manifest-last-updated của MediaPackage và các độ phân giải được cung cấp. Nếu kênh tái sử dụng vẫn trả về segment cũ sau khi thay đổi bộ mã hóa hoặc rendition, hãy làm theo quy trình đặt lại lịch sử kênh AWS.
- Xác nhận nội dung DVR trước đó có thể bị xóa vĩnh viễn; thiết lập lại không phải là một hoạt động khôi phục.
- Dừng OBS và kênh MediaLive. Chờ MediaLive về trạng thái Idle.
- Trong MediaPackage, đặt lại lịch sử cho kênh kiểm tra cụ thể. Đợi ít nhất 30 giây sau khi quá trình thiết lập lại hoàn tất.
- Khởi động MediaLive, chờ trạng thái Running, rồi khởi động OBS. Kiểm tra lại media DASH/HLS mới, trao đổi SPEKE và phát trên thiết bị.
Thêm sự kiện vào PHP, Android và iOS#
Sử dụng cùng một môi trường và Content ID trực tiếp trên tất cả các ví dụ. Giữ Site Key và Access Key trên máy chủ PHP của bạn. Sự kiện mẫu được tổ chức là aws-live-test-20260902, có tiêu đề 4K Live DRM Test; nó chỉ khả dụng khi buổi diễn tập đang diễn ra.
Trong PHP, thêm mục danh sách phát đáng tin cậy với id, title và type: live. Đăng nhập lại để làm mới các quyền trong phiên của mẫu. Phần phụ trợ giải quyết bảng kê khai trực tiếp đã đăng ký và từ chối loại do khách hàng cung cấp không khớp với danh mục.
'playlist' => [
['id' => 'your-live-content-id', 'title' => 'My live event', 'type' => 'live'],
],Trong Android, thêm DrmXPlaylistItem("your-live-content-id", "My live event", "live") và chuyển loại nội dung của nó khi chuẩn bị phát lại. Trong mẫu Apple, sử dụng DrmXPlaylistItem(contentId: "your-live-content-id", title: "My live event", contentType: .live). Các mục trực tiếp là để phát trực tuyến và không được đưa vào hàng đợi tải xuống ngoại tuyến.
Bắt đầu, xác minh và dừng#
- Khởi động DRM-X Live Run, sau đó khởi động kênh AWS MediaLive. Chờ MediaLive hiển thị Running.
- Bắt đầu phát trực tuyến ở OBS. Kiểm tra tốc độ bit, khung hình bị rớt, âm thanh và tải bộ mã hóa.
- Xác nhận manifest DASH/HLS tiếp tục cập nhật và chứa các representation cùng tín hiệu DRM dự kiến. Kiểm tra hình ảnh và âm thanh đã decode trên trình duyệt, Android với Widevine và iPhone với FairPlay. Giữ một trình phát kết nối qua ít nhất một lần xoay khóa, sau đó kiểm tra người xem mới tham gia.
- Khi kết thúc thử nghiệm, dừng luồng OBS, kênh MediaLive và DRM-X Live Run. Xác nhận MediaLive trở về Idle.
Chỉ dừng OBS không thôi không dừng được phí bộ mã hóa AWS. Kiểm tra riêng phí đầu vào, đóng gói/lưu trữ, yêu cầu và phân phối được giữ lại. Xem MediaLive giá và bảng điều khiển thanh toán AWS của bạn.
Buổi diễn tập đã được xác minh: 17 tháng 9 năm 2026#
Kênh cung cấp video mã hóa 3840×2160 cùng các rendition thích ứng có độ phân giải thấp hơn. iPhone 11 thật decode 4K và vượt qua sáu phút phát qua một mốc của chu kỳ xoay khóa 600 giây. Samsung S24 Ultra vượt qua mười phút ở 1080p, mức hiển thị tối đa mà thiết bị báo cáo. Cả hai đều vượt qua thử nghiệm tham gia mới sau khi xoay khóa. Kết quả chỉ áp dụng cho thiết bị, codec và chính sách đã thử.
Sử dụng Android SDK 1.0.0-preview.13 trở lên đối với các tệp kê khai trực tiếp không được lưu trong bộ nhớ đệm. Nâng cấp ứng dụng đánh giá Android hiện có để duy trì các video đã tải xuống. Mẫu Apple cập nhật giữ nguyên khóa ID và IV trong khi nén siêu dữ liệu MediaPackage để vừa với giới hạn định danh 200 byte SPC của FairPlay. Tùy chọn độ phân giải của nó cung cấp cả chiều rộng và chiều cao để tính năng phát lại thích ứng có thể đạt tới 4K.
Safari phát lại trực tiếp
Sử dụng Web SDK 1.2.0-preview.13 trở lên cho Safari. Nó chọn Apple Media Keys gốc khi khả dụng trên macOS, iOS và iPadOS, đồng thời giữ nguyên API đó trong các thay đổi danh sách phát trực tiếp và VOD. Tính năng phát lại trực tiếp không quay trở lại MSE/SINF, có thể yêu cầu các khóa phân đoạn khởi tạo cũ sau khi MediaPackage xoay các khóa của nó. Giữ chính xác khóa hiện tại ID và IV trong tín hiệu HLS.
DRM-X SPEKE phát ra mã định danh nội dung KeyId/IV nhỏ gọn để Safari có thể yêu cầu giấy phép FairPlay trong giới hạn kích thước mã định danh. DRM License Token vẫn cấp phép nội dung và khóa chính xác. Sau khi cập nhật Key Service, hãy xác minh rằng cổng SPEKE phụ thuộc của nó đang chạy; bộ mã hóa nhận video không thể xuất bản đầu ra được bảo vệ mới trong khi không thể phân phối khóa.
Một thử nghiệm Safari riêng kéo dài 15 phút đã xác nhận việc phát tiếp tục qua một lần xoay khóa trên Mac và iPhone. iPhone dùng Apple Media Keys native. Mac dùng EME hiện đại để kiểm tra xoay khóa, sau đó vượt qua thử nghiệm kết nối mới bằng Apple Media Keys native khi EME hiện đại gặp lỗi khởi động gián đoạn. Phát thích ứng trong trình duyệt đạt 720p trên Mac và 480p trên iPhone. Kết quả này không xác nhận phát 4K trong trình duyệt hoặc xoay khóa trên đường tương thích cuối cùng của Mac. Kết quả 4K của ứng dụng native ở trên thuộc một thử nghiệm khác.
Trước khi bắt đầu buổi diễn tập
- Xác minh rằng điểm cuối SPEKE có thể truy cập được và bảng điều khiển hiển thị trao đổi gần đây. Bộ mã hóa nhận đầu vào vẫn có thể phân phối phương tiện cũ khi việc phân phối khóa không thành công.
- Tách biệt bộ nhớ đệm phương tiện VOD/ngoại tuyến với nguồn tệp kê khai trực tiếp.
- Kiểm tra kích thước được giải mã thực tế; chỉ chọn kênh 4K không chứng tỏ khả năng phát lại 4K.
- Buổi thử nghiệm này đã dừng. Trước khi kiểm tra lại mục phát trực tiếp trong catalog, hãy khởi động DRM-X Live Run mới đã được cấp quyền, bộ mã hóa AWS và luồng OBS.
DRM-X 6.0