News:

Latest versions:
Server plugin: 0.5.1
MVP dongle: 0.5.2
Raspberry Pi client: 0.5.2
Windows client: 0.5.2-1

Main Menu

Vomp media player

Started by avvdr, March 14, 2007, 15:52:25

Previous topic - Next topic

AndersF

Hi,

The new Media Player functionality is a nice enhancement to the Vomp. It would be nice to be able to use UPNP together with the Vomp.
Is it somehow possible to unpack a dongle so that I can add fusermount/djmount from MVPmc and pack it again?


I would also like to look into the design of Vomp/VDR, are there any good links describing the design, especially the protocol between VDR and VOMP?

Best regards and thanks for the Vomp
Anders

avvdr

Hi Anders,
QuoteIt would be nice to be able to use UPNP together with the Vomp
hmm - what would be the use case for it?
vomp has an own limited - but very functional, stable and fast GUI application. How should the UPnP fit into this?
It would require some development effort within the client. A long time ago I tried something with mvpmc - but it was very slow and buggy. For vomp I decided to start going another way. With the current solution we have full control over both the client and server side - and we can freely decide what to do where.
What I'm currently thinking about is to make a small standalone server part (already available in a firts version in the latest patches), that only contains the media player (server) functions and can run without VDR (I've got a DS101j NAS and my goal is to have the server running on this one in the future). So my alternative is:
Compile the server part for your device that has the data (even windows should not be to difficult) - and use VOMP as it is.
QuoteI would also like to look into the design of Vomp/VDR, are there any good links describing the design, especially the protocol between VDR and VOMP
Basics (and the devenev that enables you to create an own dongle - what is quiet simple thanks to Chris's great work) can be found here:
http://www.loggytronic.com/vomp.php
For the protocol there is not much description there (utf-rts ;) )
If you have any question - just try to ask them here - lots of people will answer...
Regards
Andreas

AndersF

Quote from: avvdr on November 27, 2007, 20:14:47

Quotehmm - what would be the use case for it?
One good thing about UPNP is that it is a standard. By using a standard protocol between Set-top box and the server one could use the set-top box without
the need for set-top box specific components on the server.
With the support for UPNP on the Vomp I could use my NAS (Qnap TS-109) as media server without doing anyting on the NAS.
UPNP with its' support for advertising Media servers in the network adds additional flexibility. The Vomp would be able to find several Media servers in the network without the need for configuration of servers' IP addresses. For exampe the NAS could provide my own made films and a MythTV server or VDR the TV shows.

Quotevomp has an own limited - but very functional, stable and fast GUI application. How should the UPnP fit into this?
I got the impression that the Vomp Media player browsed a file system (NFS mounted or locally stored)
If it was then djmount would have made it transparent to Vomp whether UPNP was used or not, since the interface to djmount is the file system.


QuoteWhat I'm currently thinking about is to make a small standalone server part (already available in a firts version in the latest patches), that only contains the media player (server) functions and can run without VDR (I've got a DS101j NAS and my goal is to have the server running on this one in the future). So my alternative is:
Compile the server part for your device that has the data (even windows should not be to difficult) - and use VOMP as it is.
Nice, but then I need to dig into how to add new software to the TS-109, which is supported by NSLUG2 so it is doable.
When I bought my NAS I had the ambition to stay away tweaking it and just use it as it is, since it stores my valuable private films and fotos.


QuoteFor the protocol there is not much description there (utf-rts ;) )
If you have any question - just try to ask them here - lots of people will answer...
Of course the code is there to find out the details. It would be interesting to know high level  information about the protocol, like if it is a binary or a textal protol. TCP or UDP, etc. without digging in to the code.

Regards
Anders

muellerph

Quote from: AndersF on November 28, 2007, 09:34:50
Quote from: avvdr on November 27, 2007, 20:14:47
Quotevomp has an own limited - but very functional, stable and fast GUI application. How should the UPnP fit into this?
I got the impression that the Vomp Media player browsed a file system (NFS mounted or locally stored)
If it was then djmount would have made it transparent to Vomp whether UPNP was used or not, since the interface to djmount is the file system.
How about setting up the UPNP protocol on the server plugin? Should also do the trick, but for sure a bit more tricky than on the client.

Vomp client doesn't do any NFS or similar things. Vomp client gets the data directly from the serverplug-in within an own protocol (binary for sure, the client needs to be highly efficient). The server plugin gets the data from the local FS, which could for sure be a mounted NFS directory.
This avoids having a full blown UPNP implementation on the client.

But for sure, some code exists already for the MVPMC project (MythTV as server). Similar project, but different codebase. Only some structures are equal.

Till some months ago, we couldn't use UPNP because of the kernel/compiler dependencies, which is now solved (but still patches are needed for the kernel AFAIK). So basically if you want to have a look into code merge from MVPMC there is a starting point.

Code:
The client has a lot of sourcecode, but not the server. As the server is one side of the protocol, it's much easier to look at and find the relevant things.
I don't think it's too much to read and understand (but for sure I didn't do that yet in detail - I'm not working with the protocol stuff).

AndersF


QuoteHow about setting up the UPNP protocol on the server plugin? Should also do the trick, but for sure a bit more tricky than on the client.
This would make traffic go from NAS to Media Server and from Media server to MVP. Wasting bandwidth, but maybe functional on 100Mb network.
Another solution would be to run a Media server and UPNP client on localhost. But I guess the Vomp does not support multiple Media servers?

QuoteVomp client doesn't do any NFS or similar things. Vomp client gets the data directly from the serverplug-in within an own protocol (binary for sure, the client needs to be highly efficient). The server plugin gets the data from the local FS, which could for sure be a mounted NFS directory.
This avoids having a full blown UPNP implementation on the client.
Are you sure there is not multiple protocols, like a telnet/text based protocol for listing media files and a binary protocol for the actual media access?
I believe I have seen a telnet interface in the Vomp code!

QuoteBut for sure, some code exists already for the MVPMC project (MythTV as server). Similar project, but different codebase. Only some structures are equal.
There are pro's and cons when comparing the two. I would prefer to use one of them. Since I've good experience in using Vomp, the Media player functionality adds momentum to the Vomp solution!

QuoteTill some months ago, we couldn't use UPNP because of the kernel/compiler dependencies, which is now solved (but still patches are needed for the kernel AFAIK). So basically if you want to have a look into code merge from MVPMC there is a starting point.
OK! I will look in to it, but I doubt I will have time to conclude anything useful

QuoteCode:
The client has a lot of sourcecode, but not the server. As the server is one side of the protocol, it's much easier to look at and find the relevant things.
I don't think it's too much to read and understand (but for sure I didn't do that yet in detail - I'm not working with the protocol stuff).
OK Thanks!

muellerph

Quote from: AndersF on November 28, 2007, 14:20:47
Another solution would be to run a Media server and UPNP client on localhost. But I guess the Vomp does not support multiple Media servers?
You can have more than 1 vompserver, but need to choose which one you use at then popping up login screen. This is more or less currently only used for development.

QuoteAre you sure there is not multiple protocols, like a telnet/text based protocol for listing media files and a binary protocol for the actual media access?
I believe I have seen a telnet interface in the Vomp code!
I was assuming you meant something like XML transfers. But look at the code, you will see how it is. E.g. you can get a clue here.
The client has the busybox telnet implementation.

avvdr

Hmm,
interesting discussion...
QuoteI got the impression that the Vomp Media player browsed a file system (NFS mounted or locally stored)
If it was then djmount would have made it transparent to Vomp whether UPNP was used or not, since the interface to djmount is the file system.
OK - would not be too difficult (at least in the moment) to add some code to make the media player also access files on the client side.
Needs some thinking how to be configured - but in the moment it's just 3 functions:
- list a directory
- open a file
- get a block from the file
The more tricky thing would be how to set up the lower layer part.
What I'm afraid of:
If the djmount (didn't deal with it until now) would be slow/ would wait when searching it would block the whole client. When I was using this with mvmpc (and my DS101j which has an UPnP server too) it was really annoying.
@AndersF - if you would like to try something we could make a small interface at the client where code could be plugged in for local file access.
QuoteAre you sure there is not multiple protocols, like a telnet/text based protocol for listing media files and a binary protocol for the actual media access?
I believe I have seen a telnet interface in the Vomp code!
At the end the protocol is all binary.
Just look into vdr.cc on the client side - there you can find all the code.
Basically it's always a (synchronous) request from the client awaiting a response from the server. No parallel transfers in the moment - so you always have to deal with "small" blocks - but this is OK for easy error detection.
QuoteHow about setting up the UPNP protocol on the server plugin? Should also do the trick, but for sure a bit more tricky than on the client.
Would be possible of course - but I would not really like it due to the doubled network load (and again - the same fears) - so maybe this would need separate threads and all the stuff to make it still responsive.
At the end my favorite solution would be some code on the client if we can assure that the vomp will not get blocked from strange things with the media servers...
Currently I'm working on the picture viewer (speed, scaling, colour tunig and exif orientation) - the next will be parallel pictures and audio, then video.
Everything  else (from my side) afterwards.

Regards
Andreas

muellerph

Quote from: avvdr on November 30, 2007, 17:10:51
Currently I'm working on the picture viewer (speed, scaling, colour tunig and exif orientation)
This is my favorite and you will be my hero  ;D

avvdr

Hello all,
a new version of the media player extensions is available at
http://www.wellenvogel.de/software/vomp/index.html#Update20071202.
It contains improvements for the picture Viewer:

  • better scaling
  • (some) faster loading
  • exif orientation support
  • pause resuming slide show
  • colour tuner
  • code reorganization
All patches are still against cvs of 2007/11/18, rebase to newest will follow. A dongle is included.

Feedback is highly welcome.
Regards
Andreas

Fourty2

#99
Hi,

maybe you should use a "standard colour-test" picture, as the "DQ-Tool" Image

42

avvdr

Hello all,
today I finished a new version of the mediaplayer (basing on current cvs).
The major new features are:

  • audio and picture in parallel
  • playing directories recursively
  • exif orientation
  • colourtuner
  • better scaling
  • completely internal rewriting (OK no feature...)

The complete set of patches can be found as usual at:
http://www.wellenvogel.de/software/vomp/index.html#Update20080106
Any feedback is highly welcome.

Regards
Andreas

Harry

hi and thank you for your fine additions!

just out of curiosity:
did you have time to implement this?
Quote from: avvdr on October 01, 2007, 19:49:15
[...]
1. config file issue
I could imagine to be able to combine entries from both files - i.e. having some of them in the server conf file and some in the client specific ones. Could be done easily.
[...]

users always cry for more ;)
cheers
Harry

avvdr

Hi Harry,
it's still on the list...
I had to decide whether to release the things I have or not -Holidays are gone now, so time gets limited again...
Prio 1 for me currently is Video.
The cfg file issue is one of the next..

Regards
Andreas

hondansx

#103
@avvdr
Quotehttp://www.wellenvogel.de/software/vomp/index.html#Update20080106

a small typo.
To download patch-media-all-cvs080106.txt.gz, I see patch-server-all-cvs080106.txt.gz for download.

Cheers,
Walter
GA-EP43 | headless | 1xCineS2 Dual | 1xSkystar 2.6D | VDR 1.7.37 
Frontend: 1xRasperry | 1xION3

avvdr

QuoteTo download patch-media-all-cvs080106.txt.gz, I see patch-server-all-cvs080106.txt.gz for download.

Should be OK now.
Sorry
Andreas