https://webrtchacks.com/real-time-video-processing-with-webcodecs-and-streams-processing-pipelines-part-1/ * Skip to primary navigation * Skip to main content * Skip to primary sidebar * Skip to footer webrtcHacks webrtcHacks Guides and information for WebRTC developers * Home * About + Chad Hart + Philipp Hancke * Subscribe * Contact * Show Search Search this website[ ][Search] Hide Search Guide Standards Technology insertable streams, streams, TransformStream, VideoEncoder, VideoFrame, w3c, webcodecs, WebGPU, WebNN, webtransport, WHATWG Francois Daoust * March 14, 2023 Real-Time Video Processing with WebCodecs and Streams: Processing Pipelines (Part 1) WebRTC used to be about capturing some media and sending it from Point A to Point B. Machine Learning has changed this. Now it is common to use ML to analyze and manipulate media in real time for things like virtual backgrounds, augmented reality, noise suppression, intelligent cropping, and much more. To better accommodate this growing trend, the web platform has been exposing its underlying platform to give developers more access. The result is not only more control within existing APIs, but also a bunch of new APIs like Insertable Streams, WebCodecs, Streams, WebGPU, and WebNN. So how do all these new APIs work together? That is exactly what W3C specialists, Francois Daoust and Dominique Hazael-Massieux (Dom) decided to find out. In case you forgot, W3C is the World Wide Web Consortium that standardizes the Web. Francois and Dom are long-time standards guys with a deep history of helping to make the web what it is today. This is the first of a two-part series of articles that explores the future of real-time video processing with WebCodecs and Streams. This first section provides a review of the steps and pitfalls in a multi-step video processing pipeline using existing and the newest web APIs. Part two will explore the actual processing of video frames. I am thrilled about the depth and insights these guides provide on these cutting-edge approaches - enjoy! * About Processing Pipelines * The demo + Note: these APIs are new and may not work in your browser + Timing Stats * The role of WebCodecs in client-side processing + What about the Canvas? Do we need WebCodecs? + WebCodecs advantages + Note on containerized media * Processing streams using... Streams * Pipe chains + Backpressure + Creating a pipeline * Pipelining is like a game of dominoes + Generating a stream o From scratch o From a camera or a WebRTC track o From a WebTransport stream o What about WebTransport? o What about Data Channels? + Transforming a stream + Sending/Rendering a stream o To a element o To a