← Back

WebCodecs Filter Pipeline Demo

This demo shows how decoding pipelines can serve as preprocessors or extractors to prepare media data for decoding, encoding and rendering via the WebCodecs API.

Ogg/Theora video transcoded to MP4 via WebCodecs

This pipeline uses libogg, libtheora, and libvorbis for decoding, then leverages the VideoEncoder and AudioEncoder from WebCodecs (if available) to re-encode streams into MP4 compliant format using mp4mx.

In most browsers, WebCodecs support is experimental or unavailable. This demo works best on Google Chrome starting from version 94.

Code snippet

We decode the ogg file trailer_1080p.ogg that contains a theora video stream and a vorbis audio stream using the universal video tag :

<video is="universal-video_1" src="../test_sequences/trailer_1080p.ogg" using="solver_1"
        with="ogg_1;vorbis_1;theora_1;isobmff_1" use-webcodecs controls> </video> 

Specifications :

The specifications of the test sequence are :

Format Ogg
FileSize 27873937
Duration 33 sec
Overall BitRate 6757932
Video Theora
BitRate 6401458
FrameRate 24
Width 1920
Height 1080
FrameRate 25
FrameCount 825
StreamSize 26 MB
Audio Vorbis
BitRate 80000
Channels 2
SamplingRate 48000
StreamSize 329,9 kB