Phát trực tuyến dựa trên HTTP (HLS) là một giao thức video phát trực tiếp có tốc độ bit thích ứng cho phép truyền trực tuyến nội dung video chất lượng cao. DAI cho Ad Manager hỗ trợ HLS phiên bản 3. Hướng dẫn tích hợp này trình bày chi tiết các yêu cầu và đề xuất để sử dụng HLS.
Xem những tính năng được hỗ trợ cho video trực tiếp và video theo yêu cầuTính năng | Truyền hình trực tiếp truyền thống | Video theo yêu cầu (VOD) |
---|---|---|
EXTINF |
||
EXT-X-DATERANGE > SCTE35-IN |
— | |
EXT-X-DATERANGE > SCTE35-OUT |
— | |
EXT-X-DISCONTINUITY |
||
EXT-X-DISCONTINUITY-SEQUENCE |
— | |
EXT-X-ENDLIST |
* | |
EXT-X-I-FRAME-STREAM-INF |
||
EXT-X-I-FRAMES-ONLY |
||
EXT-X-INDEPENDENT-SEGMENTS |
||
EXT-X-KEY |
||
EXT-X-MEDIA (Nhóm hiển thị) |
||
EXT-X-MEDIA-SEQUENCE |
— | |
EXT-X-PLAYLIST-TYPE |
||
EXT-X-PROGRAM-DATE-TIME |
||
EXT-X-STREAM-INF > AUDIO |
||
EXT-X-STREAM-INF > AVERAGE-BANDWIDTH |
||
EXT-X-STREAM-INF > BANDWIDTH |
||
EXT-X-STREAM-INF > CLOSED CAPTIONS |
||
EXT-X-STREAM-INF > CODECS |
||
EXT-X-STREAM-INF > FRAMERATE |
||
EXT-X-STREAM-INF > RESOLUTION |
||
EXT-X-STREAM-INF > SUBTITLES |
||
EXT-X-STREAM-INF > VIDEO |
||
EXT-X-TARGETDURATION |
||
EXT-X-VERSION |
* Chỉ được hỗ trợ trong sự kiện phát trực tiếp đối với danh sách phát loại EVENT.
Chuyển tới một mục cụ thể
- Danh sách phát và nhóm hiển thị
- Bộ mã hoá và giải mã (codec) và độ phân giải
- Thời lượng phân khúc và Căn chỉnh dấu thời gian
- Gián đoạn
- Mã hoá nội dung nghe nhìn
Danh sách phát và nhóm hiển thị
Phân phối danh sách phát bằng cách sử dụng hoạt động mã hóa nội dung GZIP (nên dùng). Các biến thể trong danh sách phát chính và phân đoạn có thể sử dụng các URL tuyệt đối hoặc URL tương đối.
Tất cả nội dung quảng cáo được chuyển mã để bao gồm danh sách phát I-FRAME, kể cả phương tiện chặn. DAI trong Ad Manager không tạo danh sách phát I-FRAME từ nội dung hoặc tạo Nhóm hiển thị mới dựa trên tổ hợp video/âm thanh.
- Đối với nội dung truyền hình trực tiếp truyền thống: Nếu cần thiết, danh sách phát I-FRAME phải được tạo và điều chỉnh bằng bộ mã hoá/trình đóng gói. Nhóm hiển thị được phân phối khi được tạo qua bộ mã hoá trực tiếp.
- Đối với video theo yêu cầu (VOD): Nếu được yêu cầu, thì bạn phải cung cấp danh sách phát I-FRAME trong tệp kê khai chính khi nhập. Ad Manager sẽ chỉ báo lỗi nếu không thể truy cập hoặc phân tích cú pháp tệp danh sách phát I-FRAME đã cung cấp. Nhóm hiển thị được phân phối khi được cung cấp trong tệp kê khai chính.
Bộ mã hoá và giải mã (codec) và độ phân giải
Danh sách phát chính HLS cho thành phần luồng trực tiếp và video theo yêu cầu (VOD) phải bao gồm các thuộc tính tuỳ chọn CODECS
và RESOLUTION
. Các thuộc tính này được dùng để tìm quảng cáo thích hợp, phù hợp với chế độ cài đặt mã hoá. Nếu các giá trị này không được cung cấp, quảng cáo được khớp chỉ dựa trên băng thông và có thể dẫn đến sự không phù hợp về độ phân giải cũng như bộ mã hoá và giải mã (codec) giữa quảng cáo và nội dung. Điều này có thể dẫn đến trải nghiệm người dùng kém và các vấn đề phát lại trên các thiết bị khác nhau.
Thuộc tính CODECS
phải chứa cả codec âm thanh và video. Bộ mã hoá có thể thêm hoặc xoá các biến thể URL danh sách phát chính của bạn bất cứ lúc nào.
Bộ mã hoá và giải mã âm thanh
Tính năng DAI hỗ trợ bộ mã hoá và giải mã âm thanh AAC. DAI cũng hỗ trợ các bộ mã hoá và giải mã AC-3 và E-AC-3.
CODECS
và RESOLUTION
.Bạn nên đảm bảo cấu hình bộ mã hoá có thể duy trì URL nhất quán cho mỗi biến thể URL để người dùng không gặp phải các vấn đề khi phát.
Ví dụ
Danh sách phát chính có CODECS và RESOLUTION
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=694272,CODECS="avc1.77.41,mp4a.40.2",RESOLUTION=768x432
chunklist_b694272.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=202752,CODECS="avc1.66.31,mp4a.40.2",RESOLUTION=480x270
Chunklist_b202752.m3u8
Thời lượng phân đoạn
Danh sách phát truyền thông HLS phải có thời lượng phân đoạn truyền thông được xác định ở dạng số thập phân dấu chấm động. Thời lượng nên có độ chính xác số thực để giúp xác định thời điểm chính xác khi ngắt quảng cáo sẽ bắt đầu và kết thúc. Giá trị thời lượng càng kém chính xác thì hệ thống xác định thời điểm ngắt quảng cáo xuất hiện trong dòng kết quả càng ít chính xác.
Ví dụ
Danh sách phát nội dung đa phương tiện có #EXTINF
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:26
#EXTINF:9.901,
http://media.example.com/wifi/segment26.ts
#EXTINF:9.901,
http://media.example.com/wifi/segment27.ts
#EXTINF:9.501,
http://media.example.com/wifi/segment28.ts
Căn chỉnh dấu thời gian
Dấu thời gian trình bày (PTS) trên các phân đoạn trong danh sách phát truyền thông khác nhau phải phù hợp với nhau. P-frame và B-frame tham chiếu các khung khác để giải mã một khung. Bộ mã hoá và giải mã H.264 cũng tham chiếu các khung hình không liền kề để nén tốt hơn. Vì những khung này phụ thuộc vào các khung khác để giải mã và trình bày, Dấu thời gian giải mã (DTS) đưa ra trình tự các khung được giải mã và PTS đưa ra trình tự khung được trình bày. Việc căn chỉnh PTS là quan trọng khi bạn điều chỉnh theo tốc độ bit khác nhau trong lúc phát lại một nội dung. Chèn quảng cáo sử dụng PTS để tìm vị trí chèn quảng cáo.
Gián đoạn
Mọi EXT-X-DISCONTINUITY
trong danh sách phát nội dung nghe nhìn đều phải có EXT-X-DISCONTINUITY-SEQUENCE
. Thẻ EXT‑X‑DISCONTINUITY‑SEQUENCE
cho phép đồng bộ hoá giữa các lượt hiển thị của cùng luồng biến hoặc luồng biến riêng biệt.
Mã hoá nội dung nghe nhìn
Nếu bạn muốn mã hoá nội dung nghe nhìn, hãy mã hoá bằng:
- AES-128 (mã hoá toàn bộ phân khúc)
- SAMPLE-AES (mã hoá từng nội dung nghe nhìn, chẳng hạn như nội dung âm thanh hoặc video)
- SAMPLE-AES-CTR.
Tính năng DAI trên Ad Manager hỗ trợ công nghệ DRM cho luồng HLS thông qua FairPlay và các DRM khác có định dạng CMAF/MP4 phân mảnh.
Ví dụ
Danh sách phát nội dung đa phương tiện có #EXT-X-KEY
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:26
#EXT-X-KEY:METHOD=AES-128,URI="https://media.example.com/asset/key1.php?id=<signature>",IV=<initialization vector>
#EXTINF:9.901,
http://media.example.com/wifi/segment26.ts
#EXTINF:9.901,
http://media.example.com/wifi/segment27.ts
#EXT-X-KEY:METHOD=AES-128,URI="https://media.example.com/asset/key2.php?id=<signature>"
#EXTINF:9.501,
http://media.example.com/wifi/segment28.ts