3

I have a classroom set of RPi (4, running Raspbian Buster) that students will access via VNC through their Chromebooks. Eventually the school will allow that access from off campus as well. The problem is that VNC doesn't support sending audio and I need to find a way to do that. Except for the fact that half of them will be sharing RPis and won't therefore be able to have access to individual audio (that I'm aware of) even through headphones, they could just plug in while in the classroom. Not very convenient to have 10 ethernet cable and power adapter devices floating around the room.

Things I have tried:

  • UV4L streaming server - I cannot figure out how to send audio to/through it when I do connect http://aurellem.org/stream/html/how-to-stream.html - a lot of steps that didn't amount to success
  • Chrome Remote Desktop - on the RPi end, it sticks on the "Installing" or "Downloading" screen without ever resolving anything, in Chromium.
  • VLC - Trying to stream the desktop w/audio or even the camera throws back an "unable to open the MRL" for each attempt. Even streaming a local audio file appears to "work", but I've yet to get the sound to play remotely. I've also attempted to do this from the command prompt, following various directions from the Videolan wiki and other sites. Even this ridiculously simple task as presented here: https://www.softwarert.com/stream-music-movies-local-network-vlc-player/ is dumbfounding me trying to receive the stream via local VLC.
  • A few pulseaudio specific guides, including this page https://wiki.archlinux.org/index.php/PulseAudio/Examples#PulseAudio_over_network
  • And a few other sets of directions from other sites. I've been searching and attempting ideas for 2 months on this and am running out of time to make it matter for this class.

To make matters even more difficult, I'm sure, I'd like to be able to have each user be able to stream their own local sound. We'll be doing SonicPi creations. Assumptions I have include that pulseaudio can convert software audio output to just a data stream without requiring hardware sound devices. If that's incorrect, the RPi has both analog and hdmi audio, so I'm wondering if users can be assigned one that would be used to stream their output, once the problems above are solved.

I'm not one for asking for help, but I'm running out of ideas. thanks.

2
  • I finally got back to it this semester and my it team found a solution, sort of. Since VNC add-ons for chrome are gone they installed guacamole so I could allow VNC to work (as well as off campus access...huge win). Supposedly, guac supports sending audio over the VNC connection as well, but following all the directions got me NO closer to a working situation, though one of their test RPi was working, according to them. He wouldn't share the setting with me, for some reason. Hopefully over the summer he will, so I can sort it out. Commented Jun 11, 2022 at 10:35
  • Please don't list "things you have tried" - it's useless without a detailed description of each attempt. Pick one tutorial you had most luck with, and describe what exactly you did, at which point did the solution not work, and what was the error message / unexpected behavior. Otherwise you will get answers such as "I also tried X and it worked for me" which are indeed valid but won't help you one bit. You might also want to read this list of common mistakes people make when asking about tutorials they have followed. Commented Jul 25, 2022 at 10:41

2 Answers 2

1

Personally I've had some success with NetJACK to combine the audio from two computers and send it to amplified speakers.

It seems a bit intimidating to configure but it's not so bad really, and once it's up and running it seems to be pretty reliable.

The catch is it will only work if you can get your audio application to send its audio via JACK rather than ALSA, Pulseaudio, etc. Many applications have good support for JACK and I believe there are shims and other workarounds for those applications that don't.

7
  • Thanks for the suggestion. I checked it out. I'm not sure it will work. I have a strong feeling the district IT team will not open up or unblock ports for this. Most of the chromebooks they are using are also of the variety that doesn't support installing linux software, so if anything like that is needed (like making sure it has jack2) it wouldn't get me anywhere. It also appears to want/expect 100mbps network, which will not serve them if they connect from off campus. Commented Feb 14, 2020 at 13:31
  • This will be a less helpful suggestion, but are there any remote desktop cloud providers (like LogMeIn etc.) that support screen sharing on a Raspberry Pi? Have you also considered trying PulseAudio over TCP but using SSH port forwarding, so that you don't have to get your IT admins to open PulseAudio-specific ports? (Although the students would need to be able to connect to the Pi via SSH so there's a need for one open port at least).
    – Malvineous
    Commented Feb 14, 2020 at 13:43
  • The PulseAudio via SSH was what I figured should be the easier task, but I think I don't understand how to make it work. I can already connect via SSH (at least while on campus, but for now, I'm happy with that). It's been a while since I've done so many networking related tasks that I'm rusty, at best. I'm now guessing that my trouble with sending pulse streams was a port issue. Commented Feb 14, 2020 at 14:03
  • You'll probably want an SSH parameter like -L1234:localhost:5678 which will allow clients (the one running the SSH command) to connect to localhost on port 1234, and the connection will appear on the Pi as if someone is connecting to localhost on port 5678. Looking at the info on the Arch Linux wiki it looks like it should be doable across SSH, bearing in mind everything will look like it's coming from and going to localhost.
    – Malvineous
    Commented Feb 14, 2020 at 14:11
  • I'm looking at askubuntu.com/questions/371687/how-to-carry-audio-over-ssh which seems similar to your suggestion, but I'm not sure how to receive the audio from the remote location. How to I test it's working? Commented Feb 14, 2020 at 18:33
1

Use Ubuntu 22.04LTS it works out of the box with XRDP

1
  • Ubuntu is my preferred distro, but I feel like it might be too beefy for RPi. Commented Jun 11, 2022 at 10:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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