[gst-devel] Using mkv (mjpeg) files with gnlcomposition/gnlfilesource
Ron McOuat
rmcouat at smartt.com
Thu Jul 1 22:26:39 CEST 2010
On 10-07-01 11:42 AM, Wes Miller wrote:
> Is it possible to use a matroskamux-ed mjpeg file in a gnlfilesource? I get
> errors when I try it.
>
> Thanks,
>
> Wes
>
>
> PIPELINE
>
> gst-launch gnlcomposition \
> { \
> gnlfilesource name="s1" location="/home/wmiller/2.mkv" \
> start=0 duration=5000000000 media-start=0
> media-duration=5000000000 \
> } \
> ! queue2 ! matroskademux ! image/jpeg ! jpegdec !
> ffmpegcolorspace ! videorate ! autovideosink
>
>
> ERRORS
>
> ERROR: from element /GstPipeline:pipeline0/GnlFileSource:s1: Could not
> perform seek on resource.
> Additional debug info:
> gnlsource.c(332): ghost_seek_pad ():
> /GstPipeline:pipeline0/GnlFileSource:s1:
> Sending initial seek to upstream element failed
> ERROR: pipeline doesn't want to preroll.
> Setting pipeline to NULL ...
>
> (gst-launch-0.10:5569): GStreamer-CRITICAL **:
> gst_pad_set_blocked_async_full: assertion
> `GST_IS_PAD (pad)' failed
>
This pipeline works for me
gst-launch gnlcomposition \( gnlfilesource
location=file:///home/ronm/file.mkv
media-start=840000000000 media-duration=10000000000 start=0
duration=10000000000 \) ! ffmpegcolorspace ! xvimagesink
Differences I see are () not {} wrapping the gnlfilesource, not sure if
that matters, the location= is a URL not a file name, the output is
already run through decoders internally so you don't need the
matroskademux ! jpegdec elements. You might be missing a \ after the
media-start=0 or likely the email program just folded the line.
Also, from your file path it looks like you are on Linux. If you open
the matroska MJPEG file in totem, is the time scrub bar useful in
changing your position in the file? The reason I ask is if you can't
move in time using the slider control but the file plays then the index
is missing from the end of the file. If you created the file with
gst-launch without the -e option and hit cntrl-C to stop, the index is
not written. Index writing is initiated when matroskamux sees EOS. End
result I believe is no index, no seeking.
More information about the gstreamer-devel
mailing list