mpeg transport stream "stuck"

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

mpeg transport stream "stuck"

Dan Taylor-2

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

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?

Thanks.

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got Message from element "xvimagesink0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "alsasink0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "ffmpegcsp0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "audioconvert0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "mpeg2dec0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "queue1" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "fakesink" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "typefind" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "decodebin0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "queue0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "d" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "filesrc0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "pipeline0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;
Got Message from element "ffmpegcsp0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "audioconvert0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "mpeg2dec0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "queue1" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "typefind" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "queue0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "d" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "filesrc0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
No accelerated IMDCT transform found
Got Message from element "a52dec0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "a52dec0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "fakesink" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_READY;
Got Message from element "decodebin0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "fakesink" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_NULL;
Got Message from element "fakesink" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_NULL, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "a52dec0" (tag): taglist, bitrate=(guint)384000;
Got Message from element "xvimagesink0" (element): prepare-xwindow-id;
Got Message from element "xvimagesink0" (element): have-xwindow-id, xwindow-id=(gulong)58720262;
Got Message from element "xvimagesink0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "alsasink0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "pipeline0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Got Message from element "pipeline0" (new-clock): GstMessageNewClock, clock=(GstClock)"\(GstAudioClock\)\ GstAudioSinkClock";
New clock: GstAudioSinkClock
Got Message from element "pipeline0" (async-done): no message details
Got Message from element "xvimagesink0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "alsasink0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "ffmpegcsp0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "audioconvert0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "mpeg2dec0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "a52dec0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "typefind" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "decodebin0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "queue1" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "queue0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "d" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "filesrc0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "pipeline0" (state-changed): GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message from element "xvimagesink0" (error): GstMessageError, gerror=(GstGError)(NULL), debug=(string)"xvimagesink.c\(1199\):\ gst_xvimagesink_handle_xevents\ \(\):\ /pipeline0/xvimagesink0";
ERROR: from element /pipeline0/xvimagesink0: Output window was closed
Additional debug info:
xvimagesink.c(1199): gst_xvimagesink_handle_xevents (): /pipeline0/xvimagesink0
Execution ended after 2136255378 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...
 

 


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

ASF rtp payload packetizer

Irfan Shaikh-2
ASF rtp payload packetizer

Hi All,

      Acoording to my knowledge streaming of ASF file on WMP player can be done only by sending ASF packets beneath rtp packets since WMP player supports rtsp protocol. Hence i wanted to create a payload packetizer for ASF data packets which i get after respective demuxer plug-in.

      Please suggest me if my approach is correct. Is there any other simpler approach for ASF streaming on WMP player???
Provide me any information regarding development of ASF rtp Palyload packetizer.

Thanks in Advaance,

Regards,
Irfan

This message (including any attachment) is confidential and may be legally privileged. Access to this message by anyone other than the intended recipient(s) listed above is unauthorized. If you are not the intended recipient you are hereby notified that any disclosure, copying, or distribution of the message, or any action taken or omission of action by you in reliance upon it, is prohibited and may be unlawful. Please immediately notify the sender by reply e-mail and permanently delete all copies of the message if you have received this message in error.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: ASF rtp payload packetizer

Edward Hervey
Administrator
Could you stop hijacking threads ?

 If you want to start a new topic, just send a NEW mail to the
mailing-list instead of replying to an existing one. This might also
increase the chance of your mails NOT getting ignored.

  To answer your question, there's support for the WindowsMedia variant
of RTSP, provided by rtspwms. So if you use rtspsrc to connect to that
stream it will do the negotiation properly.

  We don't have a asf/rtp depayloader in trunk, but this bugitem should
help you:

  http://bugzilla.gnome.org/show_bug.cgi?id=335067


   Edward

On Sat, 2008-10-11 at 20:32 +0530, Irfan Shaikh wrote:

>
>
> Hi All,
>
>       Acoording to my knowledge streaming of ASF file on WMP player
> can be done only by sending ASF packets beneath rtp packets since WMP
> player supports rtsp protocol. Hence i wanted to create a payload
> packetizer for ASF data packets which i get after respective demuxer
> plug-in.
>
>       Please suggest me if my approach is correct. Is there any other
> simpler approach for ASF streaming on WMP player???
> Provide me any information regarding development of ASF rtp Palyload
> packetizer.
>
> Thanks in Advaance,
>
> Regards,
> Irfan
>
>
>
> This message (including any attachment) is confidential and may be
> legally privileged. Access to this message by anyone other than the
> intended recipient(s) listed above is unauthorized. If you are not the
> intended recipient you are hereby notified that any disclosure,
> copying, or distribution of the message, or any action taken or
> omission of action by you in reliance upon it, is prohibited and may
> be unlawful. Please immediately notify the sender by reply e-mail and
> permanently delete all copies of the message if you have received this
> message in error.
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mpeg transport stream "stuck"

Zaheer Merali
In reply to this post by Dan Taylor-2
2008/10/10 Dan Taylor <[hidden email]>:

> 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

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: ASF rtp payload packetizer

Zaheer Merali
In reply to this post by Edward Hervey
I think Irfan was looking for a payloader rather than a depayloader,
which we definitely do not have and he will have to create.

Zaheer

On Sun, Oct 12, 2008 at 11:59 AM, Edward Hervey <[hidden email]> wrote:

> Could you stop hijacking threads ?
>
>  If you want to start a new topic, just send a NEW mail to the
> mailing-list instead of replying to an existing one. This might also
> increase the chance of your mails NOT getting ignored.
>
>  To answer your question, there's support for the WindowsMedia variant
> of RTSP, provided by rtspwms. So if you use rtspsrc to connect to that
> stream it will do the negotiation properly.
>
>  We don't have a asf/rtp depayloader in trunk, but this bugitem should
> help you:
>
>  http://bugzilla.gnome.org/show_bug.cgi?id=335067
>
>
>   Edward
>
> On Sat, 2008-10-11 at 20:32 +0530, Irfan Shaikh wrote:
>>
>>
>> Hi All,
>>
>>       Acoording to my knowledge streaming of ASF file on WMP player
>> can be done only by sending ASF packets beneath rtp packets since WMP
>> player supports rtsp protocol. Hence i wanted to create a payload
>> packetizer for ASF data packets which i get after respective demuxer
>> plug-in.
>>
>>       Please suggest me if my approach is correct. Is there any other
>> simpler approach for ASF streaming on WMP player???
>> Provide me any information regarding development of ASF rtp Palyload
>> packetizer.
>>
>> Thanks in Advaance,
>>
>> Regards,
>> Irfan
>>
>>

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: ASF rtp payload packetizer

Irfan Shaikh-2
Hey zaheer can you please provide me some inputs ???

REgarding ASF streaming on client WMP player ???
REgarding RTP paqyload packetizer


-----Original Message-----
From: Zaheer Merali [mailto:[hidden email]]
Sent: Mon 10/13/2008 5:01 PM
To: Discussion of the development of GStreamer
Subject: Re: [gst-devel] ASF rtp payload packetizer

I think Irfan was looking for a payloader rather than a depayloader,
which we definitely do not have and he will have to create.

Zaheer

On Sun, Oct 12, 2008 at 11:59 AM, Edward Hervey <[hidden email]> wrote:

> Could you stop hijacking threads ?
>
>  If you want to start a new topic, just send a NEW mail to the
> mailing-list instead of replying to an existing one. This might also
> increase the chance of your mails NOT getting ignored.
>
>  To answer your question, there's support for the WindowsMedia variant
> of RTSP, provided by rtspwms. So if you use rtspsrc to connect to that
> stream it will do the negotiation properly.
>
>  We don't have a asf/rtp depayloader in trunk, but this bugitem should
> help you:
>
>  http://bugzilla.gnome.org/show_bug.cgi?id=335067
>
>
>   Edward
>
> On Sat, 2008-10-11 at 20:32 +0530, Irfan Shaikh wrote:
>>
>>
>> Hi All,
>>
>>       Acoording to my knowledge streaming of ASF file on WMP player
>> can be done only by sending ASF packets beneath rtp packets since WMP
>> player supports rtsp protocol. Hence i wanted to create a payload
>> packetizer for ASF data packets which i get after respective demuxer
>> plug-in.
>>
>>       Please suggest me if my approach is correct. Is there any other
>> simpler approach for ASF streaming on WMP player???
>> Provide me any information regarding development of ASF rtp Palyload
>> packetizer.
>>
>> Thanks in Advaance,
>>
>> Regards,
>> Irfan
>>
>>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


This message (including any attachment) is confidential and may be legally privileged.  Access to this message by anyone other than the intended recipient(s) listed above is unauthorized.  If you are not the intended recipient you are hereby notified that any disclosure, copying, or distribution of the message, or any action taken or omission of action by you in reliance upon it, is prohibited and may be unlawful.  Please immediately notify the sender by reply e-mail and permanently delete all copies of the message if you have received this message in error.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

winmail.dat (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: mpeg transport stream "stuck"

Dan Taylor-2
In reply to this post by Zaheer Merali

-----Original Message-----
From: Zaheer Merali [mailto:[hidden email]]
Sent: Monday, October 13, 2008 1:41 AM
To: Discussion of the development of GStreamer
Subject: Re: [gst-devel] mpeg transport stream "stuck"

2008/10/10 Dan Taylor <[hidden email]>:
>> 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.

------------------------------------------------------------------------
-
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mpeg transport stream "stuck"

Dan Taylor-2
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 <[hidden email]>:
>> 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.



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mpeg transport stream "stuck"

Zaheer Merali
On Tue, Oct 14, 2008 at 3:35 AM, Dan Taylor <[hidden email]> wrote:

> 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?

Hi Dan,

Could you provide me say a 50-100MB snippet of the transport stream you have.

In response to your previous section, the transport stream clock is
only used when it is a live pipeline which this is not.

Zaheer

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mpeg transport stream "stuck"

Dan Taylor-2


-----Original Message-----
From: Zaheer Merali [mailto:[hidden email]]
Sent: Tuesday, October 14, 2008 7:08 AM
To: Discussion of the development of GStreamer
Subject: Re: [gst-devel] mpeg transport stream "stuck"

On Tue, Oct 14, 2008 at 3:35 AM, Dan Taylor <[hidden email]>
wrote:
>> 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?

> Hi Dan,
>
> Could you provide me say a 50-100MB snippet of the transport stream
you have.

> In response to your previous section, the transport stream clock is
> only used when it is a live pipeline which this is not.

> Zaheer

File sent.  Hope it has some info you need.

Thanks.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mpeg transport stream "stuck"

Dan Taylor-2
More new data:

Tuning live ATSC, I see that the elemental streams within a
multi-program
transport stream have, or do not have, PES start flags "randomly".  I
left a
program playing overnight, and when I stopped/restarted it, there was
nothing.  Checking the stream, I found that the PES start flags were no
longer present in its streams.  Several times today, I have had PES
start
flags come and go from various elemental streams within the same
transport
stream.

Also, it appears that if there ever was a PES start flag in a program's
elemental streams, that the program will continue indefinitely, whether
the PES start flags continue to be supplied, or no.


-----Original Message-----
From: Zaheer Merali [mailto:[hidden email]]
Sent: Tuesday, October 14, 2008 7:08 AM
To: Discussion of the development of GStreamer
Subject: Re: [gst-devel] mpeg transport stream "stuck"

On Tue, Oct 14, 2008 at 3:35 AM, Dan Taylor <[hidden email]>
wrote:
>> 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?

> Hi Dan,
>
> Could you provide me say a 50-100MB snippet of the transport stream
you have.

> In response to your previous section, the transport stream clock is
> only used when it is a live pipeline which this is not.

> Zaheer

File sent.  Hope it has some info you need.

Thanks.



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel