AnsweredAssumed Answered

gstreamer concurrent encode/display

Question asked by Robert Chapin on May 15, 2017
Latest reply on May 16, 2017 by Robert Chapin

Hi, I am trying to display a yuv file to the hdmi port and concurrently h.264 encode this file on a imx6 solo wandboard.. This is a temporary step until we get the camera port running and then we will move the input from the file to input camera CSI port.  This is my attempt to perform this task with a script/command line.  Note I have tried with and without the ! into queue. I can break up the command below into a hdmi only and encode only which they both work. I am basically trying to merge these 2 commands to concurrently display and encode the input file.  Note . I am also converting the command line to C code so I am also looking at how to code this up. This will be part of our main line operation.

 

THIS DOES NOT WORK: gst-launch-1.0 -v filesrc location=out420.yuv typefind=true ! videoparse name=yuvstrm format=2 width=640 height=360 framerate=30 ! queue ! video/x-raw,format=I420,width=640,height=360 ! imxvpuenc_h264 gop-size=30 bitrate=512 ! h264parse ! matroskamux ! filesink location=test_640x360.mp4 yuvstrm. ! queue ! imxipuvideosink window-x-coord=400 window-y-coord=0 window-width=1080 window-height=1080

 

WARNING: erroneous pipeline: could not link yuvstrm to queue1 OR without the queue

WARNING: erroneous pipeline: could not link yuvstrm to imxipuvideosink

 

NOTE: THIS WORKS gst-launch-1.0  -v filesrc location=out420.yuv typefind=true  ! videoparse name=yuvstrm format=2 width=640 height=360 framerate=30  ! video/x-raw,format=I420,width=640,height=360 ! imxvpuenc_h264 gop-size=30 bitrate=512 ! h264parse ! matroskamux ! filesink location=test_640x360.mp4 

 

NOTE THIS WORKS TOO : gst-launch-1.0  -v filesrc location=out420.yuv typefind=true  ! videoparse name=yuvstrm format=2 width=640 height=360 framerate=30  ! imxipuvideosink window-x-coord=400 window-y-coord=0 window-width=1080 window-height=1080

 

Thanks

Rob

Outcomes