Page 1 of 1

RPi 3 as a media player for video with multichannel audio

Posted: Tue Sep 05, 2017 2:02 pm
by goldenhours
Hi, this is my first post here, and I'm also relatively inexperienced with Linux. Please go nice and slow...

I'm looking to use RPi3 as a media player for an audiovisual installation. I have a video file with 6 channels of PCM audio (individual mono files for a corresponding ambisonic speaker array). I want to send the video to the HDMI output and the 6 channels of audio to an external USB soundcard (Behringer FCA1616 or RME Fireface UCX).

1) One problem is to configure ALSA in a way that it uses one of my USB cards as default device. There are various threads around but it's tricky to filter out the wrong advice. I was able to play some glitchy stereo on my FCA1616 card by temporarily changing the alsa default device to USB. But I haven't been able to play more than two channels. Is jack the way forward here?

2) The other problem is, I've looked into various players, like KODI, omxplayer, VLC, ffmpeg, but none of them seem to allow me to assign the 6 streams of audio in my video file to 6 discrete channels, without following commercial surround sound speaker layouts (5.1, 7.1 etc).

Any advice would be greatly appreciated.

David

Re: RPi 3 as a media player for video with multichannel audio

Posted: Tue Sep 05, 2017 6:46 pm
by folderol
I can't remember the details now, but it is possible to tell ALSA to use a soundcard identified by name. That way it doesn't matter what USB ID it has,. Also works for multiple installed PCIE soundcards.

Re: RPi 3 as a media player for video with multichannel audio

Posted: Tue Sep 05, 2017 7:25 pm
by CrocoDuck
Various methods to assign default cards are listed here.

As for the routing, it is possible to do it manually. I think this should be relevant for you.

I am not very accustomed to ALSA configuration. JACK would make routing discrete applications outputs channels to discrete hardware device channels more straightforward I think. You can set a script to do it automatically.

EDIT: maybe this is relevant?