---
title: MediaCapabilities encodingInfo:摄像与录制管线能力评估
keywords:
- MediaCapabilities
- encodingInfo
- 录制
- 视频编码
- 硬件加速
description: 使用 MediaCapabilities 的 encodingInfo 评估端侧编码能力,选择合适分辨率、码率与帧率以达成平滑与节能录制。
categories:
- 应用软件
- 图形图像
---
概述
navigator.mediaCapabilities.encodingInfo 返回编码配置的支持性(supported)、流畅度(smooth)与能效(powerEfficient),帮助在拍摄与录制场景中做参数选型与降级策略。
用法/示例
const enc = await navigator.mediaCapabilities.encodingInfo({
type: 'record',
video: {
contentType: 'video/webm;codecs=vp8',
width: 1920,
height: 1080,
bitrate: 4000000,
framerate: 30
}
})
if (enc.supported && enc.smooth && enc.powerEfficient) {
const stream = await navigator.mediaDevices.getUserMedia({ video: { width: 1920, height: 1080, frameRate: 30 } })
const rec = new MediaRecorder(stream, { mimeType: 'video/webm;codecs=vp8', videoBitsPerSecond: 4000000 })
}
const audioEnc = await navigator.mediaCapabilities.encodingInfo({
type: 'record',
audio: {
contentType: 'audio/webm;codecs=opus',
channels: 2,
bitrate: 128000,
samplerate: 48000
}
})
工程建议
- 按设备能力选择分辨率与码率,优先平滑与能效。
- 对不支持的配置回退至更低规格,并记录能力探测结果用于后续会话。
- 与
MediaRecorder、getUserMedia的约束协同,避免动态切换导致的中断。
参考与验证
- MDN:MediaCapabilities — https://developer.mozilla.org/docs/Web/API/Media_Capabilities_API
- MDN:
encodingInfo— https://developer.mozilla.org/docs/Web/API/MediaCapabilities/encodingInfo - web.dev:Media Capabilities — https://web.dev/articles/media-capabilities

发表评论 取消回复