[Bug 731890] New imagesequencesrc element

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sun Apr 3 10:57:52 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=731890

--- Comment #25 from César Fabián Orccón Chipana <cfoch.fabian at gmail.com> ---
gstimagesequencesrc
~~~~~~~~~~~~~~~~~~~

The purpose of GstImageSequenceSrc is to give the developer an easier way
to handle sequences of images. Currently Gstreamer have an element called
multifilesrc which is useful to stream image of sequences, but since it is more
generic. GstImageSequenceSrc pretends to focus on images.

Problems
~~~~~~~~
  * Gstreamer's multifilesrc can stream image of sequences, but it is limited
to
    file names following the printf format: "%04d".
  * It is not possible to tell Gstreamer´s multifilesrc, the duration per
frame.
  * GES's multifilesource repeats the same problems mentioned
    above. Also, this source implement a "hacky" uri to be used as a
GESUriClip.

Propositions to solve those problems
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  * Add a property using an array of image file names.
  * Add a property using an array of duration.
  * In case no array of duration is given,
    - Set a framerate through out a property.
  * In Gstreamer Editing Services, create:
    - GESImageSequenceClip
    - GESImageSequenceSource

Use cases / Possible users
~~~~~~~~~~~~~~~~~~~~~~~~~~~
  * User who wants to create a script or application to render a video from
    a sequences of image files.
  * Handle image sequences as a *clip* in Gstreamer Editing Services,
    for editing purposes.

Advantages
~~~~~~~~~~~
  * Control over the filenames
  * Control over the duration of the frame
  * in Gstreamer editing services, treat imagesequencesrc as a GESClip, and
    having access to direct elements.

Disadvantages
~~~~~~~~~~~~~
  * Since gst-launch can´t parse an array of strings, it will not be possible
    to call imagesequencesrc throughout the pipeline using gst-launch.

API Draft 
~~~~~~~~~~

A. GstImageSequenceSrc

  Properties
  ----------
    - filenames: G_TYPE_STRV)
        * Set an array of file names.
        * If this value has been already set, it will not be possible to set a
          new value. (new version maybe?)
    - durations: G_TYPE_INT
        * Set an array of duration per file name.
        * If this value or "framerate" value has been already set, it will not
          be possible to set a new value for whichever of both.
    - framerate: G_TYPE_FRACTION
        * Set the framerate for constant speed.
        * If this value or "durations" has been already set, it will not
          be possible to set a new value for whichever of both.

B. GESImageSequenceSrc
  Properties
  ----------
    Properties will be set throughout gst_track_element_set_child_property


...


More Ideas (but need more development)
~~~~~~~~~~~
  In order to play the sequence from gst-launch, there may be a playlist file.
  The playlist file can be a standard format such as m3u or pls.
  - The easiest way would be to add a property "playlist". It means that the
    element should typefind the playlist file and parsing it depending the
    format it is.
  - We could also think on a demuxer.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list