Hi,
If anyone can help us with an issue that we are facing on the iMX6ULL EVK. We want to capture audio from the on-board microphone and stream it using RTSP server to a mobile device. We have followed the instructions in the iMX Linux Users Guide (Section: RTSP Streaming Server setup).
There is also section for PulseAudio Settings which we have used to find out the sources and sinks available and set the defaults.
Then we ran the following command: and got the output as shown:
root@imx6ull14x14evk:~#gst-launch-1.0 -v alsasrc ! audio/x-raw,format= S16LE,rate=24000,width=16,depth=16,channels=1,signed=true ! audioconvert ! rtpL16pay ! udpsink host=10.220.21.12 port=5435
Setting pipeline to PAUSED ...
Console output :
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstAudioSrcClock
/GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: actual-buffer-time = 120000
/GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: actual-latency-time = 40000
Redistribute latency...
/GstPipeline:pipeline0/GstAlsaSrc:alsasrc0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)24000, channels=(int)1, width=(int)16, depth=(int)16, signed=(boolean)true
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)24000, channels=(int)1, width=(int)16, depth=(int)16, signed=(boolean)true
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = audio/x-raw, rate=(int)24000, width=(int)16, depth=(int)16, signed=(boolean)true, format=(string)S16BE, channels=(int)1, layout=(string)interleaved
/GstPipeline:pipeline0/GstRtpL16Pay:rtpl16pay0.GstPad:src: caps = application/x-rtp, media=(string)audio, clock-rate=(int)24000, encoding-name=(string)L16, encoding-params=(string)1, channels=(int)1, payload=(int)96, ssrc=(uint)4151797464, timestamp-offset=(uint)709105764, seqnum-offset=(uint)22620
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = application/x-rtp, media=(string)audio, clock-rate=(int)24000, encoding-name=(string)L16, encoding-params=(string)1, channels=(int)1, payload=(int)96, ssrc=(uint)4151797464, timestamp-offset=(uint)709105764, seqnum-offset=(uint)22620
/GstPipeline:pipeline0/GstRtpL16Pay:rtpl16pay0.GstPad:sink: caps = audio/x-raw, rate=(int)24000, width=(int)16, depth=(int)16, signed=(boolean)true, format=(string)S16BE, channels=(int)1, layout=(string)interleaved
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)24000, channels=(int)1, width=(int)16, depth=(int)16, signed=(boolean)true
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)24000, channels=(int)1, width=(int)16, depth=(int)16, signed=(boolean)true
/GstPipeline:pipeline0/GstRtpL16Pay:rtpl16pay0: timestamp = 709105764
/GstPipeline:pipeline0/GstRtpL16Pay:rtpl16pay0: seqnum = 22620
/*********************************************************************************************888
It appears that the server was started and running, so
we tried to play the stream from VLC on a PC but got the following error :
Connection failed: VLC could not connect to "10.220.21.12:5435". Your input can't be opened: VLC is unable to open the MRL 'rtsp://10.220.21.12:5435'. Check the log for details.
But the vlc logs don't contain any messages...:-(
Any ideas on what could be happening ?
Regards
Sreenivasa Chary
Hello JoanXie,
Yes, we are able to successfully ping the iMX6ULL EVK board from the PC and they are in the same network, we even confirmed that the http server on the board is running.
could you ping successfully 10.220.21.12 on your PC? did your pc and board connect with the same router?
for vlc couldn't open xxx issue, maybe you need to check the vlc version, refer to the link as below, hope helpful for you
"https://github.com/ghoost82/mijia-720p-hack/issues/16"
"https://community.norton.com/en/forums/vlc-partially-blocked"