Cacao (CORS Access-Control-Allow-Origin) Proxy
Access-Control-Allow-Origin: * header to an HTTP response.
IP Camera Streaming
The main use case is to access a remote streaming MJPEG URL published by an IP Camera, via an
<img> tag pointing to Cacao. Without Cacao, this image data is usually marked as cross-origin, and therefore cannot be used as the source for a WebRTC stream.
With Cacao, an
<img crossorigin> can be copied to a
<canvas> and then (since CORS is allowed) sent by the browser via WebRTC. Try loading the (MJPEG sample)
The Mediasoup Broadcast Example will eventually add support for using Cacao to request media to stream.
Cacao can be run as a localhost proxy server on Linux (and other Unix-like), MacOS, and Windows.
Download a binary package from the Cacao releases, if you just want to use the proxy (and not change its code).
If you are a developer, you can run Cacao directly from sources in this project, but you will first need to install the Dart SDK:
$ dart --version $ bin/cacao --help
Cacao Proxy App
See the Cacao Proxy App for a graphical app for controlling a builtin Cacao proxy on your mobile device.
Michael FIG email@example.com, 2018-12-05