When I try to use the VLC media player GUI to start the stream, all the modes seem to include video, like v4l2. How do I tell it to only stream the audio card input?

The Raspberry Pi is next to my TV, and I want to be able to listen the TV audio using our Android and iPhone phones.

I want to use VLC media player because I have it on both my Android phone and PC, so I am familiar with it.

I am running on Raspberry Pi B+ with Raspbian using a cheap USB sound stick.

The Advanced Linux Sound Architecture (ALSA) utilities all seem to work.

  • what vlc command did you use? – gurcanozturk Aug 29 '14 at 5:46
  • I used the VLC GUI and selected mode: v4l2. I'm used to running it on Windows where DSHOW seems to be able to send only audio. I have installed pulseaudio and am still trying to figure out how to get it to stream to the network. – Tom Sep 9 '14 at 0:50
  • If I understand your question correctly, you want to send audio from the TV to the Raspberry using a cable, then stream it from the Raspberry to your phone–wirelessly–over f.ex. http? Did any of the answers work for you? I have a Raspberry that streams to my Sonos speakers using Icecast software, not VCL, if that interests you. – jgivoni Jan 30 '16 at 21:08

You don't need to use v4l2 to capture sound through PulseAudio.

First of all, find the correct device for pulseAudio. If you're using PulseAudio as a daemon, run this command at the command line:

pacmd list-sources | awk '/name:.+\.monitor/'

You should get output such as:

name: <alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor>
name: <alsa_output.usb-FORTEMEDIA_FM1083-00-FM1083.analog-mono.monitor>
name: <alsa_output.pci-0000_00_14.2.analog-stereo.monitor>

Then choose to output what you want from that list as the device for VLC media player:

cvlc pulse://alsa_output.pci-0000_00_14.2.analog-stereo.monitor

You can also use OMXPlayer which is shipped with the latest distibution of Raspbian.

Jack output:

sudo modprobe snd_bcm2835
sudo amixer cset numid=3 1
omxplayer -o hdmi [filename]

HDMI output (issue the first two lines if you used jack before - this is the default):

sudo modprobe snd_bcm2835
sudo amixer cset numid=3 0
omxplayer -o local [filename]

It uses the GPU to decode the audio files and supports a lot of various file types, like MP3, AAC, WAV, etc. Unlike VLC media player which still hammers the CPU. So this is more efficient software to use and is easier.

  • 1
    Can OMXPlayer create an http audio stream? I'm not quite sure how this answer fits the question... – jgivoni Jan 30 '16 at 21:11

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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