0

I have an FM radio USB dongle (Silicon chip), I have managed to stream the radio reception via icecast using the following configuration:

  • the USB dongle is recognized by v4l2 driver and mounted at /dev/radio0 as a separate audio device
  • Pulseaudio uses the FM radio device as a record device
  • ices2 uses the 'alsa' module with 'pulse' as device
  • ices2 connects and streams to an icecast server.

This is fine, but if there is a second FM radio USB dongle mounted at /dev/radio1, I would like to have a second stream at the same time. Is there any possibility that ices2 can receive audio data directly from /dev/radio0 and /dev/radio1 separately and stream different channels?

Would there be any other solution, like the Pulseaudio serve different recording input to each software source?

0

Ok. The answer was easy. As you can see in the picture, PulseAudio allows different capture inputs for each recording software (in our case for each ices2 Alsa capture module).

PulseAudio configuration for streaming two different USB Dongles

Therefore, one needs to start ices2 twice with one separate configuration file each

Each ices2 should define a new alse pulse source:

    <input>
        <module>alsa</module>
        <param name="device">pulse</param>
        <!-- Read metadata (from stdin by default, or -->
        <!-- filename defined below (if the latter, only on SIGUSR1) -->
        <param name="metadata">1</param>
        <param name="metadatafilename">test</param>
    </input>

And two different instances

E.g for the first ices2

<instance>
        <!--    Server details.

            You define hostname and port for the server here, along
            with the source password and mountpoint.  -->

        <hostname>localhost</hostname>
        <port>4888</port>
        <username>source</username>
        <password>pasword</password>
        <mount>/radio1.ogg</mount>

</instance>

for the second ices2

<instance>
        <!--    Server details.

            You define hostname and port for the server here, along
            with the source password and mountpoint.  -->

        <hostname>localhost</hostname>
        <port>4888</port>
        <username>source</username>
        <password>pasword</password>
        <mount>/radio2.ogg</mount>


</instance>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.