GStreamer Qt Overlay for Embedded Systems/Examples/i.MX6: Difference between revisions
mNo edit summary |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | <noinclude> | ||
{{GStreamer Qt Overlay for Embedded Systems/Head|previous=Examples/PC|next=Examples/ | {{GStreamer Qt Overlay for Embedded Systems/Head|previous=Examples/PC|next=Examples/NXP}} | ||
</noinclude> | </noinclude> | ||
Line 19: | Line 19: | ||
queue ! qtoverlay qml=/main.qml ! queue ! imxeglvivsink qos=false sync=false enable-last-sample=false | queue ! qtoverlay qml=/main.qml ! queue ! imxeglvivsink qos=false sync=false enable-last-sample=false | ||
===Saving a video with a text overlay=== | |||
gst-launch-1.0 videotestsrc is-live=true ! 'video/x-raw, width=640, height=480, framerate=30/1' ! queue ! imxg2dvideotransform ! \ | gst-launch-1.0 videotestsrc is-live=true ! 'video/x-raw, width=640, height=480, framerate=30/1' ! queue ! imxg2dvideotransform ! \ | ||
queue ! qtoverlay qml=/main.qml ! queue ! imxipuvideotransform input-crop=false ! \ | queue ! qtoverlay qml=/main.qml ! queue ! imxipuvideotransform input-crop=false ! \ | ||
Line 25: | Line 25: | ||
capsfilter caps=video/x-h264 ! mpegtsmux alignment=7 ! queue ! filesink location=test.mp4 -e | capsfilter caps=video/x-h264 ! mpegtsmux alignment=7 ! queue ! filesink location=test.mp4 -e | ||
===Network streaming with a text overlay=== | |||
Send stream to a host with IP address $IP | Send stream to a host with IP address $IP | ||
Line 41: | Line 41: | ||
<noinclude> | <noinclude> | ||
{{GStreamer Qt Overlay for Embedded Systems/Foot|Examples/PC|Examples/ | {{GStreamer Qt Overlay for Embedded Systems/Foot|Examples/PC|Examples/NXP}} | ||
</noinclude> | </noinclude> |
Latest revision as of 19:01, 6 October 2023
GStreamer Qt Overlay |
---|
Overview |
Getting Started |
Examples |
Performance |
Similar Solutions |
Troubleshooting |
FAQ |
Contact Us |
Before running the examples below, make sure you have set up the environment correctly.
export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1 export QT_QPA_PLATFORM=eglfs export DISPLAY=:0.0
Now, you are able to run the following examples:
Display a text overlay
gst-launch-1.0 videotestsrc is-live=true ! 'video/x-raw, width=640, height=480, framerate=30/1' ! queue ! imxg2dvideotransform ! \ queue ! qtoverlay qml=/main.qml ! queue ! imxeglvivsink qos=false sync=false enable-last-sample=false
Saving a video with a text overlay
gst-launch-1.0 videotestsrc is-live=true ! 'video/x-raw, width=640, height=480, framerate=30/1' ! queue ! imxg2dvideotransform ! \ queue ! qtoverlay qml=/main.qml ! queue ! imxipuvideotransform input-crop=false ! \ capsfilter caps=video/x-raw,width=640,height=480,format=NV12 ! imxvpuenc_h264 bitrate=4000 gop-size=15 idr-interval=15 ! \ capsfilter caps=video/x-h264 ! mpegtsmux alignment=7 ! queue ! filesink location=test.mp4 -e
Network streaming with a text overlay
Send stream to a host with IP address $IP
On the IMX6: video source
gst-launch-1.0 videotestsrc is-live=true ! 'video/x-raw, width=640, height=480, framerate=30/1' ! queue ! imxg2dvideotransform ! \ queue ! qtoverlay qml=/main.qml ! queue ! imxipuvideotransform input-crop=false ! \ capsfilter caps=video/x-raw,width=640,height=480,format=NV12 ! imxvpuenc_h264 bitrate=4000 gop-size=15 idr-interval=15 ! \ capsfilter caps=video/x-h264 ! mpegtsmux alignment=7 ! queue ! udpsink async=false sync=false host=$IP port=5012
On the host: video receptor
gst-launch-1.0 udpsrc address=$IP port=5012 ! queue ! tsdemux ! identity single-segment=true ! queue ! decodebin ! \ queue ! fpsdisplaysink sync=false -v