AnsweredAssumed Answered

Gstreamer Interlaced Video RTP Streaming for iMX6

Question asked by XXiao1z on May 5, 2014
Latest reply on May 13, 2014 by igorpadykov

Hi,

 

I have a progressive video I can stream it via RTP just fine.

 

I also have an interlaced video, I can capture it and play it back from a file, but I could never stream it with RTP:

 

gst-launch mfw_v4lsrc device="/dev/video0" ! filesink location=camera0.yuv

gst-launch filesrc location=camera0.yuv blocksize=518400 ! 'video/x-raw-yuv,format=(fourcc)I420, width=720,height=480, framerate=(fraction)30/1' ! vpuenc codec=6 ! rtph264pay ! udpsink host=192.168.1.90 port=5000 sync=false -v

 

The above works fine, however when I want to put the two together to do a similar live streaming(worked fine for progressive cameras), that never worked. I did have the VDI patched for interlaced, the key ERROR is : "gst_vpuenc_chain: Buffer size is not the same framesize of 518400"

 

gst-launch -v --gst-debug=2 -e mfw_v4lsrc device="/dev/video0" fps-n=30 blocksize=518400 ! 'video/x-raw-yuv,format=(fourcc)I42
0, width=720,height=480, framerate=(fraction)30/1' ! vpuenc codec=6 framerate-nu=30 bitrate=4194304 !  rtph264pay ! udpsink host=192.168.1.90 port=5000 sync=false -v
0:00:00.049168401  1617    0x17050 WARN            GST_REGISTRY gstregistry.c:11
78:gst_registry_scan_path_level:<registry0> ignoring old plugin /usr/lib/gstream
er-0.10/libgstvalve.so which has been merged into the corelements plugin
0:00:00.049442396  1617    0x17050 WARN            GST_REGISTRY gstregistry.c:11
78:gst_registry_scan_path_level:<registry0> ignoring old plugin /usr/lib/gstream
er-0.10/libgstselector.so which has been merged into the corelements plugin
MFW_GST_V4LSRC_PLUGIN 3.0.7 build on Apr 22 2014 18:46:54.
Setting pipeline to PAUSED ...
[INFO]  Product Info: i.MX6Q/D/S
vpuenc versions
        plugin: 3.0.7
        wrapper: 1.0.35(VPUWRAPPER_ARM_LINUX Build on Feb 26 2014 20:44:22)
        vpulib: 5.4.16
        firmware: 2.3.10.40778
/GstPipeline:pipeline0/MFWGstV4LSrc:mfwgstv4lsrc0.GstPad:src: capimx-ipuv3 imx-i
puv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001
s = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)480, frame
rate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:00.239795728  1617    0xd0f20 WARN                  vpuenc vpuenc.c:1391:gs
t_vpuenc_sink_event: Unsupport newsegment format 2
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw-
yuv, format=(fourcc)I420, width=(int)720, height=(int)480, framerate=(fraction)3
0/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw
-yuv, format=(fourcc)I420, width=(int)720, height=(int)480, framerate=(fraction)
30/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstVpuEnc:vpuenc0.GstPad:sink: caps = video/x-raw-yuv, fo
rmat=(fourcc)I420, width=(int)720, height=(int)480, framerate=(fraction)30/1, pi
xel-aspect-ratio=(fraction)1/1
[INFO]  chromaInterleave 0, mapType 0, linear2TiledEnable 0
0:00:00.287717061  1617    0xd0f20 ERROR                 vpuenc vpuenc.c:1200:gs
t_vpuenc_chain: Buffer size is not the same framesize of 518400
0:00:00.288627728  1617    0xd07d0 WARN                     bin gstbin.c:2380:gs
t_bin_do_latency_func:<pipeline0> did not really configure latency of 0:00:00.00
0000000
Got EOS from element "pipeline0".
Execution ended after 73855667 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/GstPipeline:pipeline0/GstVpuEnc:vpuenc0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/MFWGstV4LSrc:mfwgstv4lsrc0.GstPad:src: caps = NULL
Setting pipeline to NULL ...
Freeing pipeline ...

 


Thanks a lot for your help.

Outcomes