mpegtsmux framerate 180000 fps

Martijn Grendelman martijn at iphion.nl
Thu Apr 5 02:43:44 PDT 2012


Hi,

I am trying to remux an mp4 file (H.264/AAC) into a MPEG-TS with the
following pipeline:

gst-launch-0.10 -v filesrc location=$file ! qtdemux name=demux
demux.video_00 ! queue ! mpegtsmux name=mux ! filesink location=$file.ts
demux.audio_00 ! queue ! mux.

The pipeline seems to run fine and I get the expected file. However...

In the resulting file, the framerate is way off. Both VLC and mplayer
report it as 180000. VLC plays the video really badly, and even seems to
play frames/buffers in the wrong order (video hops back and forth really
fast). Mplayer plays the video smoothly, but at incredible speed.

Gstreamer (with playbin2) seems to think the framerate is 90000:

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/ffdec_h264:ffdec_h2640.GstPad:src:
caps = video/x-raw-yuv, width=(int)704, height=(int)304,
framerate=(fraction)90000/1, format=(fourcc)I420, interlaced=(boolean)false

The original file is reported as having a framerate of 25 in all three
programs.

Is something wrong with my pipeline? Is there a way to force a specific
framerate on the mpegtsmuxer output? I was thinking about a capsfilter,
but can't make out where to place it.

Help is greatly appreciated.

Best regards,
Martijn Grendelman


More information about the gstreamer-devel mailing list