Если ваш проект - веб-приложение, то браузеры предоставляют все необходимые технологии для этого - например на базе webrtc есть куча opensource приложений. Посмотрите talky.io например.
На самом деле прямые соединения клиент-клиент не всегда возможны, особенно в России, когда провайдеры ломают интернет по приказу идиотов с выше, и не только.. а значит промежуточный сервер вам так или иначе понадобится. Читайте про webrtc, stun сервера и прочее.
Если приложение не веб, то у вас появляется больше способов, например обеспечение подключения на основе своих wifi точек доступа (практически все современные смартфоны и планшетники могут работать точкой доступа) или даже bluetooth/nfc (слабоваты для видео но могут использоваться для собственно организации соединения чтобы договориться кто к кому подключается).
С видео и звуком не так просто, точнее одновременно просто и сложно, сложности начинаются если вам нужно поддерживать максимально разношерстный парк пользовательского железа и аппаратные кодеки (если вам нужно высокое качество изображения и низкие затраты батареек), поэтому ищите готовые библиотеки.