i.MX27 ADS Board Video GST Video Streaming

Document created by jesseg Employee on Aug 17, 2012Last modified by Jodi Paul on Apr 19, 2013
Version 2Show Document
  • View in full screen mode

Video Streaming over Ethernet


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.MX27 Video GST Caps

 

H264 (MX->PC)


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

 

MPEG4 (MX->PC)


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

MPEG4 (MX->MX)


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

 

H264 (MX->MX)

 

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


Attachments

    Outcomes