[gst-devel] matroskamux can't handle variable resolution
Farkas Levente
lfarkas at lfarkas.org
Wed Feb 24 12:03:09 CET 2010
hi,
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?
thanks in advance.
regards.
ps. i also fill a bugzilla #610923
--
Levente "Si vis pacem para bellum!"
More information about the gstreamer-devel
mailing list