How to use splitmuxsink with multiple pipelines?

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

How to use splitmuxsink with multiple pipelines?

pisymbol .
Here is what I was using:

matroskamux name=muxer streamable=true ! multifilesink name=mfsink post-messages=true next-file=5 max-file-duration=\"{}\" location=\"{}\"
.. ! h264parse ! queue ! muxer.video_0
.. ! h264parse ! queue ! muxer.video_1

Which works fine. But If I translate this to splitmuxsink, gst-launch complains that it can't connect queue to muxer:

splitmuxsink name=muxer send-keyframe-requests=10000000000 muxer=matroskamux muxer-properties="properties,streamable=true" max-size-time=\"{}\" location=\"{}\"
.. ! h264parse ! queue ! muxer.video_0
.. ! h264parse ! queue ! muxer.video_1

I've Googled extensively but I can't find an example of using splitmuxsink with two different pipelines (this thread came the closest: http://gstreamer-devel.966125.n4.nabble.com/record-H264-stream-use-multifilesink-td4684985.html)

-aps

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

Re: How to use splitmuxsink with multiple pipelines?

pisymbol .


On Fri, Aug 2, 2019 at 2:40 PM pisymbol . <[hidden email]> wrote:
Here is what I was using:

matroskamux name=muxer streamable=true ! multifilesink name=mfsink post-messages=true next-file=5 max-file-duration=\"{}\" location=\"{}\"
.. ! h264parse ! queue ! muxer.video_0
.. ! h264parse ! queue ! muxer.video_1

Which works fine. But If I translate this to splitmuxsink, gst-launch complains that it can't connect queue to muxer:

splitmuxsink name=muxer send-keyframe-requests=10000000000 muxer=matroskamux muxer-properties="properties,streamable=true" max-size-time=\"{}\" location=\"{}\"
.. ! h264parse ! queue ! muxer.video_0
.. ! h264parse ! queue ! muxer.video_1

I've Googled extensively but I can't find an example of using splitmuxsink with two different pipelines (this thread came the closest: http://gstreamer-devel.966125.n4.nabble.com/record-H264-stream-use-multifilesink-td4684985.html)


After looking at some debug output and then gst-inspect-1.0:

Pad Templates:
  SINK template: 'video'
    Availability: On request
      Has request_new_pad() function: gst_splitmux_sink_request_new_pad
    Capabilities:
      ANY

  SINK template: 'audio_%u'
    Availability: On request
      Has request_new_pad() function: gst_splitmux_sink_request_new_pad
    Capabilities:
      ANY

Only one video stream, huh? Bummer

-aps

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

Re: How to use splitmuxsink with multiple pipelines?

Tim Müller
On Fri, 2019-08-02 at 15:27 -0400, pisymbol . wrote:

Hi,

> > But If I translate this to splitmuxsink, gst-launch complains that
> > it can't connect queue to muxer:
> >
> > splitmuxsink name=muxer send-keyframe-requests=10000000000
> > muxer=matroskamux muxer-properties="properties,streamable=true"
> > max-size-time=\"{}\" location=\"{}\"
> > .. ! h264parse ! queue ! muxer.video_0
> > .. ! h264parse ! queue ! muxer.video_1
> >
> > (snip)
>
> After looking at some debug output and then gst-inspect-1.0:
>
> Pad Templates:
>   SINK template: 'video'
>     Availability: On request
>
> Only one video stream, huh? Bummer

splitmuxsink in git master supports multiple video streams. The pad for
the main stream (which will be used to determine where things get
split) is called "video" and the ones for the other video streams is
called "video_aux_0" etc. then.

Cheers
 Tim

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

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

Re: How to use splitmuxsink with multiple pipelines?

Nicolas Dufresne-5
In reply to this post by pisymbol .
Le vendredi 02 août 2019 à 14:40 -0400, pisymbol . a écrit :

> Here is what I was using:
>
> matroskamux name=muxer streamable=true ! multifilesink name=mfsink post-messages=true next-file=5 max-file-duration=\"{}\" location=\"{}\"
> .. ! h264parse ! queue ! muxer.video_0
> .. ! h264parse ! queue ! muxer.video_1
>
> Which works fine. But If I translate this to splitmuxsink, gst-launch complains that it can't connect queue to muxer:
>
> splitmuxsink name=muxer send-keyframe-requests=10000000000 muxer=matroskamux muxer-properties="properties,streamable=true" max-size-time=\"{}\" location=\"{}\"
> .. ! h264parse ! queue ! muxer.video_0
> .. ! h264parse ! queue ! muxer.video_1
>
> I've Googled extensively but I can't find an example of using splitmuxsink with two different pipelines (this thread came the closest: http://gstreamer-devel.966125.n4.nabble.com/record-H264-stream-use-multifilesink-td4684985.html)

Am I dreaming ?

splitmuxsink template:
    SINK template: 'video'
    Availability: On request
    Capabilities:
      ANY

Only 1 video stream allowed !?!

sorry about that,
Nicolas

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

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

signature.asc (201 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: How to use splitmuxsink with multiple pipelines?

pisymbol .


On Fri, Aug 2, 2019 at 3:56 PM Nicolas Dufresne <[hidden email]> wrote:
Le vendredi 02 août 2019 à 14:40 -0400, pisymbol . a écrit :
> Here is what I was using:
>
> matroskamux name=muxer streamable=true ! multifilesink name=mfsink post-messages=true next-file=5 max-file-duration=\"{}\" location=\"{}\"
> .. ! h264parse ! queue ! muxer.video_0
> .. ! h264parse ! queue ! muxer.video_1
>
> Which works fine. But If I translate this to splitmuxsink, gst-launch complains that it can't connect queue to muxer:
>
> splitmuxsink name=muxer send-keyframe-requests=10000000000 muxer=matroskamux muxer-properties="properties,streamable=true" max-size-time=\"{}\" location=\"{}\"
> .. ! h264parse ! queue ! muxer.video_0
> .. ! h264parse ! queue ! muxer.video_1
>
> I've Googled extensively but I can't find an example of using splitmuxsink with two different pipelines (this thread came the closest: http://gstreamer-devel.966125.n4.nabble.com/record-H264-stream-use-multifilesink-td4684985.html)


Am I dreaming ?

splitmuxsink template:
    SINK template: 'video'
    Availability: On request
    Capabilities:
      ANY

Only 1 video stream allowed !?!

I think Tim's answer solves the mystery! Unfortunately, that is a non-starter given the platform (Jetson).

-aps

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

Re: How to use splitmuxsink with multiple pipelines?

pisymbol .
In reply to this post by Tim Müller


On Fri, Aug 2, 2019 at 3:48 PM Tim Müller <[hidden email]> wrote:
On Fri, 2019-08-02 at 15:27 -0400, pisymbol . wrote:

Hi,

> > But If I translate this to splitmuxsink, gst-launch complains that
> > it can't connect queue to muxer:
> >
> > splitmuxsink name=muxer send-keyframe-requests=10000000000
> > muxer=matroskamux muxer-properties="properties,streamable=true"
> > max-size-time=\"{}\" location=\"{}\"
> > .. ! h264parse ! queue ! muxer.video_0
> > .. ! h264parse ! queue ! muxer.video_1
> >
> > (snip)
>
> After looking at some debug output and then gst-inspect-1.0:
>
> Pad Templates:
>   SINK template: 'video'
>     Availability: On request
>
> Only one video stream, huh? Bummer

splitmuxsink in git master supports multiple video streams. The pad for
the main stream (which will be used to determine where things get
split) is called "video" and the ones for the other video streams is
called "video_aux_0" etc. then.

Thanks Tim! Much appreciated. Give me a little credit for researching it (I didn't dive into the code on master though).

-aps

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