10robinho
Posts: 44
Joined: Thu Feb 28, 2013 7:42 pm

Re: Cluster for HW accelerated stream transcoding

Sat Mar 02, 2013 3:36 am

Respect. Great project!

gfy
Posts: 1
Joined: Sun Mar 17, 2013 6:53 pm

Re: Cluster for HW accelerated stream transcoding

Sun Mar 17, 2013 7:11 pm

Any news?
Is there a (almost) finished product?

Santa77
Posts: 32
Joined: Wed Oct 31, 2012 2:08 pm
Location: Slovakia

Re: Cluster for HW accelerated stream transcoding

Mon Mar 18, 2013 10:59 am

gfy: more info in PM.

jeromef
Posts: 3
Joined: Wed Apr 03, 2013 2:17 pm

Re: Cluster for HW accelerated stream transcoding

Wed Apr 03, 2013 2:29 pm

Hey Santa77
Any solution to have more information about the OpenMax coding part (using the hardware encoder) ?
J./

Vod
Posts: 1
Joined: Thu May 16, 2013 3:53 pm

Re: Cluster for HW accelerated stream transcoding

Thu May 16, 2013 4:07 pm

Santa77, Where Can I find any info of this product?

keylase
Posts: 1
Joined: Mon Jul 01, 2013 3:11 am

Re: Cluster for HW accelerated stream transcoding

Mon Jul 01, 2013 3:32 am

Very, very interesting! Is there any info (may be price) about finished/unfinished product?

hard233
Posts: 7
Joined: Mon Aug 05, 2013 7:01 pm

Re: Cluster for HW accelerated stream transcoding

Mon Aug 05, 2013 7:08 pm

Hello Santa,

I'm interested in your project. We are thinking in prepare a similar cluster, but maybe we can speak about buy your product if you are available for sale.

Please, contact me by PM if you think is possible to sale your creation, or maybe we can pay you for install the files into our Raspbery Pi cluster.

Congratulations, it's a great job!

Hard

dave1029
Posts: 5
Joined: Fri Dec 20, 2013 3:49 pm

Re: Cluster for HW accelerated stream transcoding

Fri Dec 20, 2013 3:55 pm

This is a strange question, but maybe someone could point me in the right direction:
1) I am using RPI's with rPlay to allow iPads to mirror their screen, in school rooms
2) One iPad at a time can show their screen up on the overhead projector
3) If I had a rack/cluster of rPi's, I could have one iPad per RPI and have a screen for each iPad
4) Unfortunately that would require one overhead projector per rPi/iPad - NOT!
5) Is there a way to take the mirrored screen from each rPI, send it to a "master" rPI, and then have the master rPi arrange each of the iPad screens in "tiles" on a single screen?
6) This would be like a video wall, except in reverse: One video screen, multiple feeds. Kind of like what you would see if you had 9 security cameras showing up on a single screen.

User avatar
DougieLawson
Posts: 36329
Joined: Sun Jun 16, 2013 11:19 pm
Location: Basingstoke, UK
Contact: Website Twitter

Re: Cluster for HW accelerated stream transcoding

Fri Dec 20, 2013 8:26 pm

Why not get a projector with HDMI and connect it directly to your RPis.

You can probably get a HDMI switch to allow more than one RPi to be wired but only one to display.
http://www.maplin.co.uk/p/trulink-4-way ... itch-n01nb

In software you can run VNC server on every RPi and a VNC client on another (connected to the projector).






We don't need no stinking iPads.
Note: Having anything humorous in your signature is completely banned on this forum. Wear a tin-foil hat and you'll get a ban.

Any DMs sent on Twitter will be answered next month.

This is a doctor free zone.

ghans
Posts: 7876
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: Cluster for HW accelerated stream transcoding

Sat Dec 21, 2013 11:15 am

@dave1029
Why don't you talk to VMLite ? VNC does not readily work
with things which use the Pis HW acceleration. And i'm
pretty sure rPlay uses that.


I guess you should start a new thread for this problem !

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

dave1029
Posts: 5
Joined: Fri Dec 20, 2013 3:49 pm

Re: Cluster for HW accelerated stream transcoding

Tue Dec 24, 2013 1:02 pm

ghans: Thanks... vmlite is very helpful. Great company and I am talking to them. I'll start a new thread.

DougieLawson: Thanks also... I thought of trying a VNC server on the RPI and a VNC client (like most classroom mgmt software does), but haven't yet. I just assumed the rPi would choke.

ha.sc
Posts: 1
Joined: Wed Apr 16, 2014 8:34 am

Re: Cluster for HW accelerated stream transcoding

Wed Apr 16, 2014 8:43 am

Santa77 wrote:gfy: more info in PM.
Please contact me for commercial product infos.

Thanks in advance

Harald

Santa77
Posts: 32
Joined: Wed Oct 31, 2012 2:08 pm
Location: Slovakia

Re: Cluster for HW accelerated stream transcoding

Thu Jun 12, 2014 7:42 pm

Sorry for more than an year of silence....

Current status:
1) 3 MPEG-TS SP with MPEG2 video PID from multicast feeds one node based on Raspberry PI 512MB model B. There are 3 MPEG-TS SP with H264 video PID multicasted out. Of course there are licences for hw accelerated mpeg2!

2) Video PID is transcoded to H264, Audio and other PIDs are passing out as it gets...

3) due problems with GPU we are not deinterlacing video. (if we initialize more than one component to deinterlace, there are some strange problems with buffers) low priority 4 now.

4) at output mpegts streams are correctly resent SPS/PPS NALs at every key frame as should it be

5) constat UDP packet size is there as should be (length 1316)

6) RAM split is 384M/128MB

Code: Select all

[email protected]:~# vcgencmd get_mem arm && vcgencmd get_mem gpu
arm=384M
gpu=128M
7) stats from GPU allocations....

Code: Select all

[email protected]:~# cvcdbg reloc

Relocatable heap version 4 found at 0x18000000
total space allocated is 108M, with 95M relocatable, 14M legacy and 0 offline
6 legacy blocks of size 2359296

free list at 0x19eeb860
59M free memory in 2 free block(s)
largest free block is 59M bytes

[   1] 0x18000000: used 4.0K (refcount 1 lock count 0, size        0, align 4096, data 0x18001000, d1rual) 'camera fast alloc arena'
[   2] 0x18001000: used  16K (refcount 1 lock count 0, size    16384, align   32, data 0x18001020, d0ruAl) 'audioplus_tmp_buf'
[   3] 0x18005020: used 537K (refcount 1 lock count 8, size   545792, align 4096, data 0x18006000, d3rual) 'ARM FB'
[   4] 0x1808b420: used  544 (refcount 1 lock count 0, size      512, align    4, data 0x1808b440, d0rual) 'ILCS VC buffer pool'
[  39] 0x1808b640: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1808b660, d1ruAl) 'ilin mapping buffer'
[  38] 0x1809f660: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1809f680, d1ruAl) 'ilin mapping buffer'
[  37] 0x180b3680: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x180b36a0, d1ruAl) 'ilin mapping buffer'
[  43] 0x180c76a0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x180c76c0, d1ruAl) 'ilin mapping buffer'
[  42] 0x180db6c0: used  544 (refcount 1 lock count 0, size      512, align    4, data 0x180db6e0, d0rual) 'ILCS VC buffer pool'
[  41] 0x180db8e0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x180db900, d1ruAl) 'ilin mapping buffer'
[  40] 0x180ef900: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x180ef920, d1ruAl) 'ilin mapping buffer'
[  44] 0x18103920: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x18103940, d1ruAl) 'ilin mapping buffer'
[  45] 0x18117940: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x18117960, d1ruAl) 'ilin mapping buffer'
[  46] 0x1812b960: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1812b980, d1ruAl) 'ilin mapping buffer'
[  32] 0x1813f980: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1813f9a0, d1ruAl) 'ilin mapping buffer'
[  31] 0x181539a0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x181539c0, d1ruAl) 'ilin mapping buffer'
[  30] 0x181679c0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x181679e0, d1ruAl) 'ilin mapping buffer'
[  29] 0x1817b9e0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1817ba00, d1ruAl) 'ilin mapping buffer'
[  28] 0x1818fa00: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1818fa20, d1ruAl) 'ilin mapping buffer'
[  27] 0x181a3a20: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x181a3a40, d1ruAl) 'ilin mapping buffer'
[  26] 0x181b7a40: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x181b7a60, d1ruAl) 'ilin mapping buffer'
[  33] 0x181cba60: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x181cba80, d1ruAl) 'ilin mapping buffer'
[  34] 0x181dfa80: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x181dfaa0, d1ruAl) 'ilin mapping buffer'
[  35] 0x181f3aa0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x181f3ac0, d1ruAl) 'ilin mapping buffer'
[  48] 0x18207ac0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x18207ae0, d1ruAl) 'ilin mapping buffer'
[  47] 0x1821bae0: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x1821c000, d1rual) 'video_decodeRIL:image pool'
[  11] 0x182beb60: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x182bf000, d1ruAl) 'video_decodeRIL:image pool'
[  12] 0x18361be0: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x18362000, d1rual) 'video_decodeRIL:image pool'
[  13] 0x18404c60: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x18405000, d1ruAl) 'video_decodeRIL:image pool'
[  14] 0x184a7ce0: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x184a8000, d1ruAl) 'video_decodeRIL:image pool'
[  23] 0x1854ad60: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x1854b000, d1ruAl) 'video_decodeRIL:image pool'
[  24] 0x185edde0: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x185ee000, d1ruAl) 'video_decodeRIL:image pool'
[  25] 0x18690e60: used 1.0M (refcount 1 lock count 0, size  1048576, align  256, data 0x18690f00, d3Rual) 'Vdec3 CDB'
[  15] 0x18790f60: used 103K (refcount 1 lock count 0, size   105120, align   32, data 0x18790f80, d0Rual) 'Vdec3 Msgbuf'
[  64] 0x187aaa20: used  128 (refcount 1 lock count 0, size       96, align    4, data 0x187aaa40, d0rual) 'ilfifo state'
[  50] 0x187aaaa0: used 7.1K (refcount 1 lock count 0, size     7200, align    4, data 0x187aaac0, d0rual) 'ilfifo header'
[  49] 0x187ac6e0: used  544 (refcount 1 lock count 0, size      512, align    4, data 0x187ac700, d0rual) 'ILCS VC buffer pool'
[  16] 0x187ac900: used  96K (refcount 1 lock count 0, size    98176, align  256, data 0x187aca00, d3ruAl) 'mpeg2 slice addresses'
[  17] 0x187c4980: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x187c49a0, d1ruAl) 'ilin mapping buffer'
[  20] 0x187d89a0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x187d89c0, d1ruAl) 'ilin mapping buffer'
[   8] 0x187ec9c0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x187ec9e0, d1ruAl) 'ilin mapping buffer'
[  18] 0x188009e0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x18800a00, d1ruAl) 'ilin mapping buffer'
[   9] 0x18814a00: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x18814a20, d1ruAl) 'ilin mapping buffer'
[  19] 0x18828a20: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x18828a40, d1ruAl) 'ilin mapping buffer'
[   6] 0x1883ca40: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1883ca60, d1ruAl) 'ilin mapping buffer'
[  10] 0x18850a60: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x18850a80, d1ruAl) 'ilin mapping buffer'
[   7] 0x18864a80: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x18864aa0, d1ruAl) 'ilin mapping buffer'
[  21] 0x18878aa0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x18878ac0, d1ruAl) 'ilin mapping buffer'
[  22] 0x1888cac0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1888cae0, d1ruAl) 'ilin mapping buffer'
[  36] 0x188a0ae0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x188a0b00, d1ruAl) 'ilin mapping buffer'
[   5] 0x188b4b00: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x188b4b20, d1ruAl) 'ilin mapping buffer'
[  83] 0x188c8b20: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x188c8b40, d1ruAl) 'ilin mapping buffer'
[  82] 0x188dcb40: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x188dcb60, d1ruAl) 'ilin mapping buffer'
[  81] 0x188f0b60: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x188f0b80, d1ruAl) 'ilin mapping buffer'
[  87] 0x18904b80: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x18904ba0, d1ruAl) 'ilin mapping buffer'
[  86] 0x18918ba0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x18918bc0, d1ruAl) 'ilin mapping buffer'
[  85] 0x1892cbc0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1892cbe0, d1ruAl) 'ilin mapping buffer'
[  84] 0x18940be0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x18940c00, d1ruAl) 'ilin mapping buffer'
[  76] 0x18954c00: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x18955000, d1rual) 'video_decodeRIL:image pool'
[  75] 0x189f7c80: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x189f8000, d1rual) 'video_decodeRIL:image pool'
[  74] 0x18a9ad00: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x18a9b000, d1ruAl) 'video_decodeRIL:image pool'
[  73] 0x18b3dd80: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x18b3e000, d1ruAl) 'video_decodeRIL:image pool'
[  72] 0x18be0e00: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x18be1000, d1ruAl) 'video_decodeRIL:image pool'
[  71] 0x18c83e80: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x18c84000, d1ruAl) 'video_decodeRIL:image pool'
[  70] 0x18d26f00: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x18d27000, d1ruAl) 'video_decodeRIL:image pool'
[  88] 0x18dc9f80: used 1.0M (refcount 1 lock count 0, size  1048576, align  256, data 0x18dca000, d3Rual) 'Vdec3 CDB'
[  90] 0x18eca080: used  96K (refcount 1 lock count 0, size    98176, align  256, data 0x18eca100, d3ruAl) 'mpeg2 slice addresses'
[  89] 0x18ee2100: used 103K (refcount 1 lock count 0, size   105120, align   32, data 0x18ee2120, d0Rual) 'Vdec3 Msgbuf'
[  77] 0x18efbbc0: used 621K (refcount 1 lock count 0, size   635904, align   32, data 0x18efbbe0, d1rual) 'ilin mapping buffer'
[  78] 0x18f96fe0: used 652K (refcount 1 lock count 0, size   663552, align 4096, data 0x18f97000, d1ruAl) 'video_encodeRIL:conversion pool'
[  79] 0x19039fe0: used 652K (refcount 1 lock count 0, size   663552, align 4096, data 0x1903a000, d1rual) 'video_encodeRIL:conversion pool'
[  65] 0x190dcfe0: used 652K (refcount 1 lock count 0, size   663552, align 4096, data 0x190dd000, d1ruAl) 'video_encodeRIL:conversion pool'
[  66] 0x1917ffe0: used 244K (refcount 1 lock count 0, size   245760, align 4096, data 0x19180000, d1ruAl) 'video_encodeRIL: subsample pool'
[  67] 0x191bcfe0: used 244K (refcount 1 lock count 0, size   245760, align 4096, data 0x191bd000, d1rual) 'video_encodeRIL: subsample pool'
[  68] 0x191f9fe0: used 244K (refcount 1 lock count 0, size   245760, align 4096, data 0x191fa000, d1ruAl) 'video_encodeRIL: subsample pool'
[  69] 0x19236fe0: used 244K (refcount 1 lock count 0, size   245760, align 4096, data 0x19237000, d1ruAl) 'video_encodeRIL: subsample pool'
[  63] 0x19273fe0: used 332K (refcount 1 lock count 0, size   335684, align 4096, data 0x19274000, d3rual) 'venc_mem_alloc'
[  51] 0x192c6f40: used 621K (refcount 1 lock count 0, size   635904, align   32, data 0x192c6f60, d1ruAl) 'RIL buffer'
[  52] 0x19362360: used 621K (refcount 1 lock count 0, size   635904, align   32, data 0x19362380, d1rual) 'ilin mapping buffer'
[  53] 0x193fd780: used 652K (refcount 1 lock count 0, size   663552, align 4096, data 0x193fe000, d1rual) 'video_encodeRIL:conversion pool'
[  54] 0x194a0780: used 652K (refcount 1 lock count 0, size   663552, align 4096, data 0x194a1000, d1ruAl) 'video_encodeRIL:conversion pool'
[  55] 0x19543780: used 652K (refcount 1 lock count 0, size   663552, align 4096, data 0x19544000, d1ruAl) 'video_encodeRIL:conversion pool'
[  56] 0x195e6780: used 244K (refcount 1 lock count 0, size   245760, align 4096, data 0x195e7000, d1rual) 'video_encodeRIL: subsample pool'
[  57] 0x19623780: used 244K (refcount 1 lock count 0, size   245760, align 4096, data 0x19624000, d1ruAl) 'video_encodeRIL: subsample pool'
[  58] 0x19660780: used 244K (refcount 1 lock count 0, size   245760, align 4096, data 0x19661000, d1ruAl) 'video_encodeRIL: subsample pool'
[  59] 0x1969d780: used 244K (refcount 1 lock count 0, size   245760, align 4096, data 0x1969e000, d1ruAl) 'video_encodeRIL: subsample pool'
[  60] 0x196da780: used 332K (refcount 1 lock count 0, size   335684, align 4096, data 0x196db000, d3rual) 'venc_mem_alloc'
[  61] 0x1972d6e0: used  128 (refcount 1 lock count 0, size       96, align    4, data 0x1972d700, d0rual) 'ilfifo state'
[  62] 0x1972d760: used 7.1K (refcount 1 lock count 0, size     7200, align    4, data 0x1972d780, d0rual) 'ilfifo header'
[  80] 0x1972f3a0: used 621K (refcount 1 lock count 0, size   635904, align   32, data 0x1972f3c0, d1ruAl) 'RIL buffer'
[  91] 0x197ca7c0: used  544 (refcount 1 lock count 0, size      512, align    4, data 0x197ca7e0, d0rual) 'ILCS VC buffer pool'
[  92] 0x197ca9e0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x197caa00, d1ruAl) 'ilin mapping buffer'
[  93] 0x197dea00: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x197dea20, d1ruAl) 'ilin mapping buffer'
[  94] 0x197f2a20: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x197f2a40, d1ruAl) 'ilin mapping buffer'
[  95] 0x19806a40: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x19806a60, d1ruAl) 'ilin mapping buffer'
[  96] 0x1981aa60: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1981aa80, d1ruAl) 'ilin mapping buffer'
[  97] 0x1982ea80: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1982eaa0, d1ruAl) 'ilin mapping buffer'
[  98] 0x19842aa0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x19842ac0, d1ruAl) 'ilin mapping buffer'
[  99] 0x19856ac0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x19856ae0, d1ruAl) 'ilin mapping buffer'
[ 100] 0x1986aae0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1986ab00, d1ruAl) 'ilin mapping buffer'
[ 101] 0x1987eb00: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1987eb20, d1ruAl) 'ilin mapping buffer'
[ 102] 0x19892b20: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x19892b40, d1ruAl) 'ilin mapping buffer'
[ 103] 0x198a6b40: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x198a6b60, d1ruAl) 'ilin mapping buffer'
[ 104] 0x198bab60: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x198bab80, d1ruAl) 'ilin mapping buffer'
[ 105] 0x198ceb80: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x198ceba0, d1ruAl) 'ilin mapping buffer'
[ 106] 0x198e2ba0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x198e2bc0, d1ruAl) 'ilin mapping buffer'
[ 107] 0x198f6bc0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x198f6be0, d1ruAl) 'ilin mapping buffer'
[ 108] 0x1990abe0: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1990ac00, d1ruAl) 'ilin mapping buffer'
[ 109] 0x1991ec00: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x1991ec20, d1ruAl) 'ilin mapping buffer'
[ 110] 0x19932c20: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x19932c40, d1ruAl) 'ilin mapping buffer'
[ 111] 0x19946c40: used  80K (refcount 1 lock count 0, size    81920, align   32, data 0x19946c60, d1ruAl) 'ilin mapping buffer'
[ 112] 0x1995ac60: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x1995b000, d1rual) 'video_decodeRIL:image pool'
[ 113] 0x199fdce0: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x199fe000, d1rual) 'video_decodeRIL:image pool'
[ 114] 0x19aa0d60: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x19aa1000, d1ruAl) 'video_decodeRIL:image pool'
[ 115] 0x19b43de0: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x19b44000, d1ruAl) 'video_decodeRIL:image pool'
[ 116] 0x19be6e60: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x19be7000, d1ruAl) 'video_decodeRIL:image pool'
[ 117] 0x19c89ee0: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x19c8a000, d1ruAl) 'video_decodeRIL:image pool'
[ 118] 0x19d2cf60: used 652K (refcount 1 lock count 0, size   663680, align 4096, data 0x19d2d000, d1ruAl) 'video_decodeRIL:image pool'
[ 119] 0x19dcffe0: used 1.0M (refcount 1 lock count 0, size  1048576, align  256, data 0x19dd0000, d3Rual) 'Vdec3 CDB'
[ 120] 0x19ed00e0: used 103K (refcount 1 lock count 0, size   105120, align   32, data 0x19ed0100, d0Rual) 'Vdec3 Msgbuf'
[ 131] 0x19ee9ba0: used  128 (refcount 1 lock count 0, size       96, align    4, data 0x19ee9bc0, d0rual) 'ilfifo state'
[ 132] 0x19ee9c20: used 7.1K (refcount 1 lock count 0, size     7200, align    4, data 0x19ee9c40, d0rual) 'ilfifo header'
0x19eeb860: free 18K
[ 121] 0x19ef0180: used  96K (refcount 1 lock count 0, size    98176, align  256, data 0x19ef0200, d3ruAl) 'mpeg2 slice addresses'
[ 122] 0x19f08200: used 621K (refcount 1 lock count 0, size   635904, align   32, data 0x19f08220, d1rual) 'ilin mapping buffer'
[ 123] 0x19fa3620: used 652K (refcount 1 lock count 0, size   663552, align 4096, data 0x19fa4000, d1rual) 'video_encodeRIL:conversion pool'
[ 124] 0x1a046620: used 652K (refcount 1 lock count 0, size   663552, align 4096, data 0x1a047000, d1ruAl) 'video_encodeRIL:conversion pool'
[ 125] 0x1a0e9620: used 652K (refcount 1 lock count 0, size   663552, align 4096, data 0x1a0ea000, d1ruAl) 'video_encodeRIL:conversion pool'
[ 126] 0x1a18c620: used 244K (refcount 1 lock count 0, size   245760, align 4096, data 0x1a18d000, d1rual) 'video_encodeRIL: subsample pool'
[ 127] 0x1a1c9620: used 244K (refcount 1 lock count 1, size   245760, align 4096, data 0x1a1ca000, d1rual) 'video_encodeRIL: subsample pool'
[ 128] 0x1a206620: used 244K (refcount 1 lock count 0, size   245760, align 4096, data 0x1a207000, d1ruAl) 'video_encodeRIL: subsample pool'
[ 129] 0x1a243620: used 244K (refcount 1 lock count 0, size   245760, align 4096, data 0x1a244000, d1ruAl) 'video_encodeRIL: subsample pool'
[ 130] 0x1a280620: used 332K (refcount 1 lock count 0, size   335684, align 4096, data 0x1a281000, d3rual) 'venc_mem_alloc'
[ 133] 0x1a2d3580: used 621K (refcount 1 lock count 0, size   635904, align   32, data 0x1a2d35a0, d1ruAl) 'RIL buffer'
0x1a36e9a0: free 59M
0x1de80000: legacy block 2.3M
0x1e0c0000: legacy block 2.3M
0x1e300000: legacy block 2.3M
0x1e540000: legacy block 2.3M
0x1e780000: legacy block 2.3M
0x1e9c0000: legacy block 2.3M
small allocs not requested
8) iftop statistics

Code: Select all

[email protected]:~# iftop

                                    191Mb                                381Mb                               572Mb                                763Mb                           954Mb
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
10.1.1.248                                                                    => 239.251.0.1                                                                    6.78Mb  6.69Mb  6.65Mb
                                                                              <=                                                                                   0b      0b      0b
10.1.1.248                                                                    => 239.251.0.4                                                                    4.94Mb  4.92Mb  4.95Mb
                                                                              <=                                                                                   0b      0b      0b
10.1.1.185                                                                    => 239.251.113.1                                                                  2.97Mb  2.97Mb  2.99Mb
                                                                              <=                                                                                   0b      0b      0b
10.1.1.248                                                                    => 239.251.0.2                                                                    3.14Mb  2.97Mb  3.03Mb
                                                                              <=                                                                                   0b      0b      0b
10.1.1.185                                                                    => 239.251.113.2                                                                  3.14Mb  2.95Mb  2.99Mb
                                                                              <=                                                                                   0b      0b      0b
10.1.1.185                                                                    => 239.251.113.3                                                                  1.84Mb  2.11Mb  2.49Mb
                                                                              <=                                                                                   0b      0b      0b
10.1.1.185                                                                    => 10.1.1.113                                                                     16.6kb  23.4kb  20.1kb
                                                                              <=                                                                                3.59kb  4.53kb  4.03kb
255.255.255.255                                                               =>  *                                                                                0b      0b      0b
                                                                              <=                                                                                   0b   1.35kb   606b
255.255.255.255                                                               => 10.1.1.206                                                                        0b      0b      0b
                                                                              <=                                                                                   0b    106b     28b
10.1.1.255                                                                    => 10.1.1.253                                                                        0b      0b      0b
                                                                              <=                                                                                   0b      0b     72b
255.255.255.255                                                               => 10.1.1.250                                                                        0b      0b      0b
                                                                              <=                                                                                   0b      0b     26b
10.1.1.63                                                                     => 239.251.0.1                                                                       0b      0b      7b
                                                                              <=                                                                                   0b      0b      0b
10.1.1.185                                                                    => 239.251.0.2                                                                       0b      0b      7b
                                                                              <=                                                                                   0b      0b      0b
10.1.1.185                                                                    => 239.251.0.4                                                                       0b      0b      7b
                                                                              <=                                                                                   0b      0b      0b
10.254.254.1                                                                  => 224.0.0.1                                                                         0b      0b      6b
                                                                              <=                                                                                   0b      0b      0b
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
TX:             cum:   40.4MB   peak:   10.5Mb                                                                                                         rates:   7.96Mb  8.05Mb  8.50Mb
RX:                    69.5MB           14.9Mb                                                                                                                  14.9Mb  14.6Mb  14.6Mb
TOTAL:                  110MB           25.3Mb                                                                                                                  22.8Mb  22.6Mb  23.1Mb
9) top stats....

Code: Select all

top - 21:37:41 up 35 min,  4 users,  load average: 1.13, 0.98, 1.01
Tasks:  75 total,   3 running,  72 sleeping,   0 stopped,   0 zombie
%Cpu(s): 23.9 us, 27.6 sy,  0.0 ni, 31.7 id,  0.0 wa,  0.0 hi, 16.7 si,  0.0 st
KiB Mem:    382972 total,   197632 used,   185340 free,    17064 buffers
KiB Swap:   102396 total,        0 used,   102396 free,   100276 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
 2458 root      20   0 95676  15m 2444 R  20.4  4.0   5:14.13 hwtx264
 2803 root      20   0  122m  19m 2448 S  20.1  5.1   0:04.86 hwtx264
 2668 root      20   0  110m  18m 2380 R  18.2  4.9   3:22.90 hwtx264
   30 root       1 -19     0    0    0 S   2.9  0.0   0:32.62 VCHIQ-0
    3 root      20   0     0    0    0 S   1.6  0.0   0:21.74 ksoftirqd/0
 2805 root      20   0  4672 1376 1020 R   1.3  0.4   0:00.24 top
 2474 root      20   0 10020 3348 2676 S   0.6  0.9   0:04.06 sshd
   17 root      20   0     0    0    0 S   0.3  0.0   0:02.87 kworker/0:1
 2324 root      20   0 10020 3336 2676 S   0.3  0.9   0:05.72 sshd
 2406 root      20   0 10020 3336 2676 S   0.3  0.9   0:06.57 sshd
    1 root      20   0  2148  720  616 S   0.0  0.2   0:01.79 init
    2 root      20   0     0    0    0 S   0.0  0.0   0:00.00 kthreadd
    4 root      20   0     0    0    0 S   0.0  0.0   0:00.00 kworker/0:0
    5 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 kworker/0:0H
    7 root      20   0     0    0    0 S   0.0  0.0   0:00.48 rcu_preempt
    8 root      20   0     0    0    0 S   0.0  0.0   0:00.00 rcu_bh
    9 root      20   0     0    0    0 S   0.0  0.0   0:00.00 rcu_sched
   10 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 khelper
   11 root      20   0     0    0    0 S   0.0  0.0   0:00.00 kdevtmpfs
   12 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 netns
   13 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 writeback
   14 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 bioset
   15 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 kblockd
   16 root      20   0     0    0    0 S   0.0  0.0   0:00.21 khubd
   18 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 rpciod
   19 root      20   0     0    0    0 S   0.0  0.0   0:00.00 khungtaskd
   20 root      20   0     0    0    0 S   0.0  0.0   0:00.00 kswapd0
   21 root      20   0     0    0    0 S   0.0  0.0   0:00.00 fsnotify_mark
   22 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 nfsiod
10) In 2U case we have 16 nodes, that;s means in 2U device we have possibility to transcode 16x3=48 SD channels from MPEG2 to H264. Could be there more nodes, but we need to solve cooling system.

Problems to be solved:
1) changing of SAR during live stream. There are many channelst that change SAR from 4:3 to 16:9 and back during a day. and HW decoder does not reflet (may be bug in our code) send that change to HW encoder....
2) web interface to be able to do some minor changes (bitrate, GOP, and so) withouth need of restarting transcoding process
3) optimize performance of ethernet iface.... (RX and TX buffers - reason of memory split with priority to ARM)

peterppd
Posts: 4
Joined: Thu Jul 31, 2014 6:43 am

Re: Cluster for HW accelerated stream transcoding

Sat Aug 02, 2014 11:00 pm

Hey Santa,

please contact me by pm, i am interested in your setup for buy.

thank you

peterppd
Posts: 4
Joined: Thu Jul 31, 2014 6:43 am

Re: Cluster for HW accelerated stream transcoding

Thu Aug 07, 2014 5:07 pm

Hey,

i contacted the seller and he seems to be experienced guy, but he is asking really too much for his device. According to his specs it is 16 rpi in 2U case, total 32 SD channels without deinterlace, asking 3500 euro. It is 110 eur per channel. You guys think it is good price? i7 cpu transcoding seems to be cheaper method.

thanx for all suggestions

Santa77
Posts: 32
Joined: Wed Oct 31, 2012 2:08 pm
Location: Slovakia

Re: Cluster for HW accelerated stream transcoding

Thu Aug 07, 2014 8:09 pm

Dear Peter ,

that was not realy nice from you to public our private conversation, private messages should remains private. but ok. Here is my reply.

1) If we will mass produce such many devices as i7 cpu, price will be significantly lower. Price is also depend on region, because at slovakia we are selling transcoding service too... (all cards on a table, I want to be honest)

2) 16 raspi in 2u, was sample calculation based on your request to transcode 30 channels, not 48. 48 channels are possible, but u asked 1.2 mbit rate per output. We can produce 48 channels on 16 RPi, but with 2 Mbit/channel at output with same HW and same price. 48 channels at your rate (with good results) will cost little more due our current SW/HW limitations. Not much, only for approx 480 eur, but it's just an price of an HW and work. +8 RPi * 43,20 EUR = 345,60 EUR + soem small monay for extra 8 pcs of 8GB SD cards + approx 60 EUR for additional cooling, pasive heatsinks + 1 aditional fan + powersource with higher capacity, more outgoing ports on front pannel, more 3d printed holders, price for licences for MPEG2, and like i sayd, more handwork to complete an device..., no extra cost on software for more channels... You missed two points. Custom made solution is alway more expensive than universal solution based on GPL software... U payd for mass produced HW, but most of SW (except your scripts to run VLC or FFMPEG or getstream) u downloaded for free.

3) Second point, that you missed, needs extra paragraph. Power consumption. U declared power consumption 8 watts per channel (384 watts per hour for 48 channels), but mine solution consumes only 1,25 per channel (at MAX if we produce only 2, not 3 streams per PRi), so that means 60 watts per hour for 48 channels. That means your i7 cpu will consume 276,5 kWatt / month, but mine only 43,2 kWatt / month (for 48 channels). That means (depend on price for power that you pay), you will pay yearly approx 530 EUR for electric power, but i will pay only 83 EUR. Do you see that difference in operating expenses?

4) Before I was started to negotiate about bussines, I've sent to you all informations about my company. U just sent me an anonymous google account and anonymous pobox acount, even i was asked you for your credentials. You are realy act seriously.

PS: mine solution still left approx 50% of GPU MEM and approx 40% of GPU power free, for future optimisation and performance improvements, but u have only 4 i7 cpus that are fully used... no vissible way to improve results with same HW and same power consumption.... 48 channels for you may ok, but there are many, who want's to transcode much more channels...

PS2: if someone will pay me 2 years spent part time on that project + some extra to make it better, I am inclined to put that project totaly opensourced, and people like Peter can profit from it for free (just for price of HW)

For all others, who want's to act more seriously than Peter acts, here are contact informations:

B&H Media Group s.r.o.
Ozdany 514
98011
Slovakia

info (at) moviotv (dot) sk

peterppd
Posts: 4
Joined: Thu Jul 31, 2014 6:43 am

Re: Cluster for HW accelerated stream transcoding

Fri Aug 08, 2014 9:10 am

Dear Slavoj,

your response seems to be pretty offensive on me just because i refused to buy your product. That is really strange for a serious company i would expect this kind of behavior from a 15y old boy. I did not mean to offense you and this is not a place for personal opinion exchange. This is a rapspberry forum where users share their experience. I know that u did your job in your development and the price is nothing private, if you want to sell it, the price should be public.

1. You cant compare the price of i7 and raspberry, because you are not a hardware manufacturer, you are software & solution developer/integrator, which u did quite well according to your speech.

2. The difference at price per channel remains the same independent of the bitrate because the i7 can handle also more channels if 2Mbit output

3. Power consumption, lets make some calculations:

Raspi Watt per channel: 1.25 W = 30W/day = 900W/month = 10800W/year
i7 watt per channel: 8.0 W = 192W/day = 5760W/month = 69120W/year
energy difference: 6.75 W = 162W/day = 4860W/month = 58320W/year
price of energy: 0.175E kW/h

Raspi price per channel: 110 Eur
i7 price per channel : 45 Eur

This means that the starting cost for i7 are about 65 euro cheaper than your raspi solution, where with this 65 eur i can pay difference of energy price for the next 6.36 years.

4. You never asked for credentials, always email, please re-check our communication.

In my opinion the price for your solution is overprized, i wanted to share this opinion with other users, just read my previous post and think again before you write. Did i miss something?

Please i want to hear other users opinion also,i dont want to "chat" here.
thank you

Peter - the one with anonymous gmail :)

Santa77
Posts: 32
Joined: Wed Oct 31, 2012 2:08 pm
Location: Slovakia

Re: Cluster for HW accelerated stream transcoding

Fri Aug 08, 2014 11:17 am

Dear Peter,

my response was offensive on you, but not because you refused to buy my product, but because you published PRICE that I offered to you in private messages. Not all products have published prices. But u did it now. What's done is done.

I do not care much that u did not buy it. I did not built that primary for sale, i built that to solve my problems with transcoding.

Yws, that forum is fot exchange experiences. That's why i submited for example to topic about OMXTX, where i was trying to help others if they need to correctly implement H264 output to mpegts. If u will seatch, i will find and u can implement it by your self, or hire someone.

That topic I did not start to sell some future possible product. (2 years ago). I started that topic to ispire other's that it's possible to do it.

As I said, it makes no sense to start here unwanted flameware. I do not want to. Do U?

peterppd
Posts: 4
Joined: Thu Jul 31, 2014 6:43 am

Re: Cluster for HW accelerated stream transcoding

Mon Aug 18, 2014 3:45 pm

Dear Slavoj,

i do not think that the price is private. Could you also react on my calculations about electricity? I expect some constructive feedback, not offensive.

You think ROI of 6.5 years is good deal? Sorry but i must say again, your product is really really overpriced.

regards

Peter

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23947
Joined: Sat Jul 30, 2011 7:41 pm

Re: Cluster for HW accelerated stream transcoding

Mon Aug 18, 2014 5:25 pm

If you received information in a private message, then please keep it private. That's why they are called Private messages.

Any more tit for tat arguing and I start deleting posts.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

adetheprince
Posts: 10
Joined: Wed Aug 20, 2014 1:58 am

Re: Cluster for HW accelerated stream transcoding

Tue Oct 20, 2015 12:11 am

Jesus !!
I didn't know people actually visit this forum and ask for help and then after their project is complete, they sell it here. :D I thought its a free share for Raspberry PI community but i guess I was wrong. :cry:

Return to “Graphics, sound and multimedia”