Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Stream media from two linux machines, use server's resources
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
Greens
n00b
n00b


Joined: 23 Aug 2013
Posts: 26

PostPosted: Thu Oct 24, 2013 5:31 pm    Post subject: Stream media from two linux machines, use server's resources Reply with quote

Well I've set up NFS and that works perfectly fine, I playback video and audio from the server fine with it. However it uses the client's resources to decode video/audio, and my laptop, the client, is not very powerful and cannot handle 1080p (especially 10bit h264) video.

I don't think that bandwidth between the two computers is a bottleneck, it's just that the laptop isn't powerful enough. I've also tried X11 forwarding with SSH but that is really slow and you can't really play video through it.

Is there anyway to do the video/audio decoding on the server and just transmit the picture to the client?

I wonder what Valve is going to use when they're going to have to deal with streaming games from a windows PC to linux. Because of course the processing would have to happen on the windows PC. Also I didn't know whether to post this in the media sub-forum or the networking sub-forum.
Back to top
View user's profile Send private message
eccerr0r
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 4007
Location: USA

PostPosted: Thu Oct 24, 2013 9:22 pm    Post subject: Reply with quote

You must have a really fast connection, 1920 x 1080 x 4 (10 bits per color, 3 colors, 2 extra bits) x 30fps = 248MB/sec. I max out at 100MBsec on my Gbit Ethernet.

You should look into seeing if you can speed up decode. What CPU, what GPU resource is available?
_________________
Intel Core i7 2700K@ 4.1GHz/HD3000 graphics/8GB DDR3/180GB SSD
What am I supposed to be advocating?
Back to top
View user's profile Send private message
Greens
n00b
n00b


Joined: 23 Aug 2013
Posts: 26

PostPosted: Thu Oct 24, 2013 10:51 pm    Post subject: Reply with quote

eccerr0r wrote:
You must have a really fast connection, 1920 x 1080 x 4 (10 bits per color, 3 colors, 2 extra bits) x 30fps = 248MB/sec. I max out at 100MBsec on my Gbit Ethernet.

You should look into seeing if you can speed up decode. What CPU, what GPU resource is available?


Perhaps bandwidth might be an issue, as I've never tested it with a machine powerful enough to the point where I could rule out the client's hardware not being powerful enough, but the video plays pretty much equally as slowly as it does if I play it off my local drive then if I play it through NFS. Can't handle it period.

I don't want to sound rude but I disagree that you would need a literal 248MB/s line to playback a video like that through NFS, or that you would calculate bandwidth needs for this like that.

Server has a Xeon1230v2 and a nVidia GTX 650 Ti. The laptop is really what lacks, has a Pentium M 780 and an ATI RV380.
Back to top
View user's profile Send private message
eccerr0r
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 4007
Location: USA

PostPosted: Thu Oct 24, 2013 11:37 pm    Post subject: Reply with quote

How would you calculate it then? The way I calculate it, is the pure number of bytes that need to be written to a 1080P at 30FPS, and it's about 5% off because I'm wasting two bits out of the 10bpp in 4 bytes per pixel.

You have to compress it, to go through the network.

That means you have to decompress it to get it back. The best you can do is find an easy to compute algorithm.

In any case your client still needs to dump 248MB/sec to the display as well to get 30FPS 1080p. The CPU should be able to do this but it doesn't leave much else to work on.

Look into recoding h.264 to some other easier to decode codec, but the sheer amount of data, I don't really think the client computer can handle it unless the RV380 has some intrinsic decoding logic - where the CPU sends compressed data straight to the GPU.

Also look into reducing the quality or buying a better client CPU (with MPEG GPU). You should experiment with transcoding and see if there is any codec that is actually fast enough to play. It is very CPU/GPU intensive indeed, however.
_________________
Intel Core i7 2700K@ 4.1GHz/HD3000 graphics/8GB DDR3/180GB SSD
What am I supposed to be advocating?
Back to top
View user's profile Send private message
Greens
n00b
n00b


Joined: 23 Aug 2013
Posts: 26

PostPosted: Sat Oct 26, 2013 10:21 pm    Post subject: Reply with quote

eccerr0r wrote:
How would you calculate it then? The way I calculate it, is the pure number of bytes that need to be written to a 1080P at 30FPS, and it's about 5% off because I'm wasting two bits out of the 10bpp in 4 bytes per pixel.

You have to compress it, to go through the network.

That means you have to decompress it to get it back. The best you can do is find an easy to compute algorithm.

In any case your client still needs to dump 248MB/sec to the display as well to get 30FPS 1080p. The CPU should be able to do this but it doesn't leave much else to work on.

Look into recoding h.264 to some other easier to decode codec, but the sheer amount of data, I don't really think the client computer can handle it unless the RV380 has some intrinsic decoding logic - where the CPU sends compressed data straight to the GPU.

Also look into reducing the quality or buying a better client CPU (with MPEG GPU). You should experiment with transcoding and see if there is any codec that is actually fast enough to play. It is very CPU/GPU intensive indeed, however.


Absolutely I can downgrade the quality to be able to play it, and that's what I have to do. Although this takes a lot of time and even if it's mostly fully automated it's still a pain.

The reason I'm interested in this is because I want to be able to play it on older hardware that can't handle it, without having to go through the process of encoding it down to a resolution/format it can handle decoding.
Back to top
View user's profile Send private message
_______0
Guru
Guru


Joined: 15 Oct 2012
Posts: 521

PostPosted: Sun Oct 27, 2013 7:48 pm    Post subject: Reply with quote

is there a discernible quality difference with 10bit movies? Wouldn't that require a 10bit capable monitor?
Back to top
View user's profile Send private message
k-root
Guru
Guru


Joined: 08 Jan 2005
Posts: 361
Location: Paris

PostPosted: Mon Oct 28, 2013 2:42 am    Post subject: Re: Stream media from two linux machines, use server's resou Reply with quote

Greens wrote:
Is there anyway to do the video/audio decoding on the server and just transmit the picture to the client?


something like pcoip ?

you can use vlc server to re encode you file to wathever stream format you want

Code:
USE="httpd  lua rtsp" emerge vlc


http://en.wikipedia.org/wiki/List_of_UPnP_AV_media_servers_and_clients
_________________
boozo wrote:
Gentoo, ça mange des ours et baffe des buffles par 37°C avec un bob et des tongs
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum