[gstreamer-bugs] [Bug 610923] New: matroskamux can't handle variable resolution

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Feb 24 03:02:12 PST 2010


https://bugzilla.gnome.org/show_bug.cgi?id=610923
  GStreamer | gst-plugins-good | 0.10.17

           Summary: matroskamux can't handle variable resolution
    Classification: Desktop
           Product: GStreamer
           Version: 0.10.17
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: lfarkas at lfarkas.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


in the latest version of matroskamux it's changed to require a caps with the
actual resolution of the input stream eg. h264. which is very problematic if i
try to put a variable resolution h264 stream into a matroska container.
currently gstreamer not bale to handle caps re-negotiation while the pipeline
in PLAY state. so if i've live video input stream where the resolution can be
change (eg. most ip camera can change the resolution on the fly) i've to stop
and start the pipeline. which means i'll lose a few frames, what's more if it's
a rtsp ip camera i can't detect the resolution change just only the first frame
with different resolution arrive in the rtp stream. and since i can't
re-negotiate the running pipelines caps i have to drop this (and a few more
next) frame stop the pipeline, rewrite the cap filter in the pipeline and
restart it.

it'd be useful if we can add more section to a matroska file (since it's
possible in a matroska file), but it'd be useful if matroskamux or h264parse
can handle this ie. if h264parse recognize a new resolution than change the
caps and if matroskamux see that the caps change then start a new section or as
it was before this version use the same session in the matoska file but change
the frames resolution (which would be the best solution).

currently i can only use:
gst-launch filesrc location=resolution_variable.h264 ! h264parse
split-packetized=true ! capsfilter
caps="video/x-h264,width=352,height=288,framerate=1/1" ! matroskamux ! filesink
location=out.mkv
while if i can use this pipeline:
gst-launch filesrc location=resolution_variable.h264 ! h264parse
split-packetized=true ! matroskamux ! filesink location=out.mkv
and h264parse always set the proper caps or matroskamux always set the proper
resolution in the file than it's can be done realtime. currently matroskamux
fill the matroska's resolution with dummy 0 x <verylargenumber> resolution.

is there any solution to this?

anybody has nay tipp?

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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