Streaming + CPU
Posted: 18 Jul 2008 21:57
Hello everyone,
My next question. . .
I have 12 Streams which I can successfully stream, with little problem .. They take 240meg/sec of BW .. but it work s.. and CPU usage is rather low ..
So .. My Problem ..
I need to take those 12 feeds , put them into a mosaic , and re-encode them at a lower rate, and stream them out ..
So .. my problem: .. CPU
The way I have it setup .. and i'll post an example, the system (3.1Ghz .) can only handle encoding two HD streams ... I would need a rather large machine to handle 12 ...
I'm thinking I might be doing it wrong ... Isn't here a way to Transcode just the mosaic, instead of transcoding each stream into the mosaic ..
Here is an example of my setup using 7 streams ...( I can only run two - 3 of theses at a time to having it actually work and the CPU not hit 200%)
new bg broadcast enabled
setup bg input "udp://@225.100.xxx.1:9051"
setup bg output #transcode{vcodec=mp2v,vb=8180,scale=1,acodec=mp3,ab=64,channels=2,sfilter=mosaic}:bridge-in{offset=100}:std{access=udp,mux=ts,dst=10.10.141.159:1234}
setup bg option mosaic-alpha=255
setup bg option mosaic-height=768
setup bg option mosaic-width=1080
setup bg option mosaic-align=5
setup bg option mosaic-xoffset=1
setup bg option mosaic-yoffset=1
setup bg option mosaic-vborder=5
setup bg option mosaic-hborder=10
setup bg option mosaic-rows=3
setup bg option mosaic-position=1
setup bg option mosaic-cols=4
setup bg option mosaic-order=Stream1,Stream2,Stream3,Stream4,Stream5,Stream6,Stream7
setup bg option mosaic-keep-picture
setup bg option mosaic-delay=0
setup bg option programs=1
setup bg option programs=3
new Stream1 broadcast enabled
setup Stream1 input "udp://@225.100.xxx.1:9053"
setup Stream1 output #duplicate{dst=mosaic-bridge{id=Stream1,width=226,height=142},select=video,dst=bridge-out{id=0},select=audio}
setup Stream1 option programs=3
new Stream2 broadcast enabled
setup Stream2 input "udp://@225.100.xxx.5:3003"
setup Stream2 output #duplicate{dst=mosaic-bridge{id=Stream2,width=226,height=142},select=video,dst=bridge-out{id=1},select=audio}
setup Stream2 option programs=1
new Stream3 broadcast enabled
setup Stream3 input "udp://@225.100.xxx.2:3002"
setup Stream3 output #duplicate{dst=mosaic-bridge{id=Stream3,width=226,height=142},select=video,dst=bridge-out{id=2},select=audio}
setup Stream3 option programs=1
new Stream4 broadcast enabled
setup Stream4 input "udp://@225.100.xxx.1:9054"
setup Stream4 output #duplicate{dst=mosaic-bridge{id=Stream4,width=226,height=142},select=video,dst=bridge-out{id=3},select=audio}
setup Stream4 option programs=5
new Stream5 broadcast enabled
setup Stream5 input "udp://@225.100.xxx.5:3003"
setup Stream5 output #duplicate{dst=mosaic-bridge{id=Stream5,width=226,height=142},select=video,dst=bridge-out{id=4},select=audio}
setup Stream5 option programs=2
new Stream6 broadcast enabled
setup Stream6 input "udp://@225.100.xxx.2:3002"
setup Stream6 output #duplicate{dst=mosaic-bridge{id=Stream6,width=226,height=142},select=video,dst=bridge-out{id=5},select=audio}
setup Stream6 option programs=2
new Stream7 broadcast enabled
setup Stream7 input "udp://@225.100.xxx.1:9051"
setup Stream7 output #duplicate{dst=mosaic-bridge{id=Stream7,width=226,height=142},select=video,dst=bridge-out{id=6},select=audio}
setup Stream7 option programs=3
##
## end of export
##
My next question. . .
I have 12 Streams which I can successfully stream, with little problem .. They take 240meg/sec of BW .. but it work s.. and CPU usage is rather low ..
So .. My Problem ..
I need to take those 12 feeds , put them into a mosaic , and re-encode them at a lower rate, and stream them out ..
So .. my problem: .. CPU
The way I have it setup .. and i'll post an example, the system (3.1Ghz .) can only handle encoding two HD streams ... I would need a rather large machine to handle 12 ...
I'm thinking I might be doing it wrong ... Isn't here a way to Transcode just the mosaic, instead of transcoding each stream into the mosaic ..
Here is an example of my setup using 7 streams ...( I can only run two - 3 of theses at a time to having it actually work and the CPU not hit 200%)
new bg broadcast enabled
setup bg input "udp://@225.100.xxx.1:9051"
setup bg output #transcode{vcodec=mp2v,vb=8180,scale=1,acodec=mp3,ab=64,channels=2,sfilter=mosaic}:bridge-in{offset=100}:std{access=udp,mux=ts,dst=10.10.141.159:1234}
setup bg option mosaic-alpha=255
setup bg option mosaic-height=768
setup bg option mosaic-width=1080
setup bg option mosaic-align=5
setup bg option mosaic-xoffset=1
setup bg option mosaic-yoffset=1
setup bg option mosaic-vborder=5
setup bg option mosaic-hborder=10
setup bg option mosaic-rows=3
setup bg option mosaic-position=1
setup bg option mosaic-cols=4
setup bg option mosaic-order=Stream1,Stream2,Stream3,Stream4,Stream5,Stream6,Stream7
setup bg option mosaic-keep-picture
setup bg option mosaic-delay=0
setup bg option programs=1
setup bg option programs=3
new Stream1 broadcast enabled
setup Stream1 input "udp://@225.100.xxx.1:9053"
setup Stream1 output #duplicate{dst=mosaic-bridge{id=Stream1,width=226,height=142},select=video,dst=bridge-out{id=0},select=audio}
setup Stream1 option programs=3
new Stream2 broadcast enabled
setup Stream2 input "udp://@225.100.xxx.5:3003"
setup Stream2 output #duplicate{dst=mosaic-bridge{id=Stream2,width=226,height=142},select=video,dst=bridge-out{id=1},select=audio}
setup Stream2 option programs=1
new Stream3 broadcast enabled
setup Stream3 input "udp://@225.100.xxx.2:3002"
setup Stream3 output #duplicate{dst=mosaic-bridge{id=Stream3,width=226,height=142},select=video,dst=bridge-out{id=2},select=audio}
setup Stream3 option programs=1
new Stream4 broadcast enabled
setup Stream4 input "udp://@225.100.xxx.1:9054"
setup Stream4 output #duplicate{dst=mosaic-bridge{id=Stream4,width=226,height=142},select=video,dst=bridge-out{id=3},select=audio}
setup Stream4 option programs=5
new Stream5 broadcast enabled
setup Stream5 input "udp://@225.100.xxx.5:3003"
setup Stream5 output #duplicate{dst=mosaic-bridge{id=Stream5,width=226,height=142},select=video,dst=bridge-out{id=4},select=audio}
setup Stream5 option programs=2
new Stream6 broadcast enabled
setup Stream6 input "udp://@225.100.xxx.2:3002"
setup Stream6 output #duplicate{dst=mosaic-bridge{id=Stream6,width=226,height=142},select=video,dst=bridge-out{id=5},select=audio}
setup Stream6 option programs=2
new Stream7 broadcast enabled
setup Stream7 input "udp://@225.100.xxx.1:9051"
setup Stream7 output #duplicate{dst=mosaic-bridge{id=Stream7,width=226,height=142},select=video,dst=bridge-out{id=6},select=audio}
setup Stream7 option programs=3
##
## end of export
##