Matrix is an open protocol. It supports End-to-End encryption. It offers chat, audio calls, video calls, group chat.
Not sure about group video calls.
There is client and server software based on Matrix.
Matrix is a federated protocol, it works like email. You are free to host your own server, use matrix.org’s server, or server of anyone else.
You need to create an account on the server, after that you can use that account on the server and talk with other people. For example I created an account @C0rn3j on matrix.org, so you can reach me via @C0rn3j:matrix.org
Lower/upper case matters.
Riot is a client based on the Matrix protocol. It supports E2E encryption, chat, groups, calls, video calls.
Riot is available on a lot of platforms including a web app, go test it now!
Freenode IRC bridging is as easy as writing this to any chat