How to "broadcast" live video source within same process

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

How to "broadcast" live video source within same process

filnet
Hi,

To overcome the limitation that you can have only one ksvideosrc (or v4l2src) connected to a given usb camera, I am trying to come up with a solution where one producer pipeline that conencts to the usb camera and "broadcasts" the video to one or more consumer pipelines.

I can't use a single pipeline with a tee because the number and nature of consuming pipelines is not known.
I also want to avoid building a complex and dynamic pipeline.

What I have come up at this point is :

Producer:

gst-launch-1.0.exe -vm videotestsrc is-live=true ! rtpgstpay config-interval=1 ! udpsink port=50002

Consumer:

gst-launch-1.0.exe -vm udpsrc port=50002 ! rtpgstdepay ! autovideosink


But it does not work. Seems like the producer does not send any packets.

Two questions:
1/ how to make the producer/consumer work if possible at all
2/ are there alternative ways to achieve the stated goal

Cheers,
Philippe.

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

Re: How to "broadcast" live video source within same process

Olivier Crête-3
Hi,

You're looking for intervideosink/intervideosrc.

Olivier

On Mon, 2017-07-10 at 17:57 +0000, philippe renon wrote:
Hi,

To overcome the limitation that you can have only one ksvideosrc (or v4l2src) connected to a given usb camera, I am trying to come up with a solution where one producer pipeline that conencts to the usb camera and "broadcasts" the video to one or more consumer pipelines.

I can't use a single pipeline with a tee because the number and nature of consuming pipelines is not known.
I also want to avoid building a complex and dynamic pipeline.

What I have come up at this point is :

Producer:

gst-launch-1.0.exe -vm videotestsrc is-live=true ! rtpgstpay config-interval=1 ! udpsink port=50002

Consumer:

gst-launch-1.0.exe -vm udpsrc port=50002 ! rtpgstdepay ! autovideosink


But it does not work. Seems like the producer does not send any packets.

Two questions:
1/ how to make the producer/consumer work if possible at all
2/ are there alternative ways to achieve the stated goal

Cheers,
Philippe.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-- 
Olivier Crête [hidden email]

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

Re: How to "broadcast" live video source within same process

filnet
Thanks Olivier. The inter plugin works pretty well fior our use case.

I am seeing some crashes depending on the order in which the various pipelines are started but it is most probably due to my app. Investigating now...


Le Lundi 10 juillet 2017 22h58, Olivier Crête <[hidden email]> a écrit :


Hi,

You're looking for intervideosink/intervideosrc.

Olivier

On Mon, 2017-07-10 at 17:57 +0000, philippe renon wrote:
Hi,

To overcome the limitation that you can have only one ksvideosrc (or v4l2src) connected to a given usb camera, I am trying to come up with a solution where one producer pipeline that conencts to the usb camera and "broadcasts" the video to one or more consumer pipelines.

I can't use a single pipeline with a tee because the number and nature of consuming pipelines is not known.
I also want to avoid building a complex and dynamic pipeline.

What I have come up at this point is :

Producer:

gst-launch-1.0.exe -vm videotestsrc is-live=true ! rtpgstpay config-interval=1 ! udpsink port=50002

Consumer:

gst-launch-1.0.exe -vm udpsrc port=50002 ! rtpgstdepay ! autovideosink


But it does not work. Seems like the producer does not send any packets.

Two questions:
1/ how to make the producer/consumer work if possible at all
2/ are there alternative ways to achieve the stated goal

Cheers,
Philippe.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-- 
Olivier Crête [hidden email]
_______________________________________________
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
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How to "broadcast" live video source within same process

filnet
Crash cause was on our side. inter plugin works great.


Le Mercredi 12 juillet 2017 11h42, philippe renon <[hidden email]> a écrit :


Thanks Olivier. The inter plugin works pretty well fior our use case.

I am seeing some crashes depending on the order in which the various pipelines are started but it is most probably due to my app. Investigating now...


Le Lundi 10 juillet 2017 22h58, Olivier Crête <[hidden email]> a écrit :


Hi,

You're looking for intervideosink/intervideosrc.

Olivier

On Mon, 2017-07-10 at 17:57 +0000, philippe renon wrote:
Hi,

To overcome the limitation that you can have only one ksvideosrc (or v4l2src) connected to a given usb camera, I am trying to come up with a solution where one producer pipeline that conencts to the usb camera and "broadcasts" the video to one or more consumer pipelines.

I can't use a single pipeline with a tee because the number and nature of consuming pipelines is not known.
I also want to avoid building a complex and dynamic pipeline.

What I have come up at this point is :

Producer:

gst-launch-1.0.exe -vm videotestsrc is-live=true ! rtpgstpay config-interval=1 ! udpsink port=50002

Consumer:

gst-launch-1.0.exe -vm udpsrc port=50002 ! rtpgstdepay ! autovideosink


But it does not work. Seems like the producer does not send any packets.

Two questions:
1/ how to make the producer/consumer work if possible at all
2/ are there alternative ways to achieve the stated goal

Cheers,
Philippe.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-- 
Olivier Crête [hidden email]
_______________________________________________
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
Loading...