recording 39 cameras with separate processes

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

recording 39 cameras with separate processes

killerrats
       -> queue1 -> rtph264depay -> h264parse -> vtee -> (FakesinkBin /
RecBin)
rtspsrc                                                                                                                                    
       -> queue2 -> rtpjitterbuffer -> rtpmp4gdepay -> aacparse -> atee ->
(FakesinkBin / RecBin)

_______
FakesinkBin
_______
queue5 -> fakesink
queue6 -> fakesink

_______
RecBin
_______
queue3->
             avimux -> appsink
queue4 ->


I have the following pipeline to rec 39 cameras at once on a computer. I ran
the software and seems to be using 100% of the cpu usage in the pipeline
would there be a better way to make the cpu usage better?




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

Re: recording 39 cameras with separate processes

Nicolas Dufresne-5


Le 7 oct. 2017 6:22 PM, "killerrats" <[hidden email]> a écrit :
       -> queue1 -> rtph264depay -> h264parse -> vtee -> (FakesinkBin /
RecBin)
rtspsrc
       -> queue2 -> rtpjitterbuffer -> rtpmp4gdepay -> aacparse -> atee ->
(FakesinkBin / RecBin)

_______
FakesinkBin
_______
queue5 -> fakesink
queue6 -> fakesink

_______
RecBin
_______
queue3->
             avimux -> appsink
queue4 ->


I have the following pipeline to rec 39 cameras at once on a computer. I ran
the software and seems to be using 100% of the cpu usage in the pipeline
would there be a better way to make the cpu usage better?

It would be the same for any software:

- find the bottlenecks (e.g. with perf)
- learn the design
- change the code to make it more efficient





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
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
|

Re: recording 39 cameras with separate processes

Mandar Joshi
In reply to this post by killerrats
>
> I have the following pipeline to rec 39 cameras at once on a computer. I ran
> the software and seems to be using 100% of the cpu usage in the pipeline
> would there be a better way to make the cpu usage better?
>
Just to give you an idea of what I have working.
I have tested 24 720p H264 streams on an Intel i7 4770 and it uses up
25% of one logical cpu.

Roughly, my pipeline is
rtspsrc -> rtph264depay -> h264parse -> matroskamux/mp4mux ->
filesink/splitmuxsink

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

Re: recording 39 cameras with separate processes

killerrats
In reply to this post by Nicolas Dufresne-5
would it make a difference if I loaded only the plugins needed?



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

Re: recording 39 cameras with separate processes

killerrats
In reply to this post by Mandar Joshi
figured out that when i used a thread for popping the bus messages it caused
the cpu to jump up. if I used the gst_bus_add_signal_watch instead it made
the cpu usage a lot less. I was trying to figure out what the difference
would be between them.

in the thread use i would use a do while with no sleep. how does the
g_signal_connect (bus, "message", G_CALLBACK (bus_cb), POINTER); without
using so much cpu usage?



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

Re: recording 39 cameras with separate processes

Nicolas Dufresne-5

> Le 8 oct. 2017 à 21:10, killerrats <[hidden email]> a écrit :
>
> figured out that when i used a thread for popping the bus messages it caused
> the cpu to jump up. if I used the gst_bus_add_signal_watch instead it made
> the cpu usage a lot less. I was trying to figure out what the difference
> would be between them.
>
> in the thread use i would use a do while with no sleep. how does the
> g_signal_connect (bus, "message", G_CALLBACK (bus_cb), POINTER); without
> using so much cpu usage?
>

One can use gst_bus_timed_pop() to block until the next message arrived. The signal will use the poll the GSource obtained from gst_buf_create_watch().

>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> 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