"Streaming" Video's simultaniously to different pc's?

faxij
Posts: 9
Joined: Mon Dec 21, 2009 1:27 pm

"Streaming" Video's simultaniously to different pc's?

Postby faxij » Fri Jan 08, 2010 4:32 pm

hi, i hope this is the correct place, but to me it seems as a bloody non-brainer question..can help though to find an answer and cant test it yet :(

my question concerns the "streaming" of several files at the same time.

lets say user 1 listen's to mp3's, user 2 watches movie "ab" and user 3 watches movie "yz".
all these files are stored on the amahi server.

how does it work with the performance? no issues what-so-ever? do i need a strong client-cpu, or strong cpu for amahi..maybe ram on the amahi?

i'm asking because i want to use amahi to serve video's and mp3 to my fellow 3 friends and me, who will soon share a flat.
im worried if i setup amahi on a low-performance pc (energy-saver) it wont allow people to watch several files at the same time...

so how does that work?!

hope someone can provide me with a flash of wisdom.. ;)

User avatar
moredruid
Expert
Posts: 791
Joined: Tue Jan 20, 2009 1:33 am
Location: Netherlands
Contact:

Re: "Streaming" Video's simultaniously to different pc's?

Postby moredruid » Mon Jan 11, 2010 1:27 am

this depends on a few factors (on the server side for performance):
- type of file (you state mp3 and movies, but movies can be in different (more or less CPU intensive) encodings, think avi vs mkv). A recent dual core is more than sufficient (including an Atom dual core from what I hear).
- disk speed: the computer is as fast as its slowest part, usually the disk. A recent HDD (SATA2) has a theoretical read speed of 300MB/s (in practice you'll see around 240MB/s). This is with 1 disk attached to a bus. With 2 disks you'll have 2 disks competing over the bus bandwidth so you'll likely see around 180-200MB/s throughput). Having enough RAM helps (due to caching) but will not solve the issue completely, it can only lighten the symptoms a bit. HD streaming will take around 60Mbps per client (max) so that would equate to 3-4 clients all streaming HD content from the server concurrently. You might see an occasional skip in a movie but that should be it (I'll try to test this at home, enough clients to stress the server). If you're doing lots of writes on the disk at the same time this will be a lot less, writes are more "expensive" disk-performance wise. If you're having issues, consider RAID, preferably hardware RAID (not the stuff in your BIOS but a decent PCI card, to be had between $200 and $400).
- network speed: in your case this might be a bottleneck. If you're planning on streaming to 3 or 4 clients a 100Mbit network will be saturated with only 2 clients HD streaming (at around 60Mbps max per client). Don't think wireless N will save you, there's a lot of overhead in the wireless protocols especially with multiple clients and if the connection to the server is 100Mbit that's still your bottleneck.
echo '16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D2173656C7572206968616D41snlbxq' | dc
Galileo - HP Proliant ML110 G6 quad core Xeon 2.4GHz, 4GB RAM, 2x750GB RAID1 + 2x1TB RAID1 HDD

faxij
Posts: 9
Joined: Mon Dec 21, 2009 1:27 pm

Re: "Streaming" Video's simultaniously to different pc's?

Postby faxij » Mon Jan 11, 2010 6:20 am

wow, thanks...thats a big help already!

do you happen to know how many Mbps mp3 would take?

concerning the network speed as a bottle neck: would it do the job if amahi had a gigabit-card? or do the clients need gigabit also to make a change?

i honestly dont think though its gonna make a difference, im actually going to use mainly usb-drives (seagate 500, wd standard 1,5tb), where transfer speed rates aren't anywhere close to 480Mbps in my experience.

However i think thats okay, i assume more than 2 movies won't be watched at a time - its more about the mp3 actually.
Movies and especially HD-material will be enjoyed together on a hd-beamer, so i dont see the problem there so much.
In special cases i can still move hd-material to the local sata-drive i guess.

big thanks already, you helped me understand things a lot better :)

edit: little bonus question:
how are realistic "real" transfer speeds for the various wireless standards?
of those 4 clients 2 will probably be connected by wire, maybe even a third one. so actually only one or two clients would access amahi wirelessly - these wireless clients might stream mp3 and maybe a movie, but not several movies.

simply put, could you tell transfer rates for non-hd-movies (let's say average xvid-avi's, around 1000kpbs - 600-900mb) and mp3's?
plus realistic speeds in wireless? then i could figure out myself what solutions might seem appropriate :)


p.p.s.:
i think btw this could be an excellent topic to cover in the faq's or in the wiki - what types of streaming demand how much speed, where are typical bottlenecks...very useful information i think, but for me very hard to find (thanks again for sharing your wisdom :) )

User avatar
salocinbake
Posts: 53
Joined: Sun Dec 14, 2008 6:31 pm
Location: Niagara Falls

Re: "Streaming" Video's simultaniously to different pc's?

Postby salocinbake » Mon Jan 11, 2010 7:08 pm

Your question, picked my curiosity,

I try with 3 wireless laptop, and 2 wired desktop running at the same time, playing all a different movie, off the HDA.
Also one desktop running a Mp3 at the same time.
And no skipping or lag in any of them. One movie is in HD the other one standard DVD rip.(700mb)

Regular home network G router.

Salo
My HDA: Pentium dual cpu E2200 @2.2GHz 4GB of Ram, 1T+1,5T hard drive.

faxij
Posts: 9
Joined: Mon Dec 21, 2009 1:27 pm

Re: "Streaming" Video's simultaniously to different pc's?

Postby faxij » Mon Jan 11, 2010 10:17 pm

interesting...thanks for sharing!
may i ask your amahi-config? especially cpu/ram?! :)

User avatar
moredruid
Expert
Posts: 791
Joined: Tue Jan 20, 2009 1:33 am
Location: Netherlands
Contact:

Re: "Streaming" Video's simultaniously to different pc's?

Postby moredruid » Tue Jan 12, 2010 3:31 am

darn, forgot to test last night.

For protocol overhead (even wired TCP/IP has this) you can count on around 1-2% loss on your full throughput.
Wireless security protocols add to this, up to (rough guesstimate from google search) 10-30% depending on the encryption used and the type of Wireless Access Point (WAP, usually a router with WiFi). Some WAPs have a good processor and can encrypt/decrypt fast, budget WAPs have a cheaper processor and are thus slower.
Next is the number of clients that are connecting. 1 client gets full throughput (say 802.11g or 54Mbps), but 2 clients each get half throughput (so on 802.11g this would be 27Mbps each). Add another client and you reduce your effective throughput to 33% of the full "link" speed per client (whoa, this feels like going back to the old BNC/coax days :D)

On a wired network the congestion is on the server switch connection, since of course everything will be sent to that switch port. So in your case I think a gigabit link would be beneficial on the server, provided your other equipment can match this speed (gigabit switch/router).

For playing MP3's I wouldn't worry too much, any reasonably recent setup should be able to handle this fine, even streaming to multiple clients, and playing 1 or 2 movies concurrently.
Say you're streaming a 128kbps mp3 (times 3), this would take around 400kbps bandwidth, this is negligable.
Then around 10Mbps (peak) bandwidth for low end streaming and 60Mbps (peak, very busy scene with lots of detail & sound effects in DTS 7.1 audio) for HD streaming gives you a total bandwith requirement of 70,4 Mbps.
Counting consumer grade network equipment with an efficiency of max 80% you should be fine on a 100Mbit network for now. For future growth I would recommend buying gigabit equipment, since the difference in cost is very low these days (except for decent routers, those can get pricey).

for Salo: it could be fun to keep an eye on your network utilisation on the hda.
you can monitor this in real-time using the gnome-system-monitor > resources tab > network history
echo '16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D2173656C7572206968616D41snlbxq' | dc
Galileo - HP Proliant ML110 G6 quad core Xeon 2.4GHz, 4GB RAM, 2x750GB RAID1 + 2x1TB RAID1 HDD

User avatar
salocinbake
Posts: 53
Joined: Sun Dec 14, 2008 6:31 pm
Location: Niagara Falls

Re: "Streaming" Video's simultaniously to different pc's?

Postby salocinbake » Tue Jan 12, 2010 6:33 am

My HDA, Pentium dual cpu E2200 @ 2.2GHz
4 GB of Ram, 1,5T hard drive.

Salo
My HDA: Pentium dual cpu E2200 @2.2GHz 4GB of Ram, 1T+1,5T hard drive.

faxij
Posts: 9
Joined: Mon Dec 21, 2009 1:27 pm

Re: "Streaming" Video's simultaniously to different pc's?

Postby faxij » Tue Jan 12, 2010 11:11 am

thanks a lot :)

honestly spoken i wanted to use an old rig thats lying around, as it uses very little power - but so far its only a p3 with 700mhz. will test soon if that works.
otherwise might get a 1ghz coppermine and test again.

was hoping i won't have to buy an atom..

edit: i wanted to express that i'd like to hear about people who run amahi on low-performance platforms and how that works out.. :)

note:
low-performance includes for me the range from minimum (maybe even under 800mhz?) to around 1,6 ghz single-core.
i'm very interested in p3-performance, via-mini-itx boards (c3 1ghz, c7 1.2 or 1.5 ghz, celeron 1.2ghz) and also the atom 230 with a 1.6 ghz single core.
Last edited by faxij on Tue Jan 12, 2010 11:39 am, edited 1 time in total.

User avatar
moredruid
Expert
Posts: 791
Joined: Tue Jan 20, 2009 1:33 am
Location: Netherlands
Contact:

Re: "Streaming" Video's simultaniously to different pc's?

Postby moredruid » Tue Jan 12, 2010 11:37 am

So I tested a bit:
windows box (wired gigabit): 2x mkv movies (HD), mail on share, unrar 50 files on other share, stream music, ssh X-forwarding session for gnome-system-monitor
mac 1 (wired gigabit): 1x mkv movie (HD) + amahitunes (iTunes streaming)
mac 2 (wireless g): 1x mkv movie (HD) + amahitunes (iTunes streaming) - movie has some artifacts sometimes
TV (wired 100Mbit): 1x mkv movie (HD)
iPhone (wireless g): youtube stream
so that's 5 HD streams, 3 audio streams, 1 ssh X-session, 1 unpack and some file access concurrently to the server and 1 internet session (DNS is done by server)
server (wired gigabit): ~20MB/s link utilization (average value, peaks up to 35MB/s) - or roughly 20% link utilization, I can add more links (dual gb nic hardware is already installed in the server but not yet active) if needed :P

wireless g is definately the bottleneck here :ugeek:
echo '16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D2173656C7572206968616D41snlbxq' | dc
Galileo - HP Proliant ML110 G6 quad core Xeon 2.4GHz, 4GB RAM, 2x750GB RAID1 + 2x1TB RAID1 HDD

faxij
Posts: 9
Joined: Mon Dec 21, 2009 1:27 pm

Re: "Streaming" Video's simultaniously to different pc's?

Postby faxij » Tue Jan 12, 2010 12:08 pm

wow, alright...seems i'll have to convince my roomies to invest in an wireless-n access point :)
at least if they want good performance, my parts are wired anyways :lol: :mrgreen:


quick question to any amahi-head out there...
who runs amahi on low-performance platforms and how does that work out (performance) ?

note:
low-performance includes for me the range from minimum (maybe even under 800mhz?) to around 1,6 ghz single-core.
i'm very interested in p3-performance, via-mini-itx boards (c3 1ghz, c7 1.2 or 1.5 ghz, celeron 1.2ghz) and also the atom 230 with a 1.6 ghz single core.

Who is online

Users browsing this forum: No registered users and 24 guests