'프로그램 사용/gstreamer'에 해당되는 글 21건

  1. 2023.02.17 gstream videomixer
  2. 2021.07.21 gstream compositing - 그러니까 비디오 믹서?
  3. 2021.07.14 gst h264 filesink
  4. 2021.07.13 gstreamer 관련
  5. 2021.07.13 gstreamer 용어
  6. 2021.07.13 gstreamer element 생성 gst_element_factory_make()
  7. 2021.02.18 gst fpsdisplaysink
  8. 2021.02.09 gst videorate
  9. 2021.02.08 gstreamer tee
  10. 2015.11.02 gstreamer pipeline

videowall 처럼 여러개를 한 화면에 띄우는 기능 이라는데

묘하게 그냥 곱게(?) 작동하는 예제 찾기가 힘드네

 

[링크 : https://stackoverflow.com/questions/7426482/trying-to-play-multiple-video-files-simultaneously-in-gstreamer]

 

gst-launch-1.0 \
   videotestsrc pattern=1 ! \
   video/x-raw,format=AYUV,framerate=\(fraction\)10/1,width=100,height=100 ! \
   videobox border-alpha=0 top=-70 bottom=-70 right=-220 ! \
   videomixer name=mix sink_0::alpha=0.7 sink_1::alpha=0.5 ! \
   videoconvert ! xvimagesink \
   videotestsrc ! \
   video/x-raw,format=AYUV,framerate=\(fraction\)5/1,width=320,height=240 ! mix.

[링크 : https://gstreamer.freedesktop.org/documentation/videomixer/index.html]

Posted by 구차니

카메라 8개를 하나의 모니터에 분할해서 쏘는 예제?

[링크 : http://trac.gateworks.com/wiki/Yocto/gstreamer/compositing]

'프로그램 사용 > gstreamer' 카테고리의 다른 글

gstreamer를 이용하여 uvc 웹캠 (mjpg) 보기  (0) 2023.03.22
gstream videomixer  (0) 2023.02.17
gst h264 filesink  (0) 2021.07.14
gstreamer 관련  (0) 2021.07.13
gstreamer 용어  (0) 2021.07.13
Posted by 구차니

 

$ gst-launch-1.0 -vvvv v4l2src ! videoscale ! video/x-raw, format=I420, width=1280, height=720, framerate=30/1 ! imxvpuenc_h264 bitrate=10000 ! filesink location=/tmp/720.mp4 
New clock: GstSystemClock

/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
[INFO]  ringBufferEnable 0, chromaInterleave 0, mapType 0, linear2TiledEnable 1
/GstPipeline:pipeline0/GstImxVpuEncoderH264:imxvpuencoderh264-0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstImxVpuEncoderH264:imxvpuencoderh264-0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, parsed=(boolean)true, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, parsed=(boolean)true, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, chroma-site=(string)mpeg2

 

$ gst-launch-1.0 -vvvv v4l2src ! videoscale ! video/x-raw, format=I420, width=800, height=480, framerate=15/1 ! imxvpuenc_h264 bitrate=10000 ! filesink location=/tmp/480.mp4 
New clock: GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)800, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)800, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)800, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
[INFO]  ringBufferEnable 0, chromaInterleave 0, mapType 0, linear2TiledEnable 1
/GstPipeline:pipeline0/GstImxVpuEncoderH264:imxvpuencoderh264-0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)800, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)800, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)800, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstImxVpuEncoderH264:imxvpuencoderh264-0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, parsed=(boolean)true, width=(int)800, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, parsed=(boolean)true, width=(int)800, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg

[링크 : https://community.nxp.com/t5/i-MX-Processors/Encode-problem-with-imxvpuenc-h264/m-p/513557]

'프로그램 사용 > gstreamer' 카테고리의 다른 글

gstream videomixer  (0) 2023.02.17
gstream compositing - 그러니까 비디오 믹서?  (0) 2021.07.21
gstreamer 관련  (0) 2021.07.13
gstreamer 용어  (0) 2021.07.13
gstreamer element 생성 gst_element_factory_make()  (0) 2021.07.13
Posted by 구차니

MAN page 발췌

NAME
       gst-launch-1.0 - build and run a GStreamer pipeline

SYNOPSIS
       gst-launch-1.0 [OPTION...] PIPELINE-DESCRIPTION

DESCRIPTION
       gst-launch-1.0 is a tool that builds and runs basic GStreamer pipelines.

       In simple form, a PIPELINE-DESCRIPTION is a list of elements separated by exclamation marks (!). Properties may be appended to elements, in the form property=value.

       For a complete description of possible PIPELINE-DESCRIPTIONS see the section pipeline description below or consult the GStreamer documentation.

       Please  note  that gst-launch-1.0 is primarily a debugging tool for developers and users. You should not build applications on top of it. For applications, use the gst_parse_launch() function of the GStreamer API as an easy way to construct pipe‐
       lines from pipeline descriptions.

PIPELINE DESCRIPTION
       A pipeline consists elements and links. Elements can be put into bins of different sorts. Elements, links and bins can be specified in a pipeline description in any order.

       Elements

       ELEMENTTYPE [PROPERTY1 ...]

       Creates an element of type ELEMENTTYPE and sets the PROPERTIES.

       Properties

       PROPERTY=VALUE ...

       Sets the property to the specified value. You can use gst-inspect-1.0(1) to find out about properties and allowed values of different elements.
       Enumeration properties can be set by name, nick or value.

       Bins

       [BINTYPE.] ( [PROPERTY1 ...] PIPELINE-DESCRIPTION )

       Specifies that a bin of type BINTYPE is created and the given properties are set. Every element between the braces is put into the bin. Please note the dot that has to be used after the BINTYPE. You will almost never need this  functionality,  it
       is only really useful for applications using the gst_launch_parse() API with 'bin' as bintype. That way it is possible to build partial pipelines instead of a full-fledged top-level pipeline.

       Links

       [[SRCELEMENT].[PAD1,...]] ! [[SINKELEMENT].[PAD1,...]]  [[SRCELEMENT].[PAD1,...]] ! CAPS ! [[SINKELEMENT].[PAD1,...]]  [[SRCELEMENT].[PAD1,...]] : [[SINKELEMENT].[PAD1,...]]  [[SRCELEMENT].[PAD1,...]] : CAPS : [[SINKELEMENT].[PAD1,...]]

       Links  the  element  with name SRCELEMENT to the element with name SINKELEMENT, using the caps specified in CAPS as a filter.  Names can be set on elements with the name property. If the name is omitted, the element that was specified directly in
       front of or after the link is used. This works across bins. If a padname is given, the link is done with these pads. If no pad names are given all possibilities are tried and a matching pad is used.  If multiple padnames  are  given,  both  sides
       must have the same number of pads specified and multiple links are done in the given order.
       So the simplest link is a simple exclamation mark, that links the element to the left of it to the element right of it.
       Linking using the : operator attempts to link all possible pads between the elements

       Caps

       MEDIATYPE [, PROPERTY[, PROPERTY ...]]] [; CAPS[; CAPS ...]]

       Creates a capability with the given media type and optionally with given properties. The media type can be escaped using " or '.  If you want to chain caps, you can add more caps in the same format afterwards.

       Properties

       NAME=[(TYPE)]VALUE
       in lists and ranges: [(TYPE)]VALUE

       Sets the requested property in capabilities. The name is an alphanumeric value and the type can have the following case-insensitive values:
       - i or int for integer values or ranges
       - f or float for float values or ranges
       - b, bool or boolean for boolean values
       - s, str or string for strings
       - fraction for fractions (framerate, pixel-aspect-ratio)
       - l or list for lists
       If no type was given, the following order is tried: integer, float, boolean, string.
       Integer values must be parsable by strtol(), floats by strtod(). FOURCC values may either be integers or strings. Boolean values are (case insensitive) yes, no, true or false and may like strings be escaped with " or '.
       Ranges are in this format:  [ VALUE, VALUE ]
       Lists use this format:      { VALUE [, VALUE ...] }

PIPELINE EXAMPLES
       The  examples  below  assume  that  you have the correct plug-ins available.  In general, "pulsesink" can be substituted with another audio output plug-in such as "alsasink" or "osxaudiosink" Likewise, "xvimagesink" can be substituted with "xima‐
       gesink", "glimagesink", or "osxvideosink". Keep in mind though that different sinks might accept different formats and even the same sink might accept different formats on different machines, so you might  need  to  add  converter  elements  like
       audioconvert and audioresample (for audio) or videoconvert (for video) in front of the sink to make things work.

       Audio playback

       Play the mp3 music file "music.mp3" using a libmpg123-based plug-in and output to an Pulseaudio device
               gst-launch-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesink

       Play an Ogg Vorbis format file
               gst-launch-1.0 filesrc location=music.ogg ! oggdemux ! vorbisdec ! audioconvert ! audioresample ! pulsesink

       Play an mp3 file or an http stream using GIO
               gst-launch-1.0 giosrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! pulsesink
               gst-launch-1.0 giosrc location=http://domain.com/music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesink

       Use GIO to play an mp3 file located on an SMB server
               gst-launch-1.0 giosrc location=smb://computer/music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesink

       Format conversion

       Convert an mp3 music file to an Ogg Vorbis file
               gst-launch-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! vorbisenc ! oggmux ! filesink location=music.ogg

       Convert to the FLAC format
               gst-launch-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! flacenc ! filesink location=test.flac

[링크 : https://linux.die.net/man/1/gst-launch-0.10]

'프로그램 사용 > gstreamer' 카테고리의 다른 글

gst h264 filesink  (0) 2021.07.14
gstreamer 관련  (0) 2021.07.13
gstreamer element 생성 gst_element_factory_make()  (0) 2021.07.13
gst fpsdisplaysink  (0) 2021.02.18
gst videorate  (0) 2021.02.09
Posted by 구차니

'프로그램 사용 > gstreamer' 카테고리의 다른 글

gstreamer 관련  (0) 2021.07.13
gstreamer 용어  (0) 2021.07.13
gst fpsdisplaysink  (0) 2021.02.18
gst videorate  (0) 2021.02.09
gstreamer tee  (0) 2021.02.08
Posted by 구차니

작동 여부는 확인 못함

다만.. debugutilsbad 아래꺼라 정상작동은 보증 못하려나?

 

[링크 : http://gstreamer.freedesktop.org/documentation/debugutilsbad/fpsdisplaysink.html]

'프로그램 사용 > gstreamer' 카테고리의 다른 글

gstreamer 용어  (0) 2021.07.13
gstreamer element 생성 gst_element_factory_make()  (0) 2021.07.13
gst videorate  (0) 2021.02.09
gstreamer tee  (0) 2021.02.08
gstreamer pipeline  (0) 2015.11.02
Posted by 구차니

'프로그램 사용 > gstreamer' 카테고리의 다른 글

gstreamer element 생성 gst_element_factory_make()  (0) 2021.07.13
gst fpsdisplaysink  (0) 2021.02.18
gstreamer tee  (0) 2021.02.08
gstreamer pipeline  (0) 2015.11.02
gstreamer  (0) 2015.08.05
Posted by 구차니

요런식으로 해두는걸 tee 라고 하는듯

gst-launch-1.0 filesrc location=song.ogg ! decodebin ! tee name=t ! queue ! audioconvert ! audioresample ! autoaudiosink t. ! queue ! audioconvert ! goom ! videoconvert ! autovideosink

[링크 : https://gstreamer.freedesktop.org/documentation/coreelements/tee.html]

'프로그램 사용 > gstreamer' 카테고리의 다른 글

gstreamer element 생성 gst_element_factory_make()  (0) 2021.07.13
gst fpsdisplaysink  (0) 2021.02.18
gst videorate  (0) 2021.02.09
gstreamer pipeline  (0) 2015.11.02
gstreamer  (0) 2015.08.05
Posted by 구차니

! 가 파이프라인 식별자 인데

아 파이프 라인 순서를 맞춰줘야 vlc에서 보일려나?


Network streaming

Stream video using RTP and network elements.


$ gst-launch   v4l2src ! video/x-raw,width=128,height=96,for‐mat=UYVY ! videoconvert ! ffenc_h263 ! video/x-h263 ! rtph263ppay pt=96 ! udpsink host=192.168.1.1 port=5000

This command would be run on the transmitter


$ gst-launch  udpsrc  port=5000 ! application/x-rtp, clock-rate=90000,payload=96  ! rtph263pdepay  queue-delay=0  !  ffdec_h263 xvimagesink

Use this command on the receiver 




[링크 : http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-helloworld.html]

[링크 : http://docs.gstreamer.com/display/GstSDK/gst-launch]

[링크 : http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines]


+

vlc 와 gstreamer 연동?


[링크 : http://wiki.oz9aec.net/index.php/Raspberry_Pi_Camera]

[링크 : http://blog.pclewis.com/2010/02/streaming-nokia-n900-camera-to-vlc/]

'프로그램 사용 > gstreamer' 카테고리의 다른 글

gstreamer element 생성 gst_element_factory_make()  (0) 2021.07.13
gst fpsdisplaysink  (0) 2021.02.18
gst videorate  (0) 2021.02.09
gstreamer tee  (0) 2021.02.08
gstreamer  (0) 2015.08.05
Posted by 구차니