VideoEncoder: configure() method
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Dedicated Web Workers.
Phương thức configure() của giao diện VideoEncoder thay đổi state của bộ mã hóa thành "configured" và chuẩn bị bất đồng bộ bộ mã hóa để chấp nhận các VideoEncoder để mã hóa với các tham số đã chỉ định. Nếu bộ mã hóa không hỗ trợ các tham số đã chỉ định hoặc không thể khởi tạo vì lý do khác, một lỗi sẽ được báo cáo thông qua callback lỗi được cung cấp cho hàm khởi tạo VideoEncoder.
Nếu VideoEncoder đã được cấu hình trước đó, cấu hình mới sẽ không được áp dụng cho đến khi tất cả các tác vụ trước đó đã hoàn thành.
Cú pháp
configure(config)
Tham số
config-
Một đối tượng từ điển chứa các thành viên sau:
codec-
Một chuỗi chứa chuỗi codec hợp lệ. Xem tham số "codecs" để biết chi tiết về cách xây dựng chuỗi codec.
widthOptional-
Một số nguyên biểu thị chiều rộng của mỗi
EncodedVideoChunkđầu ra tính bằng pixel, trước khi có bất kỳ điều chỉnh tỉ lệ nào. heightOptional-
Một số nguyên biểu thị chiều cao của mỗi
EncodedVideoChunkđầu ra tính bằng pixel, trước khi có bất kỳ điều chỉnh tỉ lệ nào. displayWidthOptional-
Một số nguyên biểu thị chiều rộng hiển thị dự kiến của mỗi
EncodedVideoChunkđầu ra tính bằng pixel khi hiển thị. displayHeightOptional-
Một số nguyên biểu thị chiều dọc của mỗi
EncodedVideoChunkđầu ra tính bằng pixel khi hiển thị. hardwareAcceleration-
Một gợi ý cấu hình phương pháp tăng tốc phần cứng của codec này. Một trong các giá trị:
"no-preference""prefer-hardware""prefer-software"
bitrate-
Một số nguyên chứa tốc độ bit trung bình của video được mã hóa tính theo bit mỗi giây.
framerate-
Một số nguyên chứa tốc độ khung hình dự kiến tính theo khung hình mỗi giây.
alpha-
Một chuỗi cho biết liệu thành phần alpha của đầu vào
VideoFramecó nên được giữ lại hay loại bỏ trước khi mã hóa. Một trong các giá trị:"discard"(mặc định)"keep"
scalabilityMode-
Một chuỗi chứa định danh chế độ khả năng mở rộng mã hóa như được định nghĩa trong WebRTC.
bitrateModeOptional-
Một chuỗi chứa chế độ tốc độ bit. Một trong các giá trị:
"constant"-
Bộ mã hóa sẽ nhắm đến tốc độ bit không đổi.
"variable"(mặc định)-
Bộ mã hóa sẽ nhắm đến tốc độ bit thay đổi, cho phép sử dụng nhiều không gian hơn cho các tín hiệu phức tạp và ít không gian hơn cho các tín hiệu ít phức tạp hơn.
"quantizer"-
Bộ mã hóa sẽ bỏ qua tùy chọn
bitratevà thay vào đó sẽ sử dụng các giá trị quantizer dành riêng cho codec được chỉ định cho từng khung hình trong tham sốoptionscủaVideoEncoder.encode().
latencyModeOptional-
Một chuỗi chứa giá trị cấu hình hành vi độ trễ của codec này. Một trong các giá trị:
"quality"(mặc định)-
Bộ mã hóa nên tối ưu hóa chất lượng mã hóa.
"realtime"-
Bộ mã hóa nên tối ưu hóa độ trễ thấp và thậm chí có thể bỏ khung hình để đảm bảo
framerate.
Giá trị trả về
Không có (undefined).
Ngoại lệ
TypeError-
Được ném nếu
configđược cung cấp không hợp lệ. InvalidStateErrorDOMException-
Được ném nếu
statelà"closed". NotSupportedErrorDOMException-
Được ném nếu
configđược cung cấp hợp lệ nhưng tác nhân người dùng không thể cung cấp codec có thể giải mã profile này.
Ví dụ
Ví dụ sau tạo một VideoEncoder mới và cấu hình nó với một số tùy chọn có sẵn.
const init = {
output: handleChunk,
error(e) {
console.log(e.message);
},
};
let config = {
codec: "vp8",
width: 640,
height: 480,
bitrate: 2_000_000, // 2 Mbps
framerate: 30,
};
let encoder = new VideoEncoder(init);
encoder.configure(config);
Thông số kỹ thuật
| Specification |
|---|
| WebCodecs> # dom-videoencoder-configure> |