Định dạng nội dung nghe nhìn được hỗ trợ

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 • 3GPP (.3gp)
• MPEG-4 (.mp4, .m4a)
• ADTS AAC thô (.aac, không hỗ trợ ADIF)
• MPEG-TS (.ts, không thể tua, Android 3.0 trở lên)
• 3GPP (.3gp)
• MPEG-4 (.mp4, .m4a)
• 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
HE-AACv2 (AAC+ nâng cao)   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 • 3GPP (.3gp)
• AMR (.amr)
• 3GPP (.3gp)
• AMR (.amr)
4,75 đến 12,2 kbps lấy mẫu ở 8 kHz
AMR-WB 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   • 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   • 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 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   • 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 • 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 ® • 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 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   • 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     BMP (.bmp)
GIF     GIF (.gif)
JPEG Cơ sở + lũy tiến JPEG (.jpg)
PNG   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