-
06-10-2011, 06:21 AM #1Platinum Member
Achievements:



- Join Date
- Jan 2011
- Location
- Germany
- Posts
- 590
- Points
- 6,801
- Level
- 24
- Thanks
- 0
- Thanked 1 Time in 1 Post
- Rep Power
- 3
DLNA Interoperability and Mimetype
Hello,
in general I have a working setup with Philips 42PFL7695K/02 and a AVM Fritzbox 7390 as a Mediaserver and Windows Media Server on a PC in the network. Most of the formats are working.
But there is one sensitivity. I see that xvid coded video files can be played by the TV when it is played directly from USB Stick at the TV. They are played when choosing Windows Media Server as a Mediaserver over the network. They are not played when choosing AVM Fritzbox 7390 Mediaserver as a UPnP Mediaserver source over the network.
I have debugged that with UPnP Developer Tools (http://opentools.homeip.net/dev-tools-for-upnp) and the tool "AV Media Controller" from this tools package.
The protocolInfo of the same video, from Windows Media Server says:
http-get:*:video/avi: DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01500000000000000000 000000000000
The protocolInfo of the same video, from AVM Fritzbox 7390 Mediaserver says:
http-get:*:video/x-msvideo: DLNA.ORG_PN=AVI;DLNA.ORG_OP=01;DLNA.ORG_CI=0
I assume the different mime type as a source of the error.
So I have the questions:
Which mime type is expected for xvid coded files over the network?
Which is the correct mime type?
Should the Philips TV play files from mime type video/x-msvideo or should the AVM Fritzbox 7390 Mediaserver return another mime type?
As I can see, there is no hardware/software limition, since the video can be played over the network, but there is an incompatibility between different manufacturers. Please help to clarify those details.
MediaInfo of the video:
Format : AVI
Format/Info : Audio Video Interleave
Dateigröße : 700 MiB
Dauer : 1h 46min
Gesamte Bitrate : 919 Kbps
Video
ID : 0
Format : MPEG-4 Visual
Format-Profil : Advanced Simple@L5
Format-Einstellungen für BVOP : 2
Format-Einstellungen für Qpel : Nein
Format-Einstellungen für GMC : Keine warppoints
Format-Einstellungen für Matrix : Default (H.263)
Codec-ID : XVID
Codec-ID/Hinweis : XviD
Dauer : 1h 18min
Bitrate : 1 108 Kbps
Breite : 624 Pixel
Höhe : 336 Pixel
Bildseitenverhältnis : 1,857
Bildwiederholungsrate : 25,000 FPS
ColorSpace : YUV
ChromaSubsampling : 4:2:0
BitDepth/String : 8 bits
Scantyp : progressiv
Bits/(Pixel*Frame) : 0.211
Stream-Größe : 620 MiB (89%)
verwendete Encoder-Bibliothek : XviD 1.2.1 (UTC 2008-12-04)
Audio
ID : 1
Format : MPEG Audio
Format-Version : Version 1
Format-Profil : Layer 3
Codec-ID : 55
Codec-ID/Hinweis : MP3
Dauer : 1h 46min
Bitraten-Modus : konstant
Bitrate : 96,0 Kbps
Kanäle : 2 Kanäle
Samplingrate : 48,0 KHz
Stream-Größe : 73,1 MiB (10%)
Ausrichtung : Ausgerichtet an Interleaves
Interleave, Dauer : 24 ms (0,60 Video-Frame)
-
06-27-2011, 08:31 PM #2Platinum Member
Achievements:



- Join Date
- Jan 2011
- Location
- Germany
- Posts
- 590
- Points
- 6,801
- Level
- 24
- Thanks
- 0
- Thanked 1 Time in 1 Post
- Rep Power
- 3
When debugging this also with AVM, the manufacturer of Fritzbox 7390, we could find out, that the mimetype is not the root cause of the problem. They changed the mimetype, but it did not work.
I discovered, that the Fritzbox gives 00:00:00 as duration for the video. So there is a really bad message on the TV which does not really say the reason. What Gould the TV do if duration is 00:00:00? What would be the behaviour?
-
06-29-2011, 05:59 AM #3Moderator
Achievements:



- Join Date
- May 2010
- Posts
- 791
- Points
- 54,677
- Level
- 72
- Thanks
- 0
- Thanked 8 Times in 7 Posts
- Rep Power
- 10
Hi Smart
Sorry to hear about your experience. We are currently investigating your problem and will update you on the progress.
You will get a Message as soon as a Solution comes up.
Regards
ThEgForum Mod
-
06-29-2011, 09:04 PM #4Bronze Member
Achievements:


- Join Date
- Oct 2010
- Location
- Germany
- Posts
- 49
- Points
- 1,726
- Level
- 11
- Thanks
- 0
- Thanked 0 Times in 0 Posts
- Rep Power
- 0
Hi smart,
I've just tested a similar constellation as described (FritzBox 7240) and I'm able to reproduce this behaviour as well. However, the very same video files will run smoothly when playing them back via USB directly or by using any other DLNA DMS than the one of the AVM router (the AV media server of the UPnP dev tool should work for you as well).
The way it seems to me, the FritzBox gives invalidated parameters which brick the file's playback ability. Try feeding the affected video stream to the UPnP dev tools' AV renderer service after setting it up to accept video/x-msvideo MIME type: it won't play back at all.
However, a WMP12 instance does not seem to have problems with playing back those files.
After all, the FritzBox delivers a playback time of 0:00.00. I don't see any reason why the TV set should NOT have problems with that - it's an empty file for the TV set after all. I think that's were the issue originates. ANd this is supported by the fact that other DMS services are running fine and deliver correct file parameters.
-
06-30-2011, 05:12 AM #5Platinum Member
Achievements:



- Join Date
- Jan 2011
- Location
- Germany
- Posts
- 590
- Points
- 6,801
- Level
- 24
- Thanks
- 0
- Thanked 1 Time in 1 Post
- Rep Power
- 3
@ Philips: Great! Thanks for looking into it.
@l00pu5: Right, Fritzbox delivers a duration="00:00:00". First I did not see that when inspecting the network traffic. I'm a beginner with DLNA protocols. I just saw the difference in the mimetype and I found users which had trouble with devices just refusing to play a file because of wrong mimetype (http://mediatomb.cc/). For mediatomb, you can define mappings from file ending to mimetype in case you have trouble with it.
As I said, there is a ticket open at AVM, where they are looking into the problem. So they changed the mimetype for such files to video/avi to test if that is the case. This is in the newest beta firmware 84.05.04-20071 (http://www.avm.de/de/Service/Service...ebit_labor.php).
Seeing that this did not work, I had a second look at the network traffic. Then I saw that duration="00:00:00". I think, it is totally clear, that it does not make sense to play a file with 0 length. So this is a thing AVM should fix.
There is on thing Philips could/should improve: If trying to play the file, it says: "Ausführung nicht möglich. Nicht unterstützte Datei.". (English: "Execution not possible. Unsupported file"). A better message would be: "Length of the file is 00:00:00. Can't play the video." or: "Duration of the video is: 00:00:00. Can't play the video."
This would be better to understand and help to find the root causes of such problems.
-
06-30-2011, 05:24 AM #6Platinum Member
Achievements:



- Join Date
- Jan 2011
- Location
- Germany
- Posts
- 590
- Points
- 6,801
- Level
- 24
- Thanks
- 0
- Thanked 1 Time in 1 Post
- Rep Power
- 3
@ l00pu5: We should not only focus on the duration, since we do not know, what is the problem of the TV playing the file. It can be, that the duration is the problem. But if this is fixed, the TV can also refuse playing the file because of the mimetype. So if we can make sure, that both mimetypes should be playable or it has to be one of the two, we can solve the problem quicker.
The message, the TV prints out, says that the file is unsupported. This made me first look at the mimetype. Because the mimetype describes it type. If the TV had printed out "zero length", I would have looked at the duration first.
So both devices are not perfect and the user has to check the interface. Fritzbox gives some strange values and the TV error messages which does lead in the wrong direction.
-
07-03-2011, 07:35 PM #7Bronze Member
Achievements:


- Join Date
- Oct 2010
- Location
- Germany
- Posts
- 49
- Points
- 1,726
- Level
- 11
- Thanks
- 0
- Thanked 0 Times in 0 Posts
- Rep Power
- 0
Hi smart,
here's what I think about this topic.
First of all, the error message "Nicht unterstützte Datei" seems to be somewhat generic. It should only indicate that there might be something wrong with the file without giving details too specific for most users. If something like "invalid playtime duration" would be given on top of that as an error message, I think this statement will actually go far beyond the average consumer's horizon (I am fully aware that there are exceptions, though). If the average user (one who's not familiar with the internals of UPnP/DLNA) gets confronted with such a message, I assume he wouldn't know what to do next even if he had all the details at his hands (when playing the file on a PC, the duration will probably be shown in the video player application, and the consumer would be blaming the TV instead - no point here).
However, I fully agree that a few more details / hints to point the consumer in the right direction would be nice to have.
Regarding the 2 different MIME types mentioned throughout this thread: Twonky actually uses video/x-msvideo when streaming AVI files which worked for me while investigating on this behaviour. I also provoked those 2 MIME types with the same file on a DMS (one of my own - I'm developing UPnP software, by the way) while the file remained playable. I think the MIME's are definitely out of the game since the TV would handle both types just fine.
-
07-04-2011, 07:35 AM #8Platinum Member
Achievements:



- Join Date
- Jan 2011
- Location
- Germany
- Posts
- 590
- Points
- 6,801
- Level
- 24
- Thanks
- 0
- Thanked 1 Time in 1 Post
- Rep Power
- 3
Regarding the error message, I think adding a more specific detail to give support (Philips Support/Technical interested friends/Experienced users/Third party developers) won't make the TV look bad in the eyes of an inexperienced user.
It would be possible to combine the current generic message with some more details.
For the mimetypes, great that you were able to test that and reproduce that. I think, the mimetype is definitely out of the game, now.
Since you have a working test setup, would it be possible, that you can test the duration="00:00:00", without consuming too much time on your side?
I would be interested in hearing from your results!
-
07-08-2011, 08:18 AM #9Moderator
Achievements:


- Join Date
- Jun 2011
- Posts
- 555
- Points
- 10,990
- Level
- 31
- Thanks
- 0
- Thanked 5 Times in 2 Posts
- Rep Power
- 10
Hi smart,
Which software version do you have on your TV?
Thanks for your feedback!
Regards,Last edited by Philips - Remko; 07-08-2011 at 08:28 AM.
-
07-08-2011, 12:44 PM #10Platinum Member
Achievements:



- Join Date
- Jan 2011
- Location
- Germany
- Posts
- 590
- Points
- 6,801
- Level
- 24
- Thanks
- 0
- Thanked 1 Time in 1 Post
- Rep Power
- 3
Firmware is: 0.140.37.0
-
07-24-2011, 06:23 PM #11Platinum Member
Achievements:



- Join Date
- Jan 2011
- Location
- Germany
- Posts
- 590
- Points
- 6,801
- Level
- 24
- Thanks
- 0
- Thanked 1 Time in 1 Post
- Rep Power
- 3
Looking a little at other files, I saw that, there are other videos which are playable with the PhilipsTV, although the Fritzbox 7390 gives 00:00:00 as duration. So I would assume, with the logic of the mimetype, that this can't be the root of the problem.
@l00pu5: Your logic is not correct, that giving duration 00:00:00 should make any Player not play a file since it has 0 length.
There is also the file size given in the DLNA traffic, so the TV knows the files size. Then he knows that it is not empty, since file size is correct. Then the TV might wonder why duration is 00:00:00. But I do not know the implementation here.
So I'm asking me, what is the TV looking for to decide he can't play a file? Duration is 00:00:00 for some files which can be played. Changing the mimetype had no effect/no improvement.
The TV does flag the file as not playable with that x before I select it and try to play it. So I assume, that he does not read the file, it decides on metadata? Philips, can you please help on that?
-
07-25-2011, 07:07 AM #12Bronze Member
Achievements:


- Join Date
- Oct 2010
- Location
- Germany
- Posts
- 49
- Points
- 1,726
- Level
- 11
- Thanks
- 0
- Thanked 0 Times in 0 Posts
- Rep Power
- 0
Hi smart,
now thing's are startin' to get veeery interesting.
Do you have any possibility to share a playable file with playback duration 0:00.00 (maybe you have one that is rather small)? I'd like to have a closer look at it - unfortunately I only have files that won't play back...
BTW: I was not saying that a zeroed playback duration should brick playback on any renderer - it MIGHT cause trouble (which is an option, though).
Regards,
l00pu5
-
07-25-2011, 04:31 PM #13Platinum Member
Achievements:



- Join Date
- Jan 2011
- Location
- Germany
- Posts
- 590
- Points
- 6,801
- Level
- 24
- Thanks
- 0
- Thanked 1 Time in 1 Post
- Rep Power
- 3
Hello,
I have a file which can be played by the Philips TV from the Fritzbox 7390 MediaServer. Its duration field in the DLNA traffic packets is 00:00:00, given by the Fritzbox.
I found that out with Wireshark.
Real duration of the file is: 00:01:08, file size is round about 25MB.
MediaInfo:
Allgemein
Vollständiger Name : Z:\WD-2500BEVExternal-01\Public\Blu-ray Disc HD1080p.mov.mp4
Format : MPEG-4
Format-Profil : Base Media / Version 2
Codec-ID : mp42
Dateigröße : 24,4 MiB
Dauer : 1min 8s
Gesamte Bitrate : 3 002 Kbps
Kodierungs-Datum : UTC 2009-11-04 08:13:20
Tagging-Datum : UTC 2009-11-04 08:13:20
gsst : 0
gstd : 68823
gssd : B6DC1C00BHH1298153776069568
gshh : v24.lscache6.c.youtube.com
Video
ID : 2
Format : AVC
Format/Info : Advanced Video Codec
Format-Profil : High@L4.0
Format-Einstellungen für CABAC : Ja
Format-Einstellungen für ReFrame : 3 frames
Format_Settings_GOP : M=1, N=60
Codec-ID : avc1
Codec-ID/Info : Advanced Video Coding
Dauer : 1min 8s
Bitrate : 2 889 Kbps
maximale Bitrate : 6 687 Kbps
Breite : 1 920 Pixel
Höhe : 800 Pixel
Bildseitenverhältnis : 2,40:1
Modus der Bildwiederholungsrate : konstant
Bildwiederholungsrate : 23,961 FPS
ColorSpace : YUV
ChromaSubsampling : 4:2:0
BitDepth/String : 8 bits
Scantyp : progressiv
Bits/(Pixel*Frame) : 0.078
Stream-Größe : 23,5 MiB (96%)
Titel : (C) 2007 Google Inc. v08.13.2007.
Kodierungs-Datum : UTC 2009-11-04 08:13:21
Tagging-Datum : UTC 2009-11-04 08:13:21
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format-Profil : LC
Codec-ID : 40
Dauer : 1min 8s
Bitraten-Modus : variabel
Bitrate : 110 Kbps
maximale Bitrate : 135 Kbps
Kanäle : 2 Kanäle
Kanal-Positionen : Front: L R
Samplingrate : 44,1 KHz
Stream-Größe : 921 KiB (4%)
Titel : (C) 2007 Google Inc. v08.13.2007.
Kodierungs-Datum : UTC 2009-11-04 08:13:20
Tagging-Datum : UTC 2009-11-04 08:13:21
If you have a good suggestion about exchanging that file, I'm open to that.
-
07-25-2011, 07:34 PM #14Bronze Member
Achievements:


- Join Date
- Oct 2010
- Location
- Germany
- Posts
- 49
- Points
- 1,726
- Level
- 11
- Thanks
- 0
- Thanked 0 Times in 0 Posts
- Rep Power
- 0
Okay, I've had a closer look at the problem right now.
@ smart: thanks for providing the file, that really helped investigating this topic!
What I can tell right now is this:
When putting aside all generic parameters, the problem seems to be down to the protocolInfo string delivered by the AVM DMS.
Here's what I ended up with when comparing two files (1x non-playable via the FritzBox, 1x playable via the FritzBox despite the zeroed playback duration):
ITEM #1a (AVI / FB Media Server) -> not playable, crossed
upnp:class: object.item.videoItem
dc:title: 1956.12.15 - To Hare is Human (Jones) MM
Restricted: False
Media Class: object.item.videoItem
Object ID: 17_2
Parent ID: 17
contentUri: http://192.168.1.1:49100/mediapath/S...ones)%20MM.avi
duration: 00:00
protocolInfo: http-get:*:video/x-msvideo
LNA.ORG_PN=AVI;DLNA.ORG_OP=01;DLNA.ORG_CI=0
size: 67416714
ITEM #1b (AVI / FUPPES 0.660) -> playable
upnp:class: object.item.videoItem
dc:title: 1956.12.15 - To Hare is Human (Jones) MM
Restricted: False
Media Class: object.item.videoItem
Object ID: 0000001B9D
Parent ID: 0000001B9C
contentUri: http://192.168.1.34:4852/MediaServer...0000001B9D.avi
duration: 07:02
protocolInfo: http-get:*:video/x-msvideo:*
size: 67416714
ITEM #2a (MP4 / FB Media Server) -> playable
upnp:class: object.item.videoItem
dc:title: Blu-ray Disc HD1080p.mov
Restricted: False
Media Class: object.item.videoItem
Object ID: 17_4
Parent ID: 17
contentUri: http://192.168.1.1:49100/mediapath/S...D1080p.mov.mp4
duration: 00:00
protocolInfo: http-get:*:video/mp4
LNA.ORG_OP=01;DLNA.ORG_CI=0
size: 25637343
ITEM #2b (MP4 / FUPPES 0.660) -> playable
upnp:class: object.item.videoItem
dc:title: Blu-ray Disc HD1080p.mov
Restricted: False
Media Class: object.item.videoItem
Object ID: 000000147F
Parent ID: 0000001400
contentUri: http://192.168.1.34:4852/MediaServer...000000147F.mp4
duration: 01:08
protocolInfo: http-get:*:video/mp4:*
size: 25637343
What do we see here?
(1) both MIME types "video/x-msvideo" and "video/mp4" will be accepted by the TV when serving the files via FUPPES (I've tested the win32 build 0.660 that came pre-compiled from the official FUPPES homepage). => I conclude that the MIME type is not the issue here
(2) MIME type "video/mp4" will be accepted by the TV set when serving the file via the FritzBox DMS, despite the fact that the playback duration is still zeroed out. => I conclude that the playback duration being zeroed out is not the issue either (!)
(3) the only thing that differs is the DLNA.ORG_PN flag being "DLNA.ORG_PN=AVI" for the non-playable content served by the FritzBox
According to these facts, I conclude the following:
(1) the content will be playable if the flag "DLNA.ORG_PN=AVI" will not be included in the protocolInfo field by the AVM DMS (that's what most DMS applications currently do); I didn't observe this kind of behaviour with other DMS applications so far while this point was true for all of them (I think this more or less proves my theory here)
(2) the content's MIME type doesn't matter in this case
(3) the TV set SHOULD accept this content definition given in the flag (at least there's nothing that would in theory interfere with it since the set is capable of handling AVI containers)
-
07-26-2011, 11:20 AM #15Platinum Member
Achievements:



- Join Date
- Jan 2011
- Location
- Germany
- Posts
- 590
- Points
- 6,801
- Level
- 24
- Thanks
- 0
- Thanked 1 Time in 1 Post
- Rep Power
- 3
@l00pu5: Thanks for this really deep and close look into the problem! Your finding sounds reasonable, understandable and very helpful here!
So from my point of view, I would say we have two device which try to follow one standard to be compliant. Currently they are not. I have really no idea, what the right way is on this to follow the standard or if this is not specified in the standard.
1. Philips TV has a sensitivity on the flag "DLNA.ORG_PN=AVI" in protocolInfo string. Seems that the TV thinks, it can't play the video due to this flag. So the question for Philips would be: "Is there a need for this sensitivity we do not see from our point of view? If there is no real need, can it be ignored to be more failure tolerant/follow the standard?"
2. Fritzbox 7390 adds the flag "DLNA.ORG_PN=AVI" in protocolInfo string although it is not needed/creates problems on some devices. The question for AVM would be: "Is it really necessary to add this flag? If there is no real need, can it be removed to be more failure tolerant/follow the standard?"
I think both devices should be modified to be as much compliant to other devices. So we have some work items:
1. I will update the ticket at AVM and try to point them to our results.
2. Philips, can you please have a closer look at the implementation regarding this flag? Are those posts sufficient or should we also open a ticket at local country support?
Thanks to everybody working on that!

Reply With Quote

Bookmarks