Xem các định dạng được hỗ trợ của ExoPlayer để xem giới thiệu về truyền thông nói chung. Các giới hạn tương tự về việc tải, trích xuất và luồng giải mã áp dụng với Transformer, mặc dù Transformer không hỗ trợ Các mô-đun giải mã phần mềm đi kèm của ExoPlayer.
Bộ biến áp cũng dựa vào MediaCodec
để mã hoá cũng như cần ghép kênh, hoặc
mux, đầu ra các tệp nội dung nghe nhìn, giới hạn các định dạng đầu ra được hỗ trợ. Xem
Bộ mã hoá và giải mã video MediaCodec
để biết thêm thông tin về các giới hạn mã hoá và
MediaMuxer
cho các giới hạn áp dụng cho vùng chứa nội dung nghe nhìn đầu ra. Chỉ thiết bị chuyển đổi
xuất ra tệp MP4.
Theo mặc định, Transformer
sử dụng MediaMuxer
, nhưng InAppMuxer
đang trong quá trình phát triển
có sẵn để tránh một số giới hạn của MediaMuxer
về xung quanh
cấu trúc khung tham chiếu và định dạng mẫu được hỗ trợ. Trình kết hợp mặc định sẽ
trở thành trình trộn trong ứng dụng ở bản phát hành sau này.
Hỗ trợ hình ảnh
Transformer sử dụng BitmapFactory
để tải và giải mã tất cả thành phần hình ảnh, vì vậy
Transformer hỗ trợ tất cả các định dạng mà BitmapFactory thực hiện. Xem
Hỗ trợ hình ảnh
cho các loại hình ảnh được hỗ trợ. Đối với các định dạng nhiều hình ảnh (ví dụ: gif), một hình ảnh duy nhất
khung này từ vùng chứa sẽ được hiển thị nếu DefaultAssetLoaderFactory
là
đã sử dụng.
Định dạng đặc biệt
Transformer hỗ trợ xử lý dữ liệu đầu vào ở các định dạng phương tiện mới hơn cung cấp so với định dạng thông thường.
Xử lý video HDR
Ngày càng có nhiều thiết bị hỗ trợ video HDR chụp, mang đến hình ảnh sống động, chính xác hơn và phạm vi độ sáng lớn hơn.
Transformer hỗ trợ chỉnh sửa video HDR từ Android 13 (API cấp 33) trở lên
trên các thiết bị có hỗ trợ mã hoá bắt buộc. Khi chỉnh sửa video HDR, mọi GL
Hiệu ứng video cần xử lý các thành phần màu dấu phẩy động 16 bit và BT.2020
hệ màu. HDR_MODE_KEEP_HDR
là chế độ mặc định khi tạo
Composition
Nếu chỉnh sửa HDR không được hỗ trợ, Transformer
quay lại sử dụng HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL
.
Tính năng chuyển đổi HDR sang SDR (còn gọi là ánh xạ sắc độ) được hỗ trợ trên Android
10 (API cấp 29) trở lên trên các thiết bị có phần giải mã và OpenGL bắt buộc
của Google. Điều này rất hữu ích khi chia sẻ nội dung nghe nhìn HDR với các ứng dụng hoặc dịch vụ khác
không hỗ trợ truyền dẫn nội dung HDR. Cách bật tính năng ánh xạ âm thanh bằng lệnh gọi OpenGL
setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL)
khi tạo
Composition
Từ Android 12 (API cấp 31) trở lên, MediaCodec
cũng hỗ trợ tính năng ánh xạ âm thanh trên một số thiết bị, bao gồm cả mọi thiết bị đang chạy
Android 13 trở lên có thể quay video HDR. Để bật tính năng ánh xạ âm điệu bằng cách sử dụng
MediaCodec
gọi setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.
Xử lý nội dung nghe nhìn chuyển động chậm
Video chuyển động chậm chứa siêu dữ liệu cho biết tốc độ của mỗi phần của luồng sẽ được phát. Làm phẳng là quá trình tạo ra một luồng video dựa trên video chuyển động chậm nhưng có các phần được đẩy nhanh hoặc bị chậm lại dựa trên siêu dữ liệu để chúng có thể phát chính xác ngay cả trên trình phát không áp dụng siêu dữ liệu chuyển động chậm.
Để làm phẳng luồng chuyển động chậm, hãy sử dụng trình tạo setFlattenForSlowMotion
trên EditedMediaItem
.
Kotlin
val editedMediaItem = EditedMediaItem.Builder(inputMediaItem).setFlattenForSlowMotion(true).build() val transformer = Transformer.Builder(context).addListener(transformerListener).build() transformer.start(editedMediaItem, outputPath)
Java
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(inputMediaItem).setFlattenForSlowMotion(true).build(); Transformer transformer = new Transformer.Builder(context).addListener(transformerListener).build(); transformer.start(editedMediaItem, outputPath);
Chế độ này giúp bạn hỗ trợ video chuyển động chậm mà không phải lo lắng xử lý các định dạng đặc biệt này. Bạn chỉ cần lưu trữ và phát phiên bản làm phẳng của video thay vì phiên bản gốc.