Files
resiprocate/apps/echoTest

Introduction

Voice and video echo test

Demonstrates how to use GStreamer C++ bindings (GStreamerMM project) with reSIProcate.

Currently supports regular RTP devices by using the GStreamer rtpbin element. https://gstreamer.freedesktop.org/documentation/rtpmanager/rtpbin.html

Could be easily adapted for WebRTC using the GStreamer webrtcbin element. https://gstreamer.freedesktop.org/documentation/webrtc/index.html http://blog.nirbheek.in/2018/02/gstreamer-webrtc.html

See the configuration file for individual options. In particular, you can select one of these pipelines either through the configuration file or by using the name of the pipeline as the SIP user address, for example, dialing sip:h264v@192.168.1.10 will select h264v

h264avx - use libav decode and x264 encode h264v - use VAAPI decode/encode h264o - use openh264 decode and openh264 encode h264m - use libav decode and openh264 encode vp8 - use the vp8decode and vp8encode

Help and feedback

https://list.resiprocate.org/mailman/listinfo/resiprocate-users mailto:resiprocate-users@resiprocate.org

Dependencies

GStreamer and plugins https://gstreamer.freedesktop.org/ License: LGPL Note: GPL and/or patent restrictions apply to some optional plugins Debian/Ubuntu packages: https://packages.qa.debian.org/gstreamer1.0 Fedora/RHEL packages: https://src.fedoraproject.org/rpms/gstreamer1

GStreamerMM (C++ bindings) https://wiki.gnome.org/Projects/gstreamermm License: LGPL 2.1 Debian/Ubuntu packages: https://packages.qa.debian.org/gstreamermm-1.0 Fedora/RHEL packages: https://src.fedoraproject.org/rpms/gstreamermm

Optional dependencies

gst-kurento-plugins (for the vp8parse element) https://github.com/KurentoLegacy/gst-kurento-plugins License: LGPL 2.1

OpenH264 http://www.openh264.org/ Note: it is necessary to rebuild gst-plugins-bad after install OpenH264