[gst-devel] mpeg transport stream "stuck"

Dan Taylor dtaylor at startrac.com
Tue Oct 14 04:35:57 CEST 2008


The top-post is because I have new data.

In my captured stream are several programs.  I found one that plays.

The difference between the one that plays and the ones that do not play
is that the one that plays has PES start flags in some (or all) of the
headers, and the ones that do not play have NO PES start flags anywhere
in the stream.

"mplayer" can play (at some level) all of the programs.

Is the lack of PES start flags (found by reading through a debug dump
of the entire stream) something that should be "handled" by flutsdemux
or some other part of the GStreamer pipeline?

Thanks.

2008/10/10 Dan Taylor <dtaylor at startrac.com>:
>> I'm trying to use GStreamer and its associated plugins to play an
MPEG
>> Transport Stream (TS) that I captured.  FWIW, I can play the stream,
as is,
>> with mplayer, but mplayer has limitations that make it unusable as a
>> long-term solution.
>>
>>
>>
>> The TS has several programs and I want to play one of them.  This is
simply
>> a development step on the way to using a DVB-T/ATSC front end to
source the
>> TS.
>>
>>
>>
>> I have used
>>
>> "gst-launch filesrc location=file.ts ! flutsdemux name=d
d.audio_0801 !
>> queue ! filesink location=0801.mpa d.video_0800 ! queue ! filesink
>> location=0800.mpv"
>>
>> to extract an audio and video PID to files, so the demuxer seems to
be
>> working.
>>
>> I have used
>>
>> "gst-launch filesrc location=0801.mpa ! decodebin ! audioconvert !
alsasink"
>>
>> and
>>
>> "gst-launch filesrc location=0800.mpv ! queue ! mpeg2dec !
ffmpegcolorspace
>> ! xvimagesink"
>>
>> to successfully play the individual files, but when I combine them
with
>>
>> gst-launch -m filesrc location=file.ts ! flutsdemux name=d
d.audio_0801 !
>> queue ! decodebin ! audioconvert ! alsasink  d.video_0800 ! queue !
mpeg2dec
>> ! xvimagesink

>Try with: queue max-size-buffers=0 max-size-time=0 instead of just
queue.

>>
>> a window is opened and the first frame displayed, but neither does
the video
>> continue, nor is there any audio.  I can kill the X window, and there
are
>> the messages at the end of the post.
>>
>> Any ideas where I should begin debugging this?  Is there a clock/sync
>> problem, perhaps?
>>

>Zaheer

>Try with: queue max-size-buffers=0 max-size-time=0 instead of just
queue.

I have done that and the problem doesn't change.

I have noticed something in the messages:  the clock it tries to use is
the audio clock GstAudioSinkClock, rather than something from the
transport stream.  Looking at "flutsdemux" with gst-inspect reports no
clocking capabilities.  Shouldn't an MPEG TS be getting its clock from
the stream?

I built this from source of the latest GStreamer and plugins and 0.10.15
of the Fluendo demuxer, since I found a closed bug report (ticket 46) at
fluendo.com that suggested it should work.

Thanks for the suggestion.






More information about the gstreamer-devel mailing list