This section shows how to stream a video over Ethernet using UDP and RTP. Be sure to have the newest gst-plugin-good installed to ensure the best streaming quality.
Define the environment variable HOST with the ip address of the receiver machine (that one that will show the video).
$ export HOST=XX.XX.XX.XX
Do you know how to get caps? i.MX 27 Video GST Caps
in i.MX27:
gst-launch-0.10 -v mfw_v4lsrc capture-width=640 capture-height=480 ! mfw_vpuencoder width=640 height=480 / codec-type=std_avc ! rtph264pay ! udpsink host=$HOST port=5000
in PC:
gst-launch-0.10 -v --gst-debug=2 udpsrc port=5000 / caps ="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, / profile-level-id=(string)42001e, sprop-parameter-sets=(string)Z0IAHqaAoD2Q, payload=(int)96, / ssrc=(guint)3296222373, clock-base=(guint)2921390826, seqnum-base=(guint)35161" ! / rtph264depay ! ffdec_h264 ! autovideosink
in i.MX27
gst-launch-0.10 -v mfw_v4lsrc capture-width=352 capture-height=288 ! mfw_vpuencoder width=352 height=255 bitrate=64 codec-type=std_mpeg4 ! rtpmp4vpay send-config=true / ! udpsink host=10.29.244.32 port=5000
Set send-config to true to send configuration with the video. Ensures better deconding
PC
gst-launch-0.10 -v --gst-debug=2 udpsrc port=5000 caps ="application/x-rtp, media=(string)video, clock-rate=(int)90000, / encoding-name=(string)MP4V-ES, profile-level-id=(string)2, config=(string)000001b002000001b59113000001000000012000c888800f50b042414103, / payload=(int)96, ssrc=(guint)4006671474, clock-base=(guint)3714140954, seqnum-base=(guint)29742" / ! rtpmp4vdepay ! ffdec_mpeg4 ! autovideosink
Sender
gst-launch-0.10 -v mfw_v4lsrc capture-width=640 capture-height=480 ! mfw_vpuencoder width=640 height=480 codec-type=std_mpeg4 ! rtpmp4vpay send-config=true ! udpsink host=$HOST port=5000
Receiver
gst-launch-0.10 -v udpsrc port=5000 caps= "application/x-rtp, media=(string)video, clock-rate=(int)90000, / encoding-name=(string)MP4V-ES, profile-level-id=(string)4, config=(string)000001b004000001b59113000001000000012000c888800f514043c14103, / payload=(int)96, ssrc=(guint)907905085, clock-base=(guint)2029414707, seqnum-base=(guint)22207" ! rtpmp4vdepay ! / mfw_vpudecoder codec-type= std_mpeg4 min_latency=true ! mfw_v4lsink sync=false
Setting min_latency true gives the better latency for the streaming
Sender
gst-launch-0.10 -v mfw_v4lsrc capture-width=640 capture-height=480 ! mfw_vpuencoder width=640 height=480 codec-type=std_avc ! rtph264pay ! udpsink host=10.29.240.51 port=5000
Receiver
gst-launch-0.10 -v udpsrc port=5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000" ! rtph264depay ! mfw_vpudecodr codec-type=std_avc ! mfw_v4lsink sync=false
Hello,
I am looking to go to the i.mx6 processor from TI processors. Could you tell me what kind of latency you are experiencing on your MX board with decoding? I am trying to get an idea of what I might expect from the gstreamer elements provided by Freescale.
Thanks
Tim