5 ms·
h264 frames/opus packets over websockets. Broadway.js is doing the video decoding, something similar to (EDIT: opus.js) for the audio. All decode loops are in
by colhom 11y ago
h264 frames/opus packets over websockets. Broadway.js is doing the video decoding, something similar to (EDIT: opus.js) for the audio.
All decode loops are in webworkers, separate websocket connection for each data stream (video,audio,input). Broadway has a lovely option to use WebGL for pushing the pixels to a canvas as well, which really helps free up the CPU.
Put it all together, and you'd be surprised how close you can push an (up-to-date) browser towards realtime sans plugin.