Hello all,
I'm attempting to broadcast a stream over UDP with Gstreamer on an iMX6 board (IMX6Q). When I do unicast it works great, but as soon as I try to do it towards a UDP broadcast address the video gets choppy and the board unresponsive. I've tried a similar pipeline from a laptop and don't have issues.
In order to reproduce this problem:
1. On the iMX6 board, run the following pipeline:
gst-launch imxv4l2src capture-mode=0 ! vpuenc codec=6 ! rtph264pay ! udpsink host=255.255.255.255 port=5000
2. On the receiving end, run the following pipeline:
gst-launch udpsrc port=5000 ! application/x-rtp, payload=96 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! xvimagesink
- I've tested both with ethernet and wifi and had similar issues
- Same issue with local net broadcast (255.255.255.255) and 192.168.5.255
- I'm running with a Yocto Dizzy with kernel 3.14.28
Is there an issue with UDP broadcast at the iMX level ?
Any configuration settings or kernel options I'm missing ?
Thank you !
Laurent
I have tested udp on my board successfully, the command as below:
gst-launch-1.0 udpsrc do-timestamp=false uri=udp://192.168.0.255:10000 caps="video/mpegts" ! aiurdemux streaming-latency=400 name=d d. ! queue ! vpudec ! queue ! overlaysink sync=true d. ! queue ! beepdec ! pulsesink sync=true
I use vlc player, the boardcase use 192.168.0.255
Hi,
I have another problem.I followed the i.MX_Linux_User's_Guide.pdf and have succeeded to transfer video between two iMX6 board using RTSP. However, there is a terrible time delay about 3 senconds between the client (board worked with the camera) and the host (board worked as the display). I hava no idea why there is such a time delay and could you give some advise ?Thank you!
Keerecles
Hello,
Recently, I have also tried to use udpsrc and udpsink on the iMX6 board. In my case , I launched my sending like this,
gst-launch-1.0 imxv4l2src ! vpuenc ! rtph264pay ! udpsink host=192.163.8.101 port=5000
the command of my recieving which is based android smart phone, is like this,
gst_parse_launch("udpsrc uri=udp://192.168.8.100:5000! autovideosink ", &error)
The problem is that the sending work well, but the recieving cannot read the data .
I wonder if there is some issue about video transport based on gstreamer framework between iMX6 and android phone.
Thanks !
Keerecles
Thank you for looking into this. My problem is not when receiving but when sending. Can you do a test using udpsink towards a broadcast address ? For example, can you try my pipeline ?
Just launching this on the board and you should see a major slowdown/freeze of the board:
gst-launch imxv4l2src capture-mode=0 ! vpuenc codec=6 ! rtph264pay ! udpsink host=255.255.255.255 port=5000
Thanks,
Laurent
I can play the video from mx6q board using the commads as below, I used L4.1.1 bsp
linux side:
gst-launch mfw_v4lsrc fps-n=30 ! vpuenc codec=6 ! queue ! rtph264pay ! udpsink host=192.168.0.105 port=5000 –v
pc side:
open the attached H264.sdp file using VLC. Then you can find the picture from camera on mx6 board, pls don’t forget to load camera module
Hello,
My problem is with UDP broadcast. It works fine with regular IP address, but my board freezes when using a broadcast IP address. Please try this one:
gst-launch mfw_v4lsrc fps-n=30 ! vpuenc codec=6 ! queue ! rtph264pay ! udpsink host=192.168.0.255 port=5000 –v
It seems the imx board has issue dealing with UDP broadcast over wifi.
Thank you,
Laurent