From 1e27286987a5323bd47bf80638e7b7a2edd93dc7 Mon Sep 17 00:00:00 2001 From: Benoit Quiniou Date: Fri, 30 Dec 2016 11:46:53 +0100 Subject: [PATCH] you can now configure with no real backend, as pipe backend always exists --- README.md | 39 +++++++++++++++++++++++---------------- configure.ac | 4 ---- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 9fddc11..f785fb4 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,42 @@ -vban_receptor - Linux command-line VBAN to alsa player +vban - Linux command-line VBAN tools ====================================================== © 2015 BenoĆ®t Quiniou - quiniouben[at]yahoo(.)fr -vban_receptor is an open-source implementation of VBAN protocol. -It currently takes the form of a Linux command-line player to play a VBAN audio stream to alsa or pulseaudio local audio device +vban project is an open-source implementation of VBAN protocol. VBAN is a simple audio over UDP protocol proposed by VB-Audio, see [VBAN Audio webpage](http://vb-audio.pagesperso-orange.fr/Voicemeeter/vban.htm). +It is composed of several command-line tools allowing to stream audio coming from audio backend interfaces to VBAN stream (vban_source) or playout incoming VBAN stream to audio backend interfaces (vban_receptor) +Up to now, Alsa, PulseAudio and Jack audio backends have been implemented. A fifo (pipe) output is also existing, to allow chaining command-line tools, its status is experimental. Compilation and installation ---------------------------- -vban_receptor uses either ALSA or PulseAudio, therefore you need to have ALSA and /or PulseAudio library and headers available on your platform. -In standard Linux distributions, ALSA library package is usually named libasound(X) and header files come in same package or in a separate one named libasound(X)-dev. -On its side, PulseAUdio library package can be named libpulse and header files come in same package or in libpulse-dev. -If you use configure script with default option, both ALSA and PulseAudio libraries will be needed. +Depending on which audio backends you want to compile in, you need corresponding library and source headers. +Usual package names are: -vban_receptor is distributed with autotools build scripts, therefore, to build, you need to invoke: +* Alsa: libasound(X) and eventually libasound(X)-dev +* PulseAudio: libpulse(X) and eventually libpulse(X)-dev +* Jack: libjack(X) and eventually libjack(X)-dev + +vban is distributed with autotools build scripts, therefore, to build, you need to invoke: $ ./autogen.sh # probably only once for ever - $ ./configure # with or without options + $ ./configure # with or without options (--help to get the list of possible options) $ make # with or without options To install, simply invoke: # make install -If you want to disable Pulseaudio backend, at configure script, invoke: - - $ ./configure --disable-pulseaudio - +By default, vban tools will be compiled with all 3 audio backends. To disable them, configure options are: + --disable-alsa + --disable-pulse + --disable-jack Usage ----- -Invoking vban_receptor without any parameter will give hints on how to use it : +Invoking vban_receptor or vban_source without any parameter will give hints on how to use them : Usage: vban_receptor [OPTIONS]... @@ -47,13 +50,17 @@ Usage: vban_receptor [OPTIONS]... -d, --debug=LEVEL : Log level, from 0 (FATAL) to 4 (DEBUG). default is 1 (ERROR) -h, --help : display this message +TODO: missing vban_source doc + About --channels option, a bit more tips: -* channels indexes are from 1 to 256 (as specified by VBAN specifications) +* channels indexes are from 1 to 256 (as specified by VBAN specifications for vban_receptor, and well, its probably enough for any soundcard or jack configuration) * you can repeat channels -* if you use in-existent channels, you will get silence but no error (as the stream may change at anytime) +* with vban_receptor, if you use in-existent channels, you will get silence but no error (as the stream may change at anytime) +* with vban_source, if you use in-existent source channels, you will get error Examples: vban_receptor -i IP -p PORT -s STREAMNAME -c1 # keep only channel 1 and play out as mono vban_receptor -i IP -p PORT -s STREAMNAME -c1,1,1,1 # keep only channel 1 and play it out on 4 output channels (given that your output device is able to do it) vban_receptor -i IP -p PORT -s STREAMNAME -c2,41,125,7,1,45 # select some channels and play them out on 6 output channels (same comment) + vban_source -i IP -p PORT -s STREAMNAME -c1,1,1,1 # use audio source channel 1 (opening it in mono therefore, and build up a 4 channels stream with copies of the same data in all channels) diff --git a/configure.ac b/configure.ac index c4685de..a969802 100644 --- a/configure.ac +++ b/configure.ac @@ -72,8 +72,4 @@ AM_COND_IF([JACK], [:] ) -# check that at least one backend is compiled -AM_CONDITIONAL([HAVE_BACKEND], [test x$pulseaudio = xtrue] || [test x$alsa = xtrue] || [test x$jack = xtrue]) -AM_COND_IF([HAVE_BACKEND],[:], [AC_MSG_ERROR(No audio backend compiled)]) - AC_OUTPUT(Makefile src/Makefile)