I tried the Mediatomb 0.7.1 with DSM-320 v1.05, so far I got:
1. the jpeg picture is OK to view
2. the mp3 is OK to play out
3. the vob file is OK to play out
But the MP4 file will lockup DSM-320 again. And DSM-320's media server works fine with MP4 file.
I am sure DSM-320 is version 1.05, and mediatomb is version 0.7.1. They are all latest version.
Please help to find the solution to play mp4.
Jason, I found a similar problem with ogg vorbis files and described the problem and fix in:
You might try that approach with your mp4 files, ie:
- check what UPnP class is being allocated to your file by the mediatomb server;
- if UPnP class is "object.item" this will kill the DSM-320 player when the file is played (this is a bug in the DSM-320 firmware, not mediatomb);
- so you need to change "object.item" to "object.item.audioItem" (or "object.item.videoItem" if video content);
- there are one-off and permanent approaches to achieve this change -- see the two suggestions in the above post.
I looked at the D-Link mediaserver again, it sets "object.item.videoItem.movie" as upnp class for video files. so you may try to use that, if only "object.item.videoItem" fails...
please report any further problems :)
I change mapping to "object.item.videoItem.movie". But I find all the mp4 files are the "object.item" class. So they are all not playable by DSM-320. So it seems the mp4 files are not correctly recognized by 0.7.1 release.
ok I might have an idea... can you please open a terminal and execute: "file -i yourfile.mp4" ?
please post the mimetype of your file...
if it does not start with video/ then this is probably the reason why the class is not being set.
if my assumption is right, add the mapping to the config file, then it should work...
please keep us posted, thanks
I just find it is a bug in src/content_manager.cc, the mime_type is not cut down correctly by get_mime_type function. I can fix it by myself and will let you know if it is fixed or not.
I modify the get_mime_type and the mp4 files mapping is correct. I can play them with DSM-320 now.
Thanks for your help
That's encouraging news (albeit a bit dated), but seems the thread loses track of this fix - Has this fix ever been considered for the build? If Jason got his MP4s playing on his DSM320, what do we know about his fix?
could you please e-mail me a patch/fixed version of the file so I know where we screwed up? :)
email is sent.
I need something more:
1. add presentation
2. add a directory configuration, the directory is for media files, no need to browse the whole system tree
3. add a way to refresh the object database after add or delete media files
Thanks, got the mail!
1. sorry, what exactly do you mean? do you mean the presentation URL in the device descriptoin XML, or something else?
2. hmm, not a bad idea... we will try to get it in for the next release.
3. yes.. :) this is planned, we also plan to implement FAM support (however FAM will probably come in later, a simple rescan function will do for the beginning)
actually we have lots of ideas, also transcoding and at least basic thumbnail support is on our minds... so we just have to set the priorities on when to do what :) currently we are preparing the next release, which will introduce ID3 tag support and scriptable virtual containers - you will be able to create your own server layout (for example, having an All Audio Files container, or only mp3's in one container and ogg files in another and so on...)
By the way.. does anyone know a good library to retrieve metadata from video files? I could not really find anything useful so far
For 1, I mean the SSDP advertisement, it seems not found by my XP client when it started
And when will the new release come?
1. that should work.. that is handled by the UPnP SDK anyway... on your Linux box, try (assuming that the interface where the server is running is eth1):
route add -net 220.127.116.11 netmask 255.0.0.0 eth1
ifconfig eth1 allmulti
does it help?
As for the date for the next release: I honestly can not give any exact date - depends on how much spare time we will have... should nowever not take too long, we are quite far with the implementation, but there are of course lots of tiny things that must be taken care of. Very roughly I would say 1-2 weeks? We will try.. :)
I find it missing the first line in device desc xml:
<?xml version="1.0" ?>
So XP client may treat it as abnormal.
This shall be a bug in upnp lib, it has to be fixed, otherwise mediatomb device will never show out in XP clients.
I just fix this xml problem in libixml. So the XP client can find it and presentation works too.
well.. since I already put up libupnp rpm's with one patch, I think I can add your patch as well... could you please send it to me?
for the distant future we are playing with a thought of writing an own upnp stack/sdk, but well.. not anytime soon :)
In fact, I just made a work around by adding another function when print out xml node for xml string. So maybe I will look deep into the ixml code for the exact bug there.
I find another problem when it works with DSM-320.
I want to view the jpeg photos while playing mp3 music. Then:
I can not go sub directory by DSM-320 while it playing mp3 music, DSM-320 will show error "Unable to access this folder".
But somehow I break down to sub directory of photos, and when I select a photo, the mp3 stop.
The DSM-320 media server allow me to play mp3 and view photo at same time.
hmm. I will have to investigate that... have get to the place where I can test it with the DSM 320 again, since I do not own one myself.
A question: have you patched the config.h of the UPnP SDK, or are you using the default settings?
I noticed that with default configuration it is very slow at serving multiple simultaneous requests, maybe that is the problem?
Yes, you are right. I patch the config.h, the go up/down the directory works faster. But the mp3 still stops playing when I view the photo. So any solution?
hmm, well, no idea. I can download multiple files from the server at the same time, so streaming from multiple clients should not be an issue...
I will investigate the problem, hopefully then I will be able to find out what is going wrong. I will try to look at it tomorrow when I get a chance to test it with the DSM-320 again.
Now the most wanted feature for me is:
A simple method or interface to specify one media directory in mediatomb, instead of using web client. And a method to update the content of the storage for the media directory when files are added or deleted.
So will you support this feature in next release? Or you can give me some direction how to modify current release to do that?
2 new problems found when test with DSM-320:
1. The jpeg photo is not full TV screened, but D-Link media server show photo in full TV screen.
2. The Fast Forword and Rewind of video in DSM-320 do not work properly with mediatomb media server.
1. watching photos while playing mp3
--> well, this indeed only works with the D-Link server, I tried PMM and it failed there also. (btw does it work with Twonky?)
my assumption is the following: they use hardcoded object id's to recognize the special movies, pictures and music containers (you see the difference before navigating into the server - with D-Link server you have a big list with music/video/photo/online media, with all other server you only have MyMedia and OnlineMedia)
when pressing the "Photo" key on the DSM320 remote control it sends out a browse request for the "0\Photo\" object id - so it is hardcoded on the unit.
So theoretically it would work, if we could fake it, however we use numeric object id's on our server so we can not easily change that. I will howerver talk to Gena, if we will think of some way on how this could be configured.
2.) A simple method or interface to specify one media directory in mediatomb, instead of using web client.
-->you mean something on the command line? we do plan to bring out a set of utilities, that would work from command line, however right now it is not on top of the list... I don't really know what to tell you as far as giving you a hint on how to put this in. There are various possibilities to implement such a thing... the easiest way would probably be, to write simple command line tools/scripts that would send http requests to the server and more or less "simulate" requests from the UI.
the web ui however has a shortcut - you can enter an absolute path in the input field on the bottom of the page and hit the "Add" button, it will add this path and all media recursively.
3.) And a method to update the content of the storage for the media directory when files are added or deleted.
--> I will try to get this feature into the next release, it's not in yet because it is tied to the virtual folders implementation which is being finalized now.
4.) The jpeg photo is not full TV screened, but D-Link media server show photo in full TV screen.
--> again.. there is nothing we do wrong here, it's the DSM that is not satisfied with the default specification. Also here I rechecked it with other commercial servers and had the same result - you are right, it does not show the image in full screen, it only does so with their own server.
I looked at the XML of the D-Link server, they use some self-defined <DA/> tag which holds various information about the image. Since this is not documented anywhere, i can not really say what it does, but I am pretty sure that this is the reason - they look for some stuff there and decide to scale the image fullscreen depending on the values there. Of course I can only guess since there is no documentation on this.
5.) The Fast Forword and Rewind of video in DSM-320 do not work properly with mediatomb media server.
--> sorry, I can not confirm that. I tried fast forwarding/rewinding an mp3 and a divx movie - both worked fine. Are you sure that you can fast forward/rewind the same mediafiles when you use the D-Link server?
get a Streamium ;)
no, just kidding :) We will try to extend the configuration possibilities of our server so we can provide some sort of "presets" that are tuned to a specific player. I think that would be a nice and flexible solution. Nevertheless, I have to say that the DSM is quite a pain if I compare it to the Streamium... but anyway, we'll try to do our best to keep hacks out of our code but on the other hand make the server work with the widest variety of players.
Thanks again for your input, keep posting :)