Gstreamer with USB Microphone over Network

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Gstreamer with USB Microphone over Network

Jump to solution
7,896 Views
philippeballeyd
Contributor IV

Hi everyone,

I'm using the image fsl-image-gui on the IMX6Q Sabre Board (Poky Yocto project)

I'd like to stream the sound of a USB Microphone connected to the board to my computer.

I managed to make that microphone work on the local loop of my computer (without installing any audio driver) with these gstreamer commands:

gst-launch autoaudiosrc ! audioconvert ! audioresample  ! alawenc ! rtppcmapay ! udpsink host=127.0.0.1 port=5001

gst-launch udpsrc port=5001 caps="application/x-rtp" ! rtppcmadepay ! alawdec ! alsasink

This worked pretty fine, so the microphone is working and so is that gst-launch command.

When i connect the microphone to the USB port of the board, i get the following message:

usb 1-1.3: new full-speed USB device number 24 using ci_hdrc

usb_audio: Warning! Unlikely big volume range (=656), cval->res is probably wrong.

usb_audio: [6] FU [PCM Capture Volume] ch = 1, val = -10496/0/16input: Micronas UAC3556B as /devices/soc0/soc.1/2100000.aips-bus/2184000.usb/ci_hdrc.0/usb1/1-1/1-1.3/1-1.3:1.3/input/input23

hid-generic 0003:074D:3556.000E: input: USB HID v1.00 Device [Micronas UAC3556B] on usb-ci_hdrc.0-1.3/input3

Should i be worried about such a message? (I'm getting the exact same when i connect it to my computer, so i assume it is not a big deal)


So i start the streaming with the previous command (with the correct ip obviously :smileyhappy:) but i'm not getting any sound.

When i check on wireshark, i do receive some package from the board so the stream is working but to me, these packets seems like they don't carry any information. All bytes set to 0xD5.

i tried to check in the alsamixer application if the mic wasn't muted, but i couldn't even find the MIC option.


So i believe the mic isn't detected, or maybe autoaudiosrc isn't selecting the right source.

Or maybe i'm missing an audio plugin? The constructor of the mic told me that it was using generic plugins, but maybe they are not included in my image?


Moreover i also tried with the microphone of a USB Webcam, and it also doesn't work.


Any pointers would be of great help


Thank you :smileywink:

Labels (2)
0 Kudos
1 Solution
3,707 Views
philippeballeyd
Contributor IV

Found it. I had to use alsasrc

gst-launch alsasrc device=hw:2 ! audioconvert ! audioresample  ! alawenc ! rtppcmapay ! udpsink host=192.168.20.26 port=5001

Thanks.

View solution in original post

0 Kudos
3 Replies
3,708 Views
philippeballeyd
Contributor IV

Found it. I had to use alsasrc

gst-launch alsasrc device=hw:2 ! audioconvert ! audioresample  ! alawenc ! rtppcmapay ! udpsink host=192.168.20.26 port=5001

Thanks.

0 Kudos
3,707 Views
philippeballeyd
Contributor IV

I found out that my USB Mic is seen as a whole new sound card.

when i press F6 in alsamixer, and select the said card, i can unmute the mic.

But i think gstreamer is using the default sound card.

Is there another gstreamer plugin than autoaudiosrc, since it doesn't take any parameters?

0 Kudos
3,707 Views
philippeballeyd
Contributor IV

When i use aplay -l and arecord -l, the USB mic appears properly:

card 0: wm8962audio [wm8962-audio], device 0: HiFi wm8962-0 []

  Subdevices: 1/1

  Subdevice #0: subdevice #0

card 2: UAC3556B [UAC3556B], device 0: USB Audio [USB Audio]

  Subdevices: 1/1

  Subdevice #0: subdevice #0

0 Kudos