VAR-SOM-MX6 GSTREAM: Difference between revisions

From Variscite Wiki
Line 75: Line 75:
<pre>$ gst-launch videotestsrc pattern=ball ! imxv4l2sink  disp-width=1280 disp-height=720</pre>
<pre>$ gst-launch videotestsrc pattern=ball ! imxv4l2sink  disp-width=1280 disp-height=720</pre>
= Camera Stream  =
= Camera Stream  =
Test pattern. Width will be set to output display width.
Test pattern.  
<pre>$ gst-launch imxv4l2src device=/dev/video0 capture-mode=4 fps-n=60 queue-size=7 ! queue max-size-buffers=3 ! imxv4l2sink  disp-width=1280 disp-height=720</pre>
<pre>$ gst-launch imxv4l2src device=/dev/video0 capture-mode=4 fps-n=30 queue-size=7 ! queue max-size-buffers=3 ! imxv4l2sink  disp-width=1280 disp-height=720</pre>
:capture-mode ov5460 options:   
:capture-mode ov5460 options:   
:::ov5640_mode_VGA_640_480 = 0,
:::ov5640_mode_VGA_640_480 = 0,
Line 84: Line 84:
:::ov5640_mode_720P_1280_720 = 4,
:::ov5640_mode_720P_1280_720 = 4,
:::ov5640_mode_1080P_1920_1080 = 5
:::ov5640_mode_1080P_1920_1080 = 5
This is a 3 elements pipe.The queue in the middle is an GStreamer element.

Revision as of 10:26, 16 December 2015

VAR-SOM-MX6 - Streaming Video

Under construction!!!

Stream Camera with imxcamera application

On your host machine install Video Lan VLC VideoLan

  • Find out your host IP address (Windows:ipconfig Linux:ifconfig)
  • Start VLC, Media->Open Network Stream. Set the URL to "rtp://@:5004" and hit "Play".
  • On target start imxcamera application.
    • Hit the Settigns button. Select "Enable RTP" box and set the IP to you host machine. Hit OK.
    • Push the Camera button to get a Video camera Image.
    • Hit the blue button and the camera will be streamed to you host VLC.

Introduction to gstream

GStreamer
GStreamer is a powerful pipeline-based multimedia framework.
GStreamer allows a programmer to create a variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing. This is not a GStreamer reference manual but a overview for using in on Variscite i.MX6 products.

Major GStreamer commands

Two major commands, the first one allow you to to get documentation on available elements and detail information on a specific element. The second one allow you to create and execute GStreamer pipelines.

gst-inspect

List all available elements:

$ gst-inspect 

List all avilable i.MX6 specific elements:

$ gst-inspect | grep imx

Detail help information on a specific element:

$ gst-inspect imxv4l2sink

gst-launch

Simple example:

gst-launch -v videotestsrc ! imxv4l2sink

i.MX6 major elements

Prefix
Element Name
description
mp3enc.imx mfw_mp3encoder mp3 audio encoder
v4lsink.imx imxv4l2sink v4l2 video sink
isink.imx mfw_isink IPU-based video sink
v4lsrc.imx imxv4l2src v4l2 based camera src
vpu.imx vpudec VPU-based video decoder
vpu.imx vpuenc VPU-based video encoder
ipucsc.imx mfw_ipucsc IPU-based video converter

Test Stream

Test pattern. Width will be set to output display width.

$ gst-launch -v videotestsrc ! imxv4l2sink

Test pattern with specific paramters on the input

$ gst-launch videotestsrc pattern=ball ! imxv4l2sink

Test pattern with specific paramters on the output

$ gst-launch videotestsrc ! imxv4l2sink disp-width=1280 disp-height=720

Test pattern with specific paramters on the input and output

$ gst-launch videotestsrc pattern=ball ! imxv4l2sink  disp-width=1280 disp-height=720

Camera Stream

Test pattern.

$ gst-launch imxv4l2src device=/dev/video0 capture-mode=4 fps-n=30 queue-size=7 ! queue max-size-buffers=3 ! imxv4l2sink  disp-width=1280 disp-height=720
capture-mode ov5460 options:
ov5640_mode_VGA_640_480 = 0,
ov5640_mode_QVGA_320_240 = 1,
ov5640_mode_NTSC_720_480 = 2,
ov5640_mode_PAL_720_576 = 3,
ov5640_mode_720P_1280_720 = 4,
ov5640_mode_1080P_1920_1080 = 5

This is a 3 elements pipe.The queue in the middle is an GStreamer element.