웹 브라우저 내에서 오디오 및 비디오 데이터를 직접 처리 할 수 있는 저수준 API입니다.
기존의 <video> 및 <audio> 요소 또는 Media Source Extensions(MSE)와 달리, WebCodecs는 개발자가 코덱을 직접 제어할 수 있도록 설계되었습니다.
텍스트저지연 미디어 처리
- 실시간 스트리밍 및 화상 회의 애플리케이션에 적합
브라우저 내 네이티브 코덱 활용
-하드웨어 가속을 통해 성능 최적화 가능
미디어 처리에 대한 더 높은 유연성
-비디오 및 오디오 데이터의 직접 제어 가능 (프레임 단위 조작 가능)
예제 코드 (비디오 디코딩)
const decoder = new VideoDecoder({
output: frame => {
console.log('Decoded frame:', frame);
frame.close();
},
error: err => console.error(err)
});
decoder.configure({
codec: 'vp8',
hardwareAcceleration: 'prefer-hardware'
});
// 압축된 비디오 데이터(예: WebRTC에서 수신한 데이터)를 추가
decoder.decode(new EncodedVideoChunk({
type: 'key',
timestamp: 0,
data: someEncodedData
}));
WebCodecs API는 웹에서 미디어 데이터를 더 정교하게 다룰 수 있도록 해주는 강력한 도구입니다. 특히 실시간 스트리밍, 게임, WebRTC 등의 성능을 극대화할 수 있는 점에서 큰 장점을 가지고 있습니다.
https://developer.chrome.com/docs/web-platform/best-practices/webcodecs?hl=ko