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

Tài liệu này mô tả khả năng hỗ trợ codec đa phương tiện, vùng chứa và giao thức mạng do nền tảng Android cung cấp.

Các bảng bên dưới mô tả khả năng hỗ trợ định dạng nội dung nghe nhìn được tích hợp vào nền tảng Android. 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 mọi phiên bản Android. Khi một nền tảng Android cụ thể được chỉ định, định dạng này sẽ có trên điện thoại 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 trước đó, nhưng điều này không được đảm bảo. 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ợ các định dạng hoặc loại tệp khác không có trong các bảng này. Ngoài ra, nếu sử dụng MediaCodec trực tiếp, bạn có thể truy cập vào mọi định dạng nội dung nghe nhìn 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 của các loại tệp Chi tiết
Công cụ trích xuất Muxer
AAC LC CÓ CÓ • 3GPP (.3gp)
• MPEG-4 (.mp4, .m4a)
• ADTS raw AAC (.aac, không được hỗ trợ ADIF)
• MPEG-TS (.ts, không tìm kiếm được, 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 tìm kiếm được, 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 có độ 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 kb/giây được lấy mẫu ở tốc độ 8 kHz
AMR-WB CÓ CÓ 9 tốc độ từ 6,60 kbit/giây đến 23,85 kbit/giây được lấy mẫu ở tần số 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ó nhiều kênh). Tốc độ lấy mẫu lên đến 48 kHz (nhưng bạn 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ộ giảm mẫu từ 48 xuống 44,1 kHz không có bộ lọc thông thấp). Nên dùng 16 bit; không áp dụng phương pháp giảm răng cưa 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à Mobile XMF. 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 có tốc độ bit không đổi (CBR) hoặc tốc độ bit thay đổi (VBR) từ 8 đến 320 Kb/giây
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 của các loại tệp Chi tiết
Công cụ trích xuất Muxer
H.263 CÓ CÓ • 3GPP (.3gp)
• MPEG-4 (.mp4)
• Matroska (.mkv)
• 3GPP (.3gp)
• MPEG-4 (.mp4)
Android 7.0 trở lên không bắt buộc phải hỗ trợ H.263
H.264 AVC
Hồ sơ cơ sở (BP)
Android™ 5.0 ® CÓ • 3GPP (.3gp)
• MPEG-4 (.mp4)
• MPEG-TS (.ts, chỉ có âm thanh AAC, không tua được, 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 phải có bộ giải mã, nên có bộ mã hoá.
H.265 HEVC Android 5.0 trở lên • MPEG-4 (.mp4)
• Matroska (.mkv)
• MPEG-4 (.mp4) Cấp độ 3 của Hồ sơ chính cho thiết bị di động và Cấp độ 4.1 của Hồ sơ chính 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ể phát 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 thông số và hồ sơ mã hoá video của khung đa phương tiện Android được đề xuất để phát bằng bộ mã hoá và giải mã H.264 Baseline Profile. Các đề xuất tương tự cũng áp dụng cho bộ mã hoá và giải mã Main Profile, 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 mọi thiết bị)
Độ phân giải video 176 x 144 px 480 x 360 pixel 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 âm thanh 24 Kb/giây 128 Kb/giây 192 Kb/giây

Bảng dưới đây liệt kê các thông số và cấu hình mã hoá video của khung đa phương tiện Android được đề xuất để phát bằng bộ mã hoá và giải mã nội dung nghe nhìn VP8.

  SD (Chất lượng thấp) SD (Chất lượng cao) HD 720p (Không áp dụng trên mọi thiết bị) HD 1080p (Không dùng được trên một số thiết bị)
Độ phân giải video 320 x 180 px 640 x 360 px 1280 x 720 px 1920 x 1080 pixel
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 về việc giải mã video

Các hoạt động triển khai thiết bị phải hỗ trợ việc chuyển đổi độ phân giải video và tốc độ khung hình linh hoạt 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ị.

Những cách triển khai hỗ trợ bộ giải mã Dolby Vision phải tuân thủ các nguyên tắc sau:

  • Cung cấp một trình trích xuất có khả năng Dolby Vision.
  • Hiển thị nội dung Dolby Vision đúng cách trên màn hình thiết bị hoặc trên một cổng đầu ra video tiêu chuẩn (ví dụ: HDMI).
  • Đặt chỉ mục theo dõi của(các) lớp cơ sở tương thích ngược (nếu có) giống với chỉ mục theo dõi của lớp Dolby Vision kết hợp.

Yêu cầu đối với dịch vụ phát trực tuyến video

Đối với nội dung video được phát trực tuyến qua HTTP hoặc RTSP, bạn phải đáp ứng thêm các yêu cầu sau:

  • Đối với các vùng chứa 3GPP và MPEG-4, khối moov phải đứng trước mọi khối mdat, nhưng phải đứng sau khối ftyp.
  • Đối với các 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 có thể không được cách nhau quá 500 KB. Để giảm thiểu hiện tượng lệch â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ã 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Ó Chân đế + lũy tiến JPEG (.jpg)
PNG CÓ CÓ   PNG (.png)
WebP Android 4.0 trở lên
Không mất dữ liệu: Android 10 trở lên
Độ trong suốt: Android 4.2.1 trở lên
Android 4.0 trở lên
Không mất dữ liệu: Android 4.2.1 trở lên
Độ trong suốt: Android 4.2.1 trở lên
Bạn có thể đạt được mức mã hoá không tổn hao trên Android 10 bằng cách sử dụng chất lượng 100. WebP (.webp)
HEIF Android 10 trở lên
(thông qua MediaCodec hoặc HeifWriter; không có trong Bitmap.compress)
Android 9.0 trở lên Không bắt buộc phải có thiết bị. Kiểm tra ImageDecoder.isMimeTypeSupported("image/heif") để biết thông tin về chế độ hỗ trợ 8 bit. Việc giải mã 10 bit yêu cầu hồ sơ HEVC Main10 không bắt buộc. HEIF (.heic; .heif)
AVIF (hồ sơ cơ sở) Android 14 trở lên
(thông qua MediaCodec; không có trong Bitmap.compress)
Android 12 trở lên Tính năng giải mã 8 bit được hỗ trợ từ Android 12 trở lên. Tính năng giải mã 10 bit là không bắt buộc; hãy kiểm tra ImageDecoder.isMimeTypeSupported("image/avif") để biết thông tin hỗ trợ 10 bit (ngay cả khi sai, 8 bit vẫn hoạt động). 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 trực tuyến tuần tự qua HTTP/HTTPS
  • Bản nháp giao thức phát trực tiếp qua 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 ý: HTTPS không được hỗ trợ trước Android 3.1.

Định dạng video HDR

Các nhà sản xuất thiết bị gốc (OEM) có thể bật mọi định dạng HDR mà họ chọn bằng cấu trúc HDR của Android. Cấu trúc này cung cấp các nhu cầu cốt lõi của định dạng HDR: bộ đệm 10 bit, siêu dữ liệu (tĩnh, động và không có), hàm truyền 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 HDR chính, chúng tôi yêu cầu các OEM hỗ trợ một số định dạng cơ bản trên những thiết bị hỗ trợ HDR:

  • Đối với nội dung phát 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 ghi hình 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 OEM thêm tính năng hỗ trợ HDR phải hỗ trợ những định dạng này, nhưng cũng có thể hỗ trợ các định dạng khác như HDR10+ hoặc Dolby Vision.

Định dạng Hàm truyền Siêu dữ liệu 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

Các thiết bị hỗ trợ HDR (chỉ hỗ trợ PQ, không hỗ trợ HLG):

SDR (Ánh xạ tông màu từ HLG sang SDR ở phần phụ trợ)

Các thiết bị không hỗ trợ HDR: SDR (Ánh xạ tông màu từ HLG sang SDR ở phần phụ trợ)

Trường hợp sử dụng 2: Chụp bằng camera 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 tính năng chụp trong ứng dụng
HDR10+ HLG

Ánh xạ 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 tính năng chụp trong ứng dụng
DV8.4 HLG

(DV8.4 sử dụng HLG và luồng bit sẽ hoạt động dưới dạng HLG nên không cần ánh xạ tông màu)

Tương tự như trường hợp sử dụng tính nă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

Ánh xạ tông màu từ HLG sang SDR trước khi tải lên bằng cách sử dụng các API biến đổi

SDR