Why not decouple modules in the system?

Moderator: Moderator

3x3
Posts: 18
Joined: Thu Aug 16, 2007 10:42 am

Why not decouple modules in the system?

Postby 3x3 » Wed Aug 22, 2007 11:29 pm

I'd like to have mpeg-output plugin not to be called directly from MMS, but receiving network broadcast of MPEG-encoded stream. In this case more then one output device could be connected to same stream, and these devices would be extremely cheap: everything what they need is just MPEG decoding card and some slow CPU able to decode compressed audio and serve controls to send commands back to server. All TVs and computers in home could be connected to server and you'd not need to pause playback walking from one room to another.

User avatar
Uatschitchun
Overlord
Posts: 3189
Joined: Tue Dec 06, 2005 6:55 pm
Location: Germany
Contact:

Postby Uatschitchun » Thu Aug 23, 2007 6:11 pm

Yeah :twisted:

Problem will be the server side ... needs protocol stack ...

Do you know VDR and it's streamdev-plugin? Maybe it has some code useable?!
At bottom of this page:
http://www.vdr-wiki.de/wiki/index.php/Streamdev-plugin
you'll find links for download ... only could find german docu ;(
Lg
Roman

User avatar
arj
Site Admin
Posts: 2316
Joined: Thu Dec 01, 2005 8:51 pm
Location: Denmark
Contact:

Postby arj » Thu Aug 23, 2007 10:17 pm

Someone suggested something very similar recently, so some of this is duplication.

Sending output shouldn't be so hard. MMS can write an mpeg stream and I don't think it's very hard to hook that up with something like fluendo's streaming server. After that the problem is just sending commands back. Lirc can listen for network connections so it would probably be easiest to set that up.

I think this would be a very nice hack and would very much like to see someone putting some time into figuring out how to configure all of this. I need something similar, and currently I'm thinking of a solution with multiple input / output and then connect clients to the different output depending on preferred resolution and have them send commands back over vnc. The problem with this is mostly latency and the fact that vnc is somewhat simple (no very well optimized).

3x3
Posts: 18
Joined: Thu Aug 16, 2007 10:42 am

Postby 3x3 » Thu Aug 23, 2007 11:05 pm

Probably VLC could be adopted?
I see it can transcode and stream file to network:
http://www.videolan.org/doc/streaming-h ... l#id294657
And obviously can stream from network to file:
http://www.videolan.org/streaming-features.html
Also VLC is crossplatform and therefore any computers, even PDAs could be joined to translation:
http://www.videolan.org/vlc/

Question is will it able to use STDIN stream as file, or probably they have implemented streaming fuctionality as library.. Also i suppose that it will need somehow to control playback (pause,rewind etc) and to switch it's input to show MMS's menu - it could be problem.

Remote control from network devices can be implemented using lirc or custom program over any available protocol, it seem not so critical.


PS
Clients with different resolution is also good question.. As for me it looks like better to have one stream for both clients because my desktop uses ~50% CPU transcoding only one DivX stream, so i think transcoding two or more streams simultaneously would too much for it. I think decoding of full-resolution stream mustn't overload thin clients like PDA if they designed to play mpeg: not sure, but have feeling that mpeg-compression provide possibility to do not decompress frame in full, just up to needed level of detalisation, isn't it?

User avatar
Uatschitchun
Overlord
Posts: 3189
Joined: Tue Dec 06, 2005 6:55 pm
Location: Germany
Contact:

Postby Uatschitchun » Fri Aug 24, 2007 7:16 am

arj wrote:Someone suggested something very similar recently, so some of this is duplication.

Could be me ;)

What would be nice is the following:
Making MMS be able to run somewhat 'headless'. Just using a network-server-plugin as output and be able to run MMS daemonlike.
Other way round, one should be able to run MMS without no feature-plugin at all ... just input (keyboard, lirc, touchscreen, etc.) and network-client-plugin.

So all that has to be sent over network is the stream/communication between MMS and it's output plugins.
If this is in a broadcast way, multiple clients may connect and control simultaniously ... and if the data is sent "without" scaling infos (raw data), the clients may do the scaling themselves, making it possible to use different resolutions on different clients. One could even make the 'core' send scaled data (maybe with a switch) for slim clients or mpeg-data for MMS'less clients.

For the VNC idea, it could be worthful to take a look into VDR's graphtft-plugin! It uses MMS' code, has possibility to be touch-controlled, has a network client and work is going on for a VNC part ...

Homepage of graphtft
http://www.jwendel.de/vdr/

Wiki page (german only ;(:
http://www.vdr-wiki.de/wiki/index.php/Graphtft-plugin

Of special interest could be graphtft-fe which is a mouse/keyboard controllabe X-frontend for graphtft. Can run on a pc in network for to show and control graphtft:
see Homepage of graphtft ...

Here's the thread on VNC-patch to graphtft which implements a vnc-server that could be connected to with just any vnc client. It uses 'libvncserver' (http://libvncserver.sourceforge.net/)
http://www.vdr-portal.de/board/thread.php?threadid=62035

So far so good ...

As I'm not able to the code, maybe ideas are worthy, too :P
Lg

Roman


Return to “feature requests”

Who is online

Users browsing this forum: No registered users and 2 guests