Tài liệu này mô tả bộ mã hoá và giải mã nội dung nghe nhìn, vùng chứa và hỗ trợ giao thức mạng do nền tảng Android cung cấp.
Các bảng dưới đây mô tả tính năng hỗ trợ định dạng nội dung nghe nhìn được tích hợp sẵn trong nền tảng Android. YES (CÓ) nghĩa là định dạng này có trên thiết bị cầm tay và máy tính bảng chạy tất cả phiên bản Android. Khi bạn chỉ định một nền tảng Android cụ thể, định dạng này sẽ có trên điện thoại di động và máy tính bảng chạy phiên bản đó và tất cả các phiên bản sau đó. Định dạng này cũng có thể có trong các phiên bản cũ hơn, nhưng chúng tôi không đảm bảo điều này. Trên các kiểu dáng khác ngoài điện thoại di động và máy tính bảng, khả năng hỗ trợ định dạng nội dung nghe nhìn có thể khác nhau.
Xin lưu ý rằng một thiết bị di động cụ thể có thể hỗ trợ thêm các định dạng hoặc loại tệp không có trong các bảng này. Ngoài ra, nếu sử dụng trực tiếp MediaCodec, bạn có thể truy cập vào bất kỳ định dạng nội dung nghe nhìn nào hiện có, bất kể loại tệp và định dạng vùng chứa được hỗ trợ.
Hỗ trợ âm thanh
Định dạng | Bộ mã hoá | Bộ giải mã | Định dạng vùng chứa loại tệp | Thông tin chi tiết | |
---|---|---|---|---|---|
Công cụ trích xuất | Trình kết hợp | ||||
AAC LC | CÓ | CÓ |
• 3GPP (.3gp) • ADTS AAC thô (.aac, không hỗ trợ ADIF) • MPEG-TS (.ts, không thể tua, Android 3.0 trở lên) |
• 3GPP (.3gp) • ADTS raw AAC (.aac, ADIF không được hỗ trợ) • MPEG-TS (không chắc chắn) (.ts, không thể tua, Android 3.0 trở lên) |
Hỗ trợ nội dung đơn âm/âm thanh nổi/5.0/5.1 với tốc độ lấy mẫu tiêu chuẩn từ 8 đến 48 kHz. |
HE-AACv1 (AAC+) | Android 4.1 trở lên | CÓ | |||
HE-AACv2 (AAC+ nâng cao) | CÓ | Hỗ trợ nội dung âm thanh nổi/5.0/5.1 với tốc độ lấy mẫu tiêu chuẩn từ 8 đến 48 kHz. | |||
xHE-AAC | Android 9 trở lên | Hỗ trợ nội dung tối đa 8 kênh với tốc độ lấy mẫu tiêu chuẩn từ 8 đến 48 kHz | |||
AAC ELD (AAC độ trễ thấp nâng cao) | Android 4.1 trở lên | Android 4.1 trở lên | Hỗ trợ nội dung đơn âm/âm thanh nổi với tốc độ lấy mẫu tiêu chuẩn từ 16 đến 48 kHz | ||
AMR-NB | CÓ | CÓ |
• 3GPP (.3gp) • AMR (.amr) |
• 3GPP (.3gp) • AMR (.amr) |
4,75 đến 12,2 kbps lấy mẫu ở 8 kHz |
AMR-WB | CÓ | CÓ | 9 tốc độ từ 6,60 kbit/giây đến 23,85 kbit/giây lấy mẫu ở 16 kHz | ||
FLAC | Android 4.1 trở lên | Android 3.1 trở lên |
• FLAC (.flac) • MPEG-4 (.mp4, .m4a, Android 10 trở lên) • Matroska (.mkv) |
Đơn âm/Âm thanh nổi (không có đa kênh). Tốc độ lấy mẫu lên đến 48 kHz (nhưng nên dùng tốc độ lấy mẫu lên đến 44,1 kHz trên các thiết bị có đầu ra 44,1 kHz, vì bộ lấy mẫu giảm 48 xuống 44,1 kHz không bao gồm bộ lọc thông thấp). Nên dùng 16 bit; không áp dụng kỹ thuật tạo nhiễu cho 24 bit. | |
MIDI | CÓ |
• Loại 0 và 1 (.mid, .xmf, .mxmf) • RTTTL/RTX (.rtttl, .rtx) • OTA (.ota) • iMelody (.imy) |
MIDI Loại 0 và 1. DLS Phiên bản 1 và 2. XMF và XMF dành cho thiết bị di động. Hỗ trợ các định dạng nhạc chuông RTTTL/RTX, OTA và iMelody | ||
MP3 | CÓ |
• MP3 (.mp3) • MPEG-4 (.mp4, .m4a, Android 10 trở lên) • Matroska (.mkv, Android 10 trở lên) |
Âm thanh đơn kênh/âm thanh nổi 8-320 Kb/giây không đổi (CBR) hoặc tốc độ bit thay đổi (VBR) | ||
Opus | Android 10 trở lên | Android 5.0 trở lên |
• Ogg (.ogg) • MPEG-4 (.mp4) • Matroska (.mkv) |
• Ogg (.ogg) • WebM (.webm) |
|
PCM/WAVE | Android 4.1 trở lên | CÓ | WAVE (.wav) | PCM tuyến tính 8 và 16 bit (tốc độ lên đến giới hạn của phần cứng). Tốc độ lấy mẫu cho bản ghi PCM thô ở 8000, 16000 và 44100 Hz. | |
Vorbis | CÓ |
• Ogg (.ogg) • Matroska (.mkv, Android 4.0 trở lên) • MPEG-4 (.mp4, .m4a, Android 10 trở lên) |
• WebM (.webm) |
Hỗ trợ video
Định dạng video
Định dạng | Bộ mã hoá | Bộ giải mã | Định dạng vùng chứa loại tệp | Thông tin chi tiết | |
---|---|---|---|---|---|
Công cụ trích xuất | Trình kết hợp | ||||
H.263 | CÓ | CÓ |
• 3GPP (.3gp) • MPEG-4 (.mp4) • Matroska (.mkv) |
• 3GPP (.3gp) • MPEG-4 (.mp4) |
Không bắt buộc phải hỗ trợ H.263 trong Android 7.0 trở lên |
H.264 AVC Hồ sơ cơ sở (BP) |
Android™ 5.0 ® | CÓ |
• 3GPP (.3gp) • MPEG-4 (.mp4) • MPEG-TS (.ts, chỉ âm thanh AAC, không thể tua, Android 3.0 trở lên) • Matroska (.mkv) |
• 3GPP (.3gp) • MPEG-4 (.mp4) |
|
H.264 AVC Cấu hình chính (MP) |
Android 6.0 trở lên | CÓ | Bạn bắt buộc phải có bộ giải mã và nên có bộ mã hoá. | ||
H.265 HEVC | Android 5.0 trở lên |
• MPEG-4 (.mp4) • Matroska (.mkv) |
• MPEG-4 (.mp4) | Hồ sơ chính cấp 3 cho thiết bị di động và Hồ sơ chính cấp 4.1 cho Android TV | |
MPEG-4 SP | CÓ | • MPEG-4 (.mp4) | • MPEG-4 (.mp4) | ||
VP8 | Android 4.3 trở lên | Android 2.3.3 trở lên |
• WebM (.webm) • Matroska (.mkv, Android 4.0 trở lên) |
• WebM (.webm) | Chỉ có thể truyền trực tuyến trên Android 4.0 trở lên |
VP9 | Android 4.4 trở lên |
• WebM (.webm) • Matroska (.mkv) • MPEG-4 (.mp4) |
• WebM (.webm) | ||
AV1 | Android 14 trở lên | Android 10 trở lên |
• MPEG-4 (.mp4) • Matroska (.mkv) |
• MPEG-4 (.mp4) | Bộ mã hoá và bộ giải mã là bắt buộc kể từ Android 14. |
APV | Android 16 trở lên | Android 16 trở lên | • MPEG-4 (.mp4) | • MPEG-4 (.mp4) | Bộ mã hoá và bộ giải mã là bắt buộc kể từ Android 16. |
Đề xuất về việc mã hoá video
Bảng dưới đây liệt kê các hồ sơ và tham số mã hoá video khung nội dung nghe nhìn Android được đề xuất để phát bằng bộ mã hoá và giải mã Hồ sơ cơ sở H.264. Các đề xuất tương tự cũng áp dụng cho bộ mã hoá và giải mã Hồ sơ chính, chỉ có trong Android 6.0 trở lên.
SD (Chất lượng thấp) | SD (Chất lượng cao) | HD 720p (Không áp dụng trên tất cả thiết bị) | |
---|---|---|---|
Độ phân giải video | 176 x 144 px | 480 x 360 px | 1280 x 720 px |
Tốc độ khung hình video | 12 khung hình/giây | 30 fps | 30 fps |
Tốc độ bit của video | 56 Kb/giây | 500 Kbps | 2 Mb/giây |
Bộ giải mã audio | AAC-LC | AAC-LC | AAC-LC |
Kênh âm thanh | 1 (đơn âm) | 2 (âm thanh nổi) | 2 (âm thanh nổi) |
Tốc độ bit của âm thanh | 24 Kb/giây | 128 Kb/giây | 192 Kb/giây |
Bảng dưới đây liệt kê các hồ sơ và tham số mã hoá video của khung nội dung đa phương tiện Android được đề xuất để phát bằng bộ mã hoá và giải mã nội dung đa phương tiện VP8.
SD (Chất lượng thấp) | SD (Chất lượng cao) | HD 720p (Không áp dụng trên tất cả thiết bị) | HD 1080p (Không có trên tất cả thiết bị) | |
---|---|---|---|---|
Độ phân giải video | 320 x 180 px | 640 x 360 px | 1280 x 720 px | 1920 x 1080 px |
Tốc độ khung hình video | 30 fps | 30 fps | 30 fps | 30 fps |
Tốc độ bit của video | 800 Kb/giây | 2 Mb/giây | 4 Mb/giây | 10 Mb/giây |
Đề xuất giải mã video
Việc triển khai thiết bị phải hỗ trợ độ phân giải video động và chuyển đổi tốc độ khung hình thông qua các API Android tiêu chuẩn trong cùng một luồng cho tất cả bộ mã hoá và giải mã VP8, VP9, H.264 và H.265 theo thời gian thực và lên đến độ phân giải tối đa mà mỗi bộ mã hoá và giải mã hỗ trợ trên thiết bị.
Các phương thức triển khai hỗ trợ bộ giải mã Dolby Vision phải tuân theo các nguyên tắc sau:
- Cung cấp trình trích xuất có khả năng hỗ trợ Dolby Vision.
- Hiển thị đúng cách nội dung Dolby Vision trên màn hình thiết bị hoặc trên cổng đầu ra video tiêu chuẩn (ví dụ: HDMI).
- Đặt chỉ mục kênh của(các) lớp cơ sở tương thích ngược (nếu có) giống với chỉ mục kênh của lớp Dolby Vision kết hợp.
Yêu cầu đối với tính năng xem video trực tuyến
Đối với nội dung video được truyền trực tuyến qua HTTP hoặc RTSP, bạn cần đáp ứng thêm các yêu cầu sau:
- Đối với vùng chứa 3GPP và MPEG-4, nguyên tử
moov
phải đứng trước mọi nguyên tửmdat
, nhưng phải đứng sau nguyên tửftyp
. - Đối với vùng chứa 3GPP, MPEG-4 và WebM, các mẫu âm thanh và video tương ứng với cùng một độ lệch thời gian không được cách nhau quá 500 KB. Để giảm thiểu sự lệch pha âm thanh/video này, hãy cân nhắc việc xen kẽ âm thanh và video theo kích thước đoạn nhỏ hơn.
Hỗ trợ hình ảnh
Định dạng | Bộ mã hoá | Bộ giải mã | Thông tin chi tiết | Loại tệp Định dạng vùng chứa |
---|---|---|---|---|
BMP | CÓ | BMP (.bmp) | ||
GIF | CÓ | GIF (.gif) | ||
JPEG | CÓ | CÓ | Cơ sở + lũy tiến | JPEG (.jpg) |
PNG | CÓ | CÓ | PNG (.png) | |
WebP |
Android 4.0 trở lên Không suy hao: Android 10 trở lên Độ trong suốt: Android 4.2.1 trở lên |
Android 4.0 trở lên Không suy hao: Android 4.2.1 trở lên Độ trong suốt: Android 4.2.1 trở lên |
Bạn có thể thực hiện quá trình mã hoá không suy hao trên Android 10 bằng cách sử dụng chất lượng 100. | WebP (.webp) |
HEIF | Android 8.0 trở lên | HEIF (.heic; .heif) | ||
AVIF (hồ sơ cơ sở) | Android 14 trở lên | Android 14 trở lên | Bộ mã hoá và bộ giải mã là bắt buộc kể từ Android 14. | AVIF (.avif) |
Giao thức mạng
Các giao thức mạng sau đây được hỗ trợ để phát âm thanh và video:
- RTSP (RTP, SDP)
- Truyền phát tăng dần HTTP/HTTPS
- Giao thức dự thảo phát trực tuyến HTTP/HTTPS:
- Chỉ tệp nội dung nghe nhìn MPEG-2 TS
- Giao thức phiên bản 3 Android 4.0 trở lên
- Giao thức phiên bản 2 Android 3.x
- Không được hỗ trợ trước Android 3.0
Lưu ý: Giao thức HTTPS không được hỗ trợ trước Android 3.1.
Định dạng video HDR
Nhà sản xuất thiết bị gốc (OEM) có thể bật bất kỳ định dạng HDR nào mà họ chọn bằng cấu trúc HDR của Android. Cấu trúc này đáp ứng các nhu cầu cốt lõi của định dạng HDR: vùng đệm 10 bit, siêu dữ liệu (tĩnh, động và không có), chức năng chuyển đổi và xử lý không gian màu.
Để đảm bảo tính nhất quán cho nhà phát triển và giải quyết các trường hợp sử dụng chính của HDR, chúng tôi yêu cầu nhà sản xuất thiết bị gốc (OEM) hỗ trợ một số định dạng cơ sở trên các thiết bị hỗ trợ HDR:
- Đối với việc phát nội dung chuyên nghiệp, chẳng hạn như phim phát trực tuyến, chúng tôi yêu cầu HDR10.
- Đối với việc quay và phát nội dung do người dùng tạo, chúng tôi yêu cầu HLG10 để mang lại trải nghiệm nhất quán trên các thiết bị Android.
Các nhà sản xuất thiết bị gốc (OEM) thêm tính năng hỗ trợ HDR phải hỗ trợ các định dạng này, nhưng cũng có thể hỗ trợ các định dạng bổ sung như HDR10+ hoặc Dolby Vision.
Định dạng | Hàm truyền | Metadata | Bộ mã hoá và giải mã | Độ sâu bit |
---|---|---|---|---|
HLG10 | HLG | Không | HEVC | 10 bit |
HDR10 | PQ | Tĩnh | HEVC | 10 bit |
HDR10+ | PQ | Tĩnh | HEVC | 10 bit |
Dolby Vision 8.4 | HLG | Động | HEVC | 10 bit |
Đề xuất về cách xử lý định dạng
Định dạng chụp | Định dạng tải lên | Định dạng phân phối |
HLG | Phần phụ trợ của ứng dụng hỗ trợ HDR HLG | Các thiết bị hỗ trợ HDR (HLG):
HLG Thiết bị hỗ trợ HDR (không hỗ trợ HLG, chỉ hỗ trợ PQ): SDR (Bản đồ tông màu từ HLG sang SDR ở phần phụ trợ) Thiết bị không hỗ trợ HDR: SDR (Bản đồ tông màu từ HLG sang SDR ở phần phụ trợ) |
Trường hợp sử dụng 2: Chụp bằng máy ảnh gốc hoặc nhập từ thư viện của người dùng (Phần phụ trợ của ứng dụng hỗ trợ HDR)
Định dạng chụp | Định dạng tải lên | Định dạng phân phối |
HLG | HLG | Tương tự như trường hợp sử dụng chụp trong ứng dụng |
HDR10+ | HLG
Bản đồ tông màu từ HDR10+ (PQ) sang HLG trước khi tải lên bằng API biến đổi |
Tương tự như trường hợp sử dụng chụp trong ứng dụng |
DV8.4 | HLG
(DV8.4 sử dụng HLG và luồng bit sẽ hoạt động như HLG, do đó không cần ánh xạ tông màu) |
Tương tự như trường hợp sử dụng chụp trong ứng dụng |
Trường hợp sử dụng 3: Phần phụ trợ của ứng dụng không hỗ trợ HDR
Định dạng chụp | Định dạng tải lên | Định dạng phân phối |
Mọi định dạng | SDR
Bản đồ tông màu từ HLG sang SDR trước khi tải lên bằng API biến đổi |
SDR |