buffer v4l2src for 30 seconds

Vivia Nikolaidou n.vivia at gmail.com
Tue Dec 6 14:36:26 UTC 2016


Hi,

Another workaround for what Dimitrios said is to add a tee somewhere
between the source and the queue. It will then copy the frames before
putting them into the queue.

Best regards,

Vivia

On 6 December 2016 at 15:09, Dimitrios Katsaros <patcherwork at gmail.com> wrote:
> Your problem is that the v4l2src is defaulting to mmap mode, which has a
> limitation on the amount of buffers that can be mapped. In most applications
> this is not a problem but when you are buffering memory like that you will
> hit the limit (32 frames according to videodev2).
>
> You can work around this with 2 ways:
>
> a) Copy the frames before they enter the queue. you can do this using a
> probe.
> b) Set the "io-mode" to one that is not limited in the size of memory it can
> allocate. This one depends on the device you are connecting to and what it
> supports.
>
> for example, this works for me:
>
> gst-launch-1.0 v4l2src io-mode=3 ! queue min-threshold-time=10000000000
> max-size-time=100000000000 max-size-buffers=0 max-size-bytes=0  !
> videoconvert ! ximagesink --gst-debug=v4l2src:6
>
> rw is also an option for an "unlimited" amount of memory, although it is
> suboptimal since it causes additional memory copies. If you are stuck with
> mmap you can post here again and work on getting a probe running in an app
>
> Dimitrios
>
> On Mon, Dec 5, 2016 at 4:18 PM, Antoine Martin <antoine at nagafix.co.uk>
> wrote:
>>
>> Hi,
>>
>> On 05/12/16 21:09, Vivia Nikolaidou wrote:
>> > Hi,
>> >
>> > Basically, what Keith just said - make sure you actually wait 30
>> > seconds before you see the image.
>> It is failing even with ~2 seconds.. so yes, I am waiting at least that
>> long.
>>
>> > Also don't forget to make
>> > max-size-time correspondingly bigger.
>> Sorry, I should have been clearer: it only works for delays lower than 1
>> second (or ~2 seconds with a lower framerate).
>> If I make the min-threshold-time longer, I get the "black output"
>> problem I am trying to solve. (or sometimes, just one frozen frame)
>>
>> > If it still doesn't work, please send a debug log with GST_DEBUG=\*:6
>> > and GST_DEBUG_NO_COLOR=1 .
>> Here's an example of it getting stuck with just 2 seconds of delay
>> (max-size-time is high enough for that already):
>>
>>
>> GST_DEBUG=4 GST_DEBUG_NO_COLOR=1 gst-launch-1.0 -v v4l2src
>> device=/dev/video0 !
>> video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
>> min-threshold-time=2000000000 max-size-time=20000000000 max-size-bytes=0
>> max-size-buffers=0 ! xvimagesink
>> 0:00:00.000037599 27400 0x564899256c00 INFO                GST_INIT
>> gst.c:510:init_pre: Initializing GStreamer Core Library version 1.10.0
>> 0:00:00.000066126 27400 0x564899256c00 INFO                GST_INIT
>> gst.c:511:init_pre: Using library installed in /usr/lib64
>> 0:00:00.000072324 27400 0x564899256c00 INFO                GST_INIT
>> gst.c:522:init_pre: Linux desktop 4.8.10-300.fc25.x86_64 #1 SMP Mon Nov
>> 21 18:59:16 UTC 2016 x86_64
>> 0:00:00.000252264 27400 0x564899256c00 INFO                GST_INIT
>> gstmessage.c:126:_priv_gst_message_initialize: init messages
>> 0:00:00.000632823 27400 0x564899256c00 INFO                GST_INIT
>> gstcontext.c:83:_priv_gst_context_initialize: init contexts
>> 0:00:00.000991487 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
>> gstplugin.c:316:_priv_gst_plugin_initialize: registering 0 static plugins
>> 0:00:00.001070486 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
>> gstplugin.c:224:gst_plugin_register_static: registered static plugin
>> "staticelements"
>> 0:00:00.001078927 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
>> gstplugin.c:226:gst_plugin_register_static: added static plugin
>> "staticelements", result: 1
>> 0:00:00.001094477 27400 0x564899256c00 INFO            GST_REGISTRY
>> gstregistry.c:1738:ensure_current_registry: reading registry cache:
>> /home/antoine/.cache/gstreamer-1.0/registry.x86_64.bin
>> 0:00:00.009389863 27400 0x564899256c00 INFO            GST_REGISTRY
>> gstregistrybinary.c:619:priv_gst_registry_binary_read_cache: loaded
>> /home/antoine/.cache/gstreamer-1.0/registry.x86_64.bin in 0.008285 seconds
>> 0:00:00.009416470 27400 0x564899256c00 INFO            GST_REGISTRY
>> gstregistry.c:1594:scan_and_update_registry: Validating plugins from
>> registry cache: /home/antoine/.cache/gstreamer-1.0/registry.x86_64.bin
>> 0:00:00.009990096 27400 0x564899256c00 INFO            GST_REGISTRY
>> gstregistry.c:1696:scan_and_update_registry: Registry cache has not
>> changed
>> 0:00:00.009995248 27400 0x564899256c00 INFO            GST_REGISTRY
>> gstregistry.c:1773:ensure_current_registry: registry reading and
>> updating done, result = 1
>> 0:00:00.009999061 27400 0x564899256c00 INFO                GST_INIT
>> gst.c:720:init_post: GLib runtime version: 2.50.2
>> 0:00:00.010006551 27400 0x564899256c00 INFO                GST_INIT
>> gst.c:722:init_post: GLib headers version: 2.50.1
>> 0:00:00.010009037 27400 0x564899256c00 INFO                GST_INIT
>> gst.c:723:init_post: initialized GStreamer successfully
>> 0:00:00.010020022 27400 0x564899256c00 INFO            GST_PIPELINE
>> gstparse.c:325:gst_parse_launch_full: parsing pipeline description
>> 'v4l2src device=/dev/video0 !
>> video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
>> min-threshold-time=2000000000 max-size-time=20000000000 max-size-bytes=0
>> max-size-buffers=0 ! xvimagesink '
>> 0:00:00.010579872 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
>> gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin
>> "/usr/lib64/gstreamer-1.0/libgstvideo4linux2.so" loaded
>> 0:00:00.010587244 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
>> gstelementfactory.c:364:gst_element_factory_create: creating element
>> "v4l2src"
>> 0:00:00.010909751 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:668:gst_element_add_pad:<GstBaseSrc at 0x5648994480f0> adding
>> pad 'src'
>> 0:00:00.011110931 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
>> gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin
>> "/usr/lib64/gstreamer-1.0/libgstcoreelements.so" loaded
>> 0:00:00.011116130 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
>> gstelementfactory.c:364:gst_element_factory_create: creating element
>> "queue"
>> 0:00:00.011154999 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:668:gst_element_add_pad:<GstQueue at 0x564899450210> adding
>> pad 'sink'
>> 0:00:00.011162626 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:668:gst_element_add_pad:<GstQueue at 0x564899450210> adding
>> pad 'src'
>> 0:00:00.011664133 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
>> gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin
>> "/usr/lib64/gstreamer-1.0/libgstxvimagesink.so" loaded
>> 0:00:00.011669639 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
>> gstelementfactory.c:364:gst_element_factory_create: creating element
>> "xvimagesink"
>> 0:00:00.011721796 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:668:gst_element_add_pad:<GstBaseSink at 0x564899457bc0> adding
>> pad 'sink'
>> 0:00:00.011730840 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
>> gstelementfactory.c:364:gst_element_factory_create: creating element
>> "pipeline"
>> 0:00:00.011786799 27400 0x564899256c00 INFO            GST_PIPELINE
>> grammar.y:596:gst_parse_perform_link: linking some pad of GstV4l2Src
>> named v4l2src0 to some pad of GstQueue named queue0 (0/0) with caps
>> "video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1"
>> 0:00:00.011797990 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
>> gstelementfactory.c:364:gst_element_factory_create: creating element
>> "capsfilter"
>> 0:00:00.011834045 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:668:gst_element_add_pad:<GstBaseTransform at 0x56489945e320>
>> adding pad 'sink'
>> 0:00:00.011840239 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:668:gst_element_add_pad:<GstBaseTransform at 0x56489945e320>
>> adding pad 'src'
>> 0:00:00.011844676 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2104:gst_bin_get_state_func:<pipeline0> getting state
>> 0:00:00.011850851 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
>> state change to NULL
>> 0:00:00.011854766 27400 0x564899256c00 INFO               GST_EVENT
>> gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
>> 0:00:00.011858264 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstutils.c:1632:gst_element_link_pads_full: trying to link element
>> v4l2src0:(any) to element capsfilter0:sink
>> 0:00:00.011861372 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:916:gst_element_get_static_pad: found pad capsfilter0:sink
>> 0:00:00.011863601 27400 0x564899256c00 INFO                GST_PADS
>> gstutils.c:1446:prepare_link_maybe_ghosting: v4l2src0 and capsfilter0 in
>> same bin, no need for ghost pads
>> 0:00:00.011868802 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:2315:gst_pad_link_prepare: trying to link v4l2src0:src and
>> capsfilter0:sink
>> 0:00:00.011875093 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:4115:gst_pad_peer_query:<capsfilter0:src> pad has no peer
>> 0:00:00.011880786 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:2521:gst_pad_link_full: linked v4l2src0:src and
>> capsfilter0:sink, successful
>> 0:00:00.011883208 27400 0x564899256c00 INFO               GST_EVENT
>> gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
>> 0:00:00.011886401 27400 0x564899256c00 INFO               GST_EVENT
>> gstpad.c:5655:gst_pad_send_event_unchecked:<v4l2src0:src> Received event
>> on flushing pad. Discarding
>> 0:00:00.011890641 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstutils.c:1632:gst_element_link_pads_full: trying to link element
>> capsfilter0:src to element queue0:(any)
>> 0:00:00.011893713 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:916:gst_element_get_static_pad: found pad capsfilter0:src
>> 0:00:00.011896883 27400 0x564899256c00 INFO                GST_PADS
>> gstutils.c:932:gst_pad_check_link: trying to link capsfilter0:src and
>> queue0:sink
>> 0:00:00.011905551 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:4115:gst_pad_peer_query:<queue0:src> pad has no peer
>> 0:00:00.011908829 27400 0x564899256c00 INFO                GST_PADS
>> gstutils.c:1446:prepare_link_maybe_ghosting: capsfilter0 and queue0 in
>> same bin, no need for ghost pads
>> 0:00:00.011912385 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:2315:gst_pad_link_prepare: trying to link capsfilter0:src and
>> queue0:sink
>> 0:00:00.011918928 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:4115:gst_pad_peer_query:<queue0:src> pad has no peer
>> 0:00:00.011921830 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:2521:gst_pad_link_full: linked capsfilter0:src and queue0:sink,
>> successful
>> 0:00:00.011924548 27400 0x564899256c00 INFO               GST_EVENT
>> gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
>> 0:00:00.011926588 27400 0x564899256c00 INFO               GST_EVENT
>> gstpad.c:5655:gst_pad_send_event_unchecked:<capsfilter0:src> Received
>> event on flushing pad. Discarding
>> 0:00:00.011930139 27400 0x564899256c00 INFO            GST_PIPELINE
>> grammar.y:596:gst_parse_perform_link: linking some pad of GstQueue named
>> queue0 to some pad of GstXvImageSink named xvimagesink0 (0/0) with caps
>> "(NULL)"
>> 0:00:00.011935471 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstutils.c:1632:gst_element_link_pads_full: trying to link element
>> queue0:(any) to element xvimagesink0:(any)
>> 0:00:00.011938544 27400 0x564899256c00 INFO                GST_PADS
>> gstutils.c:932:gst_pad_check_link: trying to link queue0:src and
>> xvimagesink0:sink
>> 0:00:00.011949453 27400 0x564899256c00 INFO                GST_PADS
>> gstutils.c:1446:prepare_link_maybe_ghosting: queue0 and xvimagesink0 in
>> same bin, no need for ghost pads
>> 0:00:00.011952609 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:2315:gst_pad_link_prepare: trying to link queue0:src and
>> xvimagesink0:sink
>> 0:00:00.011959275 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:2521:gst_pad_link_full: linked queue0:src and
>> xvimagesink0:sink, successful
>> 0:00:00.011961582 27400 0x564899256c00 INFO               GST_EVENT
>> gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
>> 0:00:00.011963109 27400 0x564899256c00 INFO               GST_EVENT
>> gstpad.c:5655:gst_pad_send_event_unchecked:<queue0:src> Received event
>> on flushing pad. Discarding
>> Setting pipeline to PAUSED ...
>> 0:00:00.011978324 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<xvimagesink0> current NULL
>> pending VOID_PENDING, desired next READY
>> 0:00:00.012569531 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<xvimagesink0> completed
>> state change to READY
>> 0:00:00.012574946 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<xvimagesink0>
>> notifying about state-changed NULL to READY (VOID_PENDING pending)
>> 0:00:00.012581482 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'xvimagesink0'
>> changed state to 2(READY) successfully
>> 0:00:00.012586047 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<queue0> current NULL pending
>> VOID_PENDING, desired next READY
>> 0:00:00.012588917 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<queue0> completed state
>> change to READY
>> 0:00:00.012590598 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<queue0> notifying
>> about state-changed NULL to READY (VOID_PENDING pending)
>> 0:00:00.012593492 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'queue0'
>> changed state to 2(READY) successfully
>> 0:00:00.012596314 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<capsfilter0> current NULL
>> pending VOID_PENDING, desired next READY
>> 0:00:00.012598677 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
>> state change to READY
>> 0:00:00.012600916 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<capsfilter0>
>> notifying about state-changed NULL to READY (VOID_PENDING pending)
>> 0:00:00.012604306 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'capsfilter0'
>> changed state to 2(READY) successfully
>> 0:00:00.012607476 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<v4l2src0> current NULL pending
>> VOID_PENDING, desired next READY
>> 0:00:00.184160042 27400 0x564899256c00 INFO                    v4l2
>> v4l2_calls.c:592:gst_v4l2_open:<v4l2src0> Opened device 'HD Pro Webcam
>> C920' (/dev/video0) successfully
>> 0:00:00.184223467 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<v4l2src0> completed state
>> change to READY
>> 0:00:00.184245914 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<v4l2src0> notifying
>> about state-changed NULL to READY (VOID_PENDING pending)
>> 0:00:00.184288764 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'v4l2src0'
>> changed state to 2(READY) successfully
>> 0:00:00.184317170 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2394:gst_element_continue_state:<pipeline0> committing
>> state from NULL to READY, pending PAUSED, next PAUSED
>> 0:00:00.184335945 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<pipeline0> notifying
>> about state-changed NULL to READY (PAUSED pending)
>> 0:00:00.184393295 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2401:gst_element_continue_state:<pipeline0> continue state
>> change READY to PAUSED, final PAUSED
>> 0:00:00.184438204 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<xvimagesink0> current READY
>> pending VOID_PENDING, desired next PAUSED
>> 0:00:00.184475040 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2969:gst_bin_change_state_func:<pipeline0> child 'xvimagesink0'
>> is changing state asynchronously to PAUSED
>> 0:00:00.184498013 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<queue0> current READY pending
>> VOID_PENDING, desired next PAUSED
>> 0:00:00.184560512 27400 0x564899256c00 INFO                    task
>> gsttask.c:456:gst_task_set_lock: setting stream lock 0x56489944a520 on
>> task 0x564899475050
>> 0:00:00.184580652 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:6001:gst_pad_start_task:<queue0:src> created task 0x564899475050
>> 0:00:00.184671197 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<queue0> completed state
>> change to PAUSED
>> 0:00:00.184688259 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<queue0> notifying
>> about state-changed READY to PAUSED (VOID_PENDING pending)
>> 0:00:00.184707588 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'queue0'
>> changed state to 3(PAUSED) successfully
>> 0:00:00.184725386 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<capsfilter0> current READY
>> pending VOID_PENDING, desired next PAUSED
>> 0:00:00.184751822 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
>> state change to PAUSED
>> 0:00:00.184766750 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<capsfilter0>
>> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
>> 0:00:00.184792399 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'capsfilter0'
>> changed state to 3(PAUSED) successfully
>> 0:00:00.184827829 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<v4l2src0> current READY pending
>> VOID_PENDING, desired next PAUSED
>> 0:00:00.184858155 27400 0x564899256c00 INFO                 basesrc
>> gstbasesrc.c:1343:gst_base_src_do_seek:<v4l2src0> seeking: time segment
>> start=0:00:00.000000000, offset=0:00:00.000000000,
>> stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000,
>> flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position
>> 0:00:00.000000000, duration 99:99:99.999999999
>> 0:00:00.184910233 27400 0x564899256c00 INFO                    task
>> gsttask.c:456:gst_task_set_lock: setting stream lock 0x56489944a0a0 on
>> task 0x564899475170
>> 0:00:00.184928124 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:6001:gst_pad_start_task:<v4l2src0:src> created task
>> 0x564899475170
>> 0:00:00.185011744 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<v4l2src0> completed state
>> change to PAUSED
>> 0:00:00.185029999 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<v4l2src0> notifying
>> about state-changed READY to PAUSED (VOID_PENDING pending)
>> 0:00:00.185058282 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:3006:gst_bin_change_state_func:<pipeline0> child 'v4l2src0'
>> changed state to 3(PAUSED) successfully without preroll
>> 0:00:00.185086420 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<pipeline0> completed state
>> change to PAUSED
>> 0:00:00.185099632 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<pipeline0> notifying
>> about state-changed READY to PAUSED (VOID_PENDING pending)
>> 0:00:00.185088935 27400 0x56489945d0a0 INFO        GST_ELEMENT_PADS
>> gstelement.c:913:gst_element_get_static_pad: no such pad 'sink' in
>> element "v4l2src0"
>> Pipeline is live and does not need PREROLL ...
>> 0:00:00.185331830 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1150:gst_v4l2_object_fill_format_list:<v4l2src0> got 7
>> format(s):
>> 0:00:00.185356783 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   YUYV
>> 0:00:00.185372121 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   MJPG
>> 0:00:00.185383658 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   YU12
>> (emulated)
>> 0:00:00.185395408 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   YV12
>> (emulated)
>> 0:00:00.185415525 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   BGR3
>> (emulated)
>> 0:00:00.185444546 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   RGB3
>> (emulated)
>> 0:00:00.185465995 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   H264
>> Setting pipeline to PLAYING ...
>> 0:00:00.186002357 27400 0x564899256c00 INFO               GST_EVENT
>> gstevent.c:1382:gst_event_new_latency: creating latency event
>> 0:00:00.000000000
>> 0:00:00.186060829 27400 0x564899256c00 INFO                     bin
>> gstbin.c:2792:gst_bin_do_latency_func:<pipeline0> configured latency of
>> 0:00:00.000000000
>> 0:00:00.186098584 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<xvimagesink0> current READY
>> pending PAUSED, desired next PLAYING
>> 0:00:00.186127078 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2969:gst_bin_change_state_func:<pipeline0> child 'xvimagesink0'
>> is changing state asynchronously to PLAYING
>> 0:00:00.186156627 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<queue0> current PAUSED pending
>> VOID_PENDING, desired next PLAYING
>> 0:00:00.186174601 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<queue0> completed state
>> change to PLAYING
>> 0:00:00.186184065 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<queue0> notifying
>> about state-changed PAUSED to PLAYING (VOID_PENDING pending)
>> 0:00:00.186201901 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'queue0'
>> changed state to 4(PLAYING) successfully
>> 0:00:00.186220801 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<capsfilter0> current PAUSED
>> pending VOID_PENDING, desired next PLAYING
>> 0:00:00.186246911 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
>> state change to PLAYING
>> 0:00:00.186258119 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<capsfilter0>
>> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
>> 0:00:00.186273601 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'capsfilter0'
>> changed state to 4(PLAYING) successfully
>> 0:00:00.186304967 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<v4l2src0> completed state
>> change to PLAYING
>> 0:00:00.186318883 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<v4l2src0> notifying
>> about state-changed PAUSED to PLAYING (VOID_PENDING pending)
>> 0:00:00.186358777 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'v4l2src0'
>> changed state to 4(PLAYING) successfully
>> New clock: GstSystemClock
>> 0:00:00.356780147 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:3907:gst_v4l2_object_get_caps:<v4l2src0> probed caps:
>> video/x-raw, format=(string)YUY2, width=(int)2304, height=(int)1536,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction)2/1; video/x-raw,
>> format=(string)YUY2, width=(int)2304, height=(int)1296,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction)2/1; video/x-raw,
>> format=(string)YUY2, width=(int)1920, height=(int)1080,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction)5/1; video/x-raw,
>> format=(string)YUY2, width=(int)1600, height=(int)896,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 15/2, 5/1 };
>> video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 10/1, 15/2, 5/1
>> }; video/x-raw, format=(string)YUY2, width=(int)960, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 15/1, 10/1, 15/2,
>> 5/1 }; video/x-raw, format=(string)YUY2, width=(int)1024,
>> height=(int)576, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 15/1, 10/1, 15/2, 5/1 }; video/x-raw,
>> format=(string)YUY2, width=(int)800, height=(int)600,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 24/1, 20/1, 15/1,
>> 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)864,
>> height=(int)480, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw,
>> format=(string)YUY2, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
>> width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YUY2, width=(int)640, height=(int)360,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
>> width=(int)432, height=(int)240, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YUY2, width=(int)352, height=(int)288,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
>> width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YUY2, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
>> width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YUY2, width=(int)160, height=(int)120,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
>> width=(int)160, height=(int)90, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)1920, height=(int)1080,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)1600, height=(int)896,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)1280, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)960, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)1024, height=(int)576,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)800, height=(int)600,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)864, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)640, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)640, height=(int)360,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)432, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)352, height=(int)288,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)320, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)176, height=(int)144,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)160, height=(int)120,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)160, height=(int)90,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)2304, height=(int)1536,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction)2/1; video/x-raw, format=(string)I420,
>> width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, framerate=(fraction)2/1;
>> video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)1600, height=(int)896,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)1280, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)960, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)1024, height=(int)576,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)800, height=(int)600,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)864, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)640, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)640, height=(int)360,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)432, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)352, height=(int)288,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)320, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)176, height=(int)144,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)160, height=(int)120,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)160, height=(int)90,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)2304, height=(int)1536,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction)2/1; video/x-raw, format=(string)YV12,
>> width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, framerate=(fraction)2/1;
>> video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)1600, height=(int)896,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)1280, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)960, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)1024, height=(int)576,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)800, height=(int)600,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)864, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)640, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)640, height=(int)360,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)432, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)352, height=(int)288,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)320, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)176, height=(int)144,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)160, height=(int)120,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)160, height=(int)90,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)2304, height=(int)1536,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction)2/1; video/x-raw, format=(string)BGR,
>> width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, framerate=(fraction)2/1;
>> video/x-raw, format=(string)BGR, width=(int)1920, height=(int)1080,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)1600, height=(int)896,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)1280, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)960, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)1024, height=(int)576,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)800, height=(int)600,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)864, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)640, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)640, height=(int)360,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)432, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)352, height=(int)288,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)320, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)176, height=(int)144,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)160, height=(int)120,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)160, height=(int)90,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)2304, height=(int)1536,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction)2/1; video/x-raw, format=(string)RGB,
>> width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, framerate=(fraction)2/1;
>> video/x-raw, format=(string)RGB, width=(int)1920, height=(int)1080,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)1600, height=(int)896,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)1280, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)960, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)1024, height=(int)576,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)800, height=(int)600,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)864, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)640, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)640, height=(int)360,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)432, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)352, height=(int)288,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)320, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)176, height=(int)144,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)160, height=(int)120,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)160, height=(int)90,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)1600, height=(int)896, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au, width=(int)960,
>> height=(int)720, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
>> 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
>> }; video/x-h264, stream-format=(string)byte-stream,
>> alignment=(string)au, width=(int)1024, height=(int)576,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)800, height=(int)600, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au, width=(int)864,
>> height=(int)480, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
>> 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
>> }; video/x-h264, stream-format=(string)byte-stream,
>> alignment=(string)au, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au, width=(int)640,
>> height=(int)360, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
>> 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
>> }; video/x-h264, stream-format=(string)byte-stream,
>> alignment=(string)au, width=(int)432, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au, width=(int)320,
>> height=(int)240, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
>> 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
>> }; video/x-h264, stream-format=(string)byte-stream,
>> alignment=(string)au, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au, width=(int)160,
>> height=(int)120, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
>> 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
>> }; video/x-h264, stream-format=(string)byte-stream,
>> alignment=(string)au, width=(int)160, height=(int)90,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }
>> 0:00:00.360069052 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:3486:gst_v4l2_object_set_format_full:<v4l2src0> Set
>> framerate to 30/1
>> 0:00:00.360098853 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:2858:gst_v4l2_object_setup_pool:<v4l2src0> accessing
>> buffers via mode 2
>> 0:00:00.360400374 27400 0x56489945d0a0 INFO          v4l2bufferpool
>>
>> gstv4l2bufferpool.c:551:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
>> increasing minimum buffers to 2
>> 0:00:00.360420750 27400 0x56489945d0a0 INFO          v4l2bufferpool
>>
>> gstv4l2bufferpool.c:564:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
>> reducing maximum buffers to 32
>> 0:00:00.360452983 27400 0x56489945d0a0 INFO               GST_EVENT
>> gstevent.c:808:gst_event_new_caps: creating caps event video/x-raw,
>> format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> 0:00:00.360587465 27400 0x56489945d0a0 INFO           basetransform
>> gstbasetransform.c:1367:gst_base_transform_setcaps:<capsfilter0> reuse
>> caps
>> 0:00:00.360607315 27400 0x56489945d0a0 INFO               GST_EVENT
>> gstevent.c:808:gst_event_new_caps: creating caps event video/x-raw,
>> format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps =
>> video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
>> video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> /GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw,
>> format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps =
>> video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-raw,
>> format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps =
>> video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> 0:00:00.362113272 27400 0x56489945d0a0 INFO          v4l2bufferpool
>>
>> gstv4l2bufferpool.c:564:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
>> reducing maximum buffers to 32
>> 0:00:00.589588804 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.033333333
>> out ts 0:00:00.375615440
>> 0:00:00.589651939 27400 0x56489945d0a0 INFO               GST_EVENT
>> gstevent.c:889:gst_event_new_segment: creating segment event time
>> segment start=0:00:00.000000000, offset=0:00:00.000000000,
>> stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000,
>> flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position
>> 0:00:00.000000000, duration 99:99:99.999999999
>> 0:00:00.589715480 27400 0x56489945d0a0 INFO                 basesrc
>> gstbasesrc.c:2847:gst_base_src_loop:<v4l2src0> marking pending DISCONT
>> 0:00:00.621594297 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.066666666
>> out ts 0:00:00.407617179
>> 0:00:00.654021176 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.099999999
>> out ts 0:00:00.439618368
>> 0:00:00.689893747 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.133333332
>> out ts 0:00:00.475617487
>> 0:00:00.721910251 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.166666665
>> out ts 0:00:00.507647265
>> 0:00:00.757958535 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.199999998
>> out ts 0:00:00.539633525
>> 0:00:00.789852420 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.233333331
>> out ts 0:00:00.575639526
>> 0:00:00.821891929 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.266666664
>> out ts 0:00:00.607616405
>> 0:00:00.853938202 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.299999997
>> out ts 0:00:00.639616432
>> 0:00:00.889848131 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.333333330
>> out ts 0:00:00.675613298
>> 0:00:00.921879104 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.366666663
>> out ts 0:00:00.707639631
>> 0:00:00.957900456 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.399999996
>> out ts 0:00:00.739616309
>> 0:00:00.989604192 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.433333329
>> out ts 0:00:00.775617331
>> 0:00:01.021627343 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.466666662
>> out ts 0:00:00.807662060
>> 0:00:01.053915829 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.499999995
>> out ts 0:00:00.839609309
>> 0:00:01.089895035 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.533333328
>> out ts 0:00:00.875617397
>> 0:00:01.121866163 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.566666661
>> out ts 0:00:00.907644460
>> 0:00:01.157871720 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.599999994
>> out ts 0:00:00.939618489
>> 0:00:01.189948793 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.633333327
>> out ts 0:00:00.975642091
>> 0:00:01.221875579 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.666666660
>> out ts 0:00:01.007613598
>> 0:00:01.253878199 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.699999993
>> out ts 0:00:01.039629540
>> 0:00:01.289871721 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.733333326
>> out ts 0:00:01.075635406
>> 0:00:01.321867816 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.766666659
>> out ts 0:00:01.107612484
>> 0:00:01.357847153 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.799999992
>> out ts 0:00:01.139611991
>> 0:00:01.389945890 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.833333325
>> out ts 0:00:01.175613320
>> 0:00:01.421885435 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.866666658
>> out ts 0:00:01.207611377
>> 0:00:01.453879351 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.899999991
>> out ts 0:00:01.239647166
>> 0:00:01.489907828 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.933333324
>> out ts 0:00:01.275640445
>> 0:00:01.521883360 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.966666657
>> out ts 0:00:01.307640537
>> 0:00:01.557858062 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.999999990
>> out ts 0:00:01.339611172
>> 0:00:01.589949749 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:01.033333323
>> out ts 0:00:01.375610278
>> 0:00:01.621568158 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:01.066666656
>> out ts 0:00:01.407609796
>>
>> After this last line of debug logging output, nothing happens.
>>
>> Thanks
>> Antoine
>>
>>
>>
>>
>>
>> >
>> > Best regards,
>> >
>> > Vivia
>> >
>> > On 5 December 2016 at 15:40, Thornton, Keith <keith.thornton at zeiss.com>
>> > wrote:
>> >> Hi,
>> >> if you set min-threshold-time to 30000000000 you would buffer 30
>> >> seconds of video. As a consequence, no data will reach xvimagesink until you
>> >> have pushed more than 30 seconds of data into the queue. If this is not what
>> >> you want then tell us how it should differ from this scenario.
>> >>
>> >> -----Ursprüngliche Nachricht-----
>> >> Von: gstreamer-devel
>> >> [mailto:gstreamer-devel-bounces at lists.freedesktop.org] Im Auftrag von
>> >> Antoine Martin
>> >> Gesendet: Montag, 5. Dezember 2016 13:44
>> >> An: gstreamer-devel at lists.freedesktop.org
>> >> Betreff: buffer v4l2src for 30 seconds
>> >>
>> >> Hi,
>> >>
>> >> I want to do something seemingly very simple, but I am unable to find
>> >> the correct GStreamer incantation.
>> >> All I want is ~30 seconds of delay between the v4l2src capture and the
>> >> output (xvimagesink or whatever).
>> >>
>> >> Using the queue element I can buffer up to ~1 seconds:
>> >> gst-launch-1.0 -v v4l2src device=/dev/video0 !
>> >> video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
>> >> min-threshold-time=1000000000 max-size-time=10000000000
>> >> max-size-bytes=0
>> >> max-size-buffers=0 ! xvimagesink
>> >>
>> >> If I reduce the framerate, then I can buffer a little bit more.
>> >> But if I increase the min-threshold-time too much, I just get a black
>> >> screen. My system has enough memory to buffer minutes of video, so what is
>> >> happening here?
>> >>
>> >> I tried using the queue2 element, but this isn't actually buffering
>> >> anything at all (what is the equivalent to min-threshold-time here?):
>> >> gst-launch-1.0 -v v4l2src device=/dev/video0 !
>> >> video/x-raw,format=YUY2,width=640,height=480,framerate=15/1 ! queue2
>> >> use-buffering=1 low-watermark=0.5  max-size-time=0 max-size-bytes=0
>> >> max-size-buffers=600 ! xvimagesink sync=false
>> >>
>> >> It is such a simple thing to do that I am sure GStreamer can do this,
>> >> but how?
>> >>
>> >> Thanks
>> >> Antoine
>> >> _______________________________________________
>> >> gstreamer-devel mailing list
>> >> gstreamer-devel at lists.freedesktop.org
>> >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> >> _______________________________________________
>> >> gstreamer-devel mailing list
>> >> gstreamer-devel at lists.freedesktop.org
>> >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> > _______________________________________________
>> > gstreamer-devel mailing list
>> > gstreamer-devel at lists.freedesktop.org
>> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> >
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>


More information about the gstreamer-devel mailing list