# Plugin Demo: Echo Test

Want to learn more about the EchoTest plugin? Check the Documentation.

### Demo details

This Echo Test demo just blindly sends you back whatever you send to it. You're basically attached to yourself, and so your audio and video you send to Janus are echoed back to you. The same is done for RTCP packets as well, with the information properly updated.

The demo also provides a few controls to manipulate the media before you send them. You can mute audio and video, for instance, which will tell the server to drop the frames and not echo them back to you. You can also try and cap the bitrate: such control will tell the server to manipulate the RTCP REMB packets passing through, in order to simulate a bandwidth limitation. In case you're interested in testing simulcasting or SVC, add a `?simulcast=true` (for simulcast) or `?svc=<mode>` (for SVC) query string to the url of this page and reload it: buttons will appear to allow you to try and switch between lower and higher quality versions of the video you're capturing. Notice that you may have to increase the bandwidth indicator to have the higher quality versions appear, as the browser will not encode them otherwise. Besides, notice that simulcast will only work when using VP8 or H.264 (or, if you're using a recent version of Chrome, VP9 and AV1 too), while SVC will only work if you're using VP9 or AV1 on a browser that supports setting the `scalabilityMode`.

Finally, this demo also includes Data Channels: whatever you write in the text box under your local video, will be sent via Data Channels to the plugins, modified by adding a fixed prefix, and sent back to you in the text area below the remote video.

This demo, as all the others, for the sake of simplicity accesses the default devices you have available on your machine. If you're interested in a demo that shows you how you can select specific devices with `janus.js`, open the Devices demo instead.
The Lua and Duktape plugins, when installed out of the box, come with a script that mimics the default EchoTest C plugin: this means that you can use this demo page to talk to them as well, so long as you tell the page code to connect to the respective plugin. To talk to the Lua plugin instead of the stock EchoTest plugin, add the `?plugin=lua` query string to the url of this page; to talk to the Duktape plugin instead, use `?plugin=duktape`. Since they both share pretty much the same syntax as the stock EchoTest plugin, most if not all features should work just the same way.

Press the `Start` button above to launch the demo.

Local Stream
Remote Stream