WebGPUの新機能、WebCodecs統合が発表される
2023年8月8日、Chrome 116において、WebGPUとWebCodecsの統合が発表された。これにより、Web開発の新たな可能性が広がることとなる。
WebCodecs統合の詳細
WebGPUは、ウェブブラウザ上で高性能なグラフィックス処理を可能にするAPIである。これにより、3D描画や高度なビジュアルエフェクトをウェブアプリケーションで実現することができる。一方、WebCodecsはウェブブラウザ上で動画処理をサポートするAPIであり、動画のエンコード、デコード、および再生を効率的に行うための機能を提供する。
今回のアップデートでは、これらの両APIの統合が行われた。具体的には、HTMLVideoElement
から不透明な「外部テクスチャ」オブジェクトを生成するAPIがWebGPUに追加された。これにより、動画フレームの効率的なサンプリングが可能となり、高度な動画処理アプリケーションにおいてもスムーズな処理が期待される。
しかしながら、初期のWebGPU仕様では、WebCodecsのVideoFrameオブジェクトからGPUExternalTexture
オブジェクトを生成することができなかった。この制約は、既にWebCodecsを使用しているアプリケーションにとっては課題であった。新たなWebCodecs統合により、VideoFrameを使用してGPUExternalTextureオブジェクトを生成し、高度な動画処理パイプラインを構築することができるようになった。
以下は、この新機能を活用する例だ。
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
const video = document.querySelector("video");
const videoFrame = new VideoFrame(video);
const texture = device.importExternalTexture({ source: videoFrame });
この新機能の発表により、Web開発者たちはより効率的な動画処理の実現を期待できる。また、WebCodecsとWebGPUの統合による新たなWeb体験の創造が見込まれる。
詳しい内容は「What's New in WebGPU (Chrome 116)」を参照してください。
Whether you're waiting in line, stuck in traffic, or simply need a quick distraction, the Dinosaur Game has you covered.