reading, parsing and outputting a TS file synchronously ?

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

reading, parsing and outputting a TS file synchronously ?

Peter Maersk-Moller-2
Hi.

I was expecting that I could read, parse and output a TS file synchronously using a pipeline like this:

  gst-launch-1.0  filesrc location=../Downloads/OC3.demo.ts  ! queue  ! tsparse ! fakesink sync=1

but what I see is that the pipeline reads the file, parse it and send it to the fakesink as fast as the hardware supports. That is, it does not decode the timestamps in the PES header and send it out synchrosnously although the sync flag has been set.

Obviously fakesink is to be replaced by something else like a filesink to a pipe or a udpsink or .....

What is the correct way for GStreamer to playout a TS file synchronously without having to decode and re-encode it? The module decodebin can obviously decode it synchronously.

The ts testfile is available from Opencaster a


Best regards
Peter MM

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: reading, parsing and outputting a TS file synchronously ?

Thiago Santos-3
On 06/02/2015 09:26 PM, Peter Maersk-Moller wrote:
Hi.

I was expecting that I could read, parse and output a TS file synchronously using a pipeline like this:

  gst-launch-1.0  filesrc location=../Downloads/OC3.demo.ts  ! queue  ! tsparse ! fakesink sync=1

but what I see is that the pipeline reads the file, parse it and send it to the fakesink as fast as the hardware supports. That is, it does not decode the timestamps in the PES header and send it out synchrosnously although the sync flag has been set.

Obviously fakesink is to be replaced by something else like a filesink to a pipe or a udpsink or .....

What is the correct way for GStreamer to playout a TS file synchronously without having to decode and re-encode it? The module decodebin can obviously decode it synchronously.

The problem is that tsparse doesn't timestamp the buffers so sink elements won't be able to sync. A fix for tsparse is needed to have this working.


The ts testfile is available from Opencaster a


Best regards
Peter MM


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


-- 
Thiago Sousa Santos
Senior Multimedia Engineer, Open Source Group
Samsung Research America - Silicon Valley

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: reading, parsing and outputting a TS file synchronously ?

Edward Hervey-4
Hi,

  git master tsparse can timestamp the output since this commit:
  a49ce685d1b00fe7eb1fd3982847b58b0f8245a8

  Just tested with tsparse set-timestamps=True, and the output is
properly timestamped

     Edward

On Tue, 2015-06-02 at 23:24 -0300, Thiago Santos wrote:

> On 06/02/2015 09:26 PM, Peter Maersk-Moller wrote:
> > Hi.
> >
> > I was expecting that I could read, parse and output a TS file
> > synchronously using a pipeline like this:
> >
> >   gst-launch-1.0  filesrc location=../Downloads/OC3.demo.ts  !
> > queue  ! tsparse ! fakesink sync=1
> >
> > but what I see is that the pipeline reads the file, parse it and
> > send it to the fakesink as fast as the hardware supports. That is,
> > it does not decode the timestamps in the PES header and send it out
> > synchrosnously although the sync flag has been set.
> >
> > Obviously fakesink is to be replaced by something else like a
> > filesink to a pipe or a udpsink or .....
> >
> > What is the correct way for GStreamer to playout a TS file
> > synchronously without having to decode and re-encode it? The module
> > decodebin can obviously decode it synchronously.
> The problem is that tsparse doesn't timestamp the buffers so sink
> elements won't be able to sync. A fix for tsparse is needed to have
> this working.
>
> >
> > The ts testfile is available from Opencaster a
> >
> > http://www.avalpa.com/assets/video/OC3.demo.ts
> >
> > Best regards
> > Peter MM
> >
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
> --
> Thiago Sousa Santos
> Senior Multimedia Engineer, Open Source Group
> Samsung Research America - Silicon Valley
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
--
Edward Hervey
[hidden email]

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: reading, parsing and outputting a TS file synchronously ?

Peter Maersk-Moller-2
Hi Edward and Thiago.

Thanks a million for the info. Looking forward to a new release and forward to that release trickles down to distros in a couple of years. Until then, Gitmaster it is.

P

On Wed, Jun 3, 2015 at 11:13 AM, Edward Hervey <[hidden email]> wrote:
Hi,

  git master tsparse can timestamp the output since this commit:
  a49ce685d1b00fe7eb1fd3982847b58b0f8245a8

  Just tested with tsparse set-timestamps=True, and the output is
properly timestamped

     Edward

On Tue, 2015-06-02 at 23:24 -0300, Thiago Santos wrote:
> On 06/02/2015 09:26 PM, Peter Maersk-Moller wrote:
> > Hi.
> >
> > I was expecting that I could read, parse and output a TS file
> > synchronously using a pipeline like this:
> >
> >   gst-launch-1.0  filesrc location=../Downloads/OC3.demo.ts  !
> > queue  ! tsparse ! fakesink sync=1
> >
> > but what I see is that the pipeline reads the file, parse it and
> > send it to the fakesink as fast as the hardware supports. That is,
> > it does not decode the timestamps in the PES header and send it out
> > synchrosnously although the sync flag has been set.
> >
> > Obviously fakesink is to be replaced by something else like a
> > filesink to a pipe or a udpsink or .....
> >
> > What is the correct way for GStreamer to playout a TS file
> > synchronously without having to decode and re-encode it? The module
> > decodebin can obviously decode it synchronously.
> The problem is that tsparse doesn't timestamp the buffers so sink
> elements won't be able to sync. A fix for tsparse is needed to have
> this working.
>
> >
> > The ts testfile is available from Opencaster a
> >
> > http://www.avalpa.com/assets/video/OC3.demo.ts
> >
> > Best regards
> > Peter MM
> >
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
> --
> Thiago Sousa Santos
> Senior Multimedia Engineer, Open Source Group
> Samsung Research America - Silicon Valley
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
--
Edward Hervey
[hidden email]

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: reading, parsing and outputting a TS file synchronously ?

HtGst
In reply to this post by Edward Hervey-4
Hi
Any ideas how would set-timestamps work for TS files with multiple video pids?
Cheers,