MPEG-TS not playing correctly

Tim Müller tim at centricular.com
Fri Jan 17 05:56:35 PST 2014


On Fri, 2014-01-17 at 02:44 -0800, adi4info wrote:

Hello,

> I'm trying to generate a MPEG_TS using the following pipeline:
> cat <Input_YUV video file>  | gst-launch fdsrc fd=0 !  TIVidenc1
> codecName="h264enc" engineName="codecServer" resolution="720x576"
> iColorSpace="NV12" frameRate=25 numInputBufs=15 numOutputBufs=15 ! mpegtsmux 
> ! filesink location=Out.ts
> 
> It uses a YUV video file and encodes in H264 using TI gstreamer encoder
> element format to put it in a TS container. *The output file plays with
> abrupt fast speed in VLC.* Is my pipeline correct ??
> Platform: Linux
> Gstreamer version: 0.10.0 cross compiled for arm-linux

It looks like there's nothing which ever sets any timestamps on the
video data, and without timestamps it just get played as fast as
possible then.

Also, reading raw YUV from a file like that is not really a great idea,
fdsrc will read data in its own chunk size, while the encoder probably
expects 1 buffer = 1 raw yuv frame. I'm surprised it works at all.

Try something like:

 gst-launch-0.10 filesrc location=foo.yuv ! videoparse format=xyz
width=x height=y framerate=25/1 ! TIVidenc! ! ...

See 'gst-inspect-0.10 videoparse' for all the options.

Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com



More information about the gstreamer-devel mailing list