diff --git a/conf/janus.plugin.streaming.jcfg.sample.in b/conf/janus.plugin.streaming.jcfg.sample.in index 1fb4751774..7eb058bea5 100644 --- a/conf/janus.plugin.streaming.jcfg.sample.in +++ b/conf/janus.plugin.streaming.jcfg.sample.in @@ -65,6 +65,15 @@ # srtpsuite = 32 # srtpcrypto = WbTBosdVUZqEb6Htqhn+m3z7wUh4RJVR8nE15GbN # +# The Streaming plugin can also be used to (re)stream media that has been +# encrypted using something that can be consumed via Insertable Streams. +# In that case, we only need to be aware of it, so that we can send the +# info along with the SDP. How to decrypt the media is out of scope, and +# up to the application since, again, this is end-to-end encryption and +# so neither Janus nor the Streaming plugin have access to anything. +# DO NOT SET THIS PROPERTY IF YOU DON'T KNOW WHAT YOU'RE DOING! +# e2ee = true +# # The following options are only valid for the 'rstp' type: # url = RTSP stream URL (only for restreaming RTSP) # rtsp_user = RTSP authorization username (only if type=rtsp) diff --git a/conf/janus.plugin.videoroom.jcfg.sample b/conf/janus.plugin.videoroom.jcfg.sample index c0e6ee764f..e91c3ce867 100644 --- a/conf/janus.plugin.videoroom.jcfg.sample +++ b/conf/janus.plugin.videoroom.jcfg.sample @@ -39,6 +39,8 @@ # new feeds (publishers), and enabling this may result extra notification # traffic. This flag is particularly useful when enabled with require_pvtid # for admin to manage listening only participants. default=false) +# require_e2ee = true|false (whether all participants are required to publish and subscribe +# using end-to-end media encryption, e.g., via Insertable Streams; default=false) #} general: { diff --git a/html/demos.html b/html/demos.html index 40a5d5f679..63763a3e07 100644 --- a/html/demos.html +++ b/html/demos.html @@ -94,6 +94,10 @@
This is a variant of the Echo Test demo: everything is exactly + the same in term of available controls, features, and the like, with + the substantial difference that it shows how you can configure an + end-to-end encryption context using the recently introduced + Insertable Streams.
+Specifically, this demo will prompt for a secret, and then use the same transform functions as + this official demo + to encrypt the media: this means Janus will NOT have access to the media, but + will still be able to pass the packets to the EchoTest plugin and send them + back, thus ensuring an end-to-end encryption of the content. In this context, + the same page that encrypted the media will also decrypt it, which means + that if you see both local and remote video, then it's working as expected. + You'll probably want to then experiment with this feature by playing with + other plugins as well, e.g., the VideoRoom, for E2E-encrypted conferences.
+Notice that at the time of writing, only video can be end-to-end encrypted, + and not audio. More importantly, at the moment this will only work if you're + using a recent of Chrome version that has been started either with the following flag:
+--enable-experimental-web-platform-features --force-fieldtrials=WebRTC-GenericDescriptorAdvertised/Enabled/
Press the Start
button above to launch the demo.