After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 684791 - gupnp-dlna cannot compute MPEG profile of standard DLNA MPEG content
gupnp-dlna cannot compute MPEG profile of standard DLNA MPEG content
Status: RESOLVED OBSOLETE
Product: gupnp-dlna
Classification: Other
Component: General
0.12.x
Other Linux
: High normal
: ---
Assigned To: Jens Georg
GUPnP Maintainers
ivi
Depends on: 699219
Blocks:
 
 
Reported: 2012-09-25 16:02 UTC by Mark Ryan
Modified: 2021-05-17 17:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Mark Ryan 2012-09-25 16:02:58 UTC
Hi,

I'm unable to get gupnp-dlna to determine the DLNA profile of any of the standard DLNA MPEG test content.  The content is playable on my device and can be discovered by gst-discoverer-0.10.  Here an example of the sort of output I get when I run gupnp-dlna-info on one of the files:

gupnp-dlna-info -v /home/home/Videos/DLNA/MPEG_TS_SD_EU_ISO/O-MP2TS_SE_I-2.mpg

URI: file:///home/home/Videos/DLNA/MPEG_TS_SD_EU_ISO/O-MP2TS_SE_I-2.mpg
Profile Name: (null)
Profile MIME: (null)

Topology:
  container: video/mpegts, systemstream=(boolean)true, packetsize=(int)188
    audio: audio/x-ac3
      Codec:
        audio/x-ac3
      Additional info:
        None
      Channels: 2
      Sample rate: 44100
      Depth: 0
      Bitrate: 192000
      Max bitrate: 0
      Tags:
        taglist, audio-codec=(string)"Dolby\ Digital\ \(AC-3\)", bitrate=(uint)192000;
    video: video/mpeg, mpegversion=(int)2, systemstream=(boolean)false, parsed=(boolean)true, width=(int)480, height=(int)576, framerate=(fraction)50/1, pixel-aspect-ratio=(fraction)32/15, codec_data=(buffer)1e0240330ea62380000001b5148200010000000001b8, profile=(string)main, level=(string)low, interlaced=(boolean)true
      Codec:
        video/mpeg, mpegversion=(int)2, systemstream=(boolean)false, parsed=(boolean)true, width=(int)480, height=(int)576, framerate=(fraction)50/1, pixel-aspect-ratio=(fraction)32/15, codec_data=(buffer)1e0240330ea62380000001b5148200010000000001b8, profile=(string)main, level=(string)low, interlaced=(boolean)true
      Additional info:
        None
      Width: 480
      Height: 576
      Depth: 0
      Frame rate: 25/1
      Pixel aspect ratio: 32/15
      Interlaced: true
      Bitrate: 0
      Max bitrate: 0
      Tags:
        taglist, video-codec=(string)"MPEG\ 2\ Video";

Duration:
  0:01:05.834977393


I can make gupnp-dlna-info return the correct profile if I remove/modify some of the fields in mpeg-ts.xml.  I guess either GStreamer is returning the wrong information or the .xml files are too strict.

BTW., I'm using GStreamer 0.10.36
Comment 1 Jens Georg 2012-09-26 06:47:54 UTC
There is a relaxed mode in gupnp-dlna that mostly disables bitrate matching as there are a lot of broken files out there.

Which values did you need to modify?
Comment 2 Mark Ryan 2012-09-26 09:25:00 UTC
bitrate was one of the parameters I needed to change.  However, I also needed to add a rate and a missing profile.  This way I was able to get gupnp-dlna to correctly determine the DLNA profile of all the files in MPEG_TS_SD_EU and MPEG_TS_SD_EU_ISO.  There is still work to do for the remaining MPEG files  however.

I have access to the test content so I can provide patches to the relevant xml files for review if this would be helpful.

BTW., is the relaxed mode used by Rygel?
Comment 3 Jens Georg 2012-09-26 10:37:27 UTC
Yes, Rygel uses relaxed mode as most files don't have a proper bitrate (which might be a GStreamer issue, but well).
Comment 4 Mark Ryan 2012-09-26 12:15:17 UTC
Just to clarify using the -r flag of gupnp-dlna-info only allowed me to detect the DLNA profile of 1 of the 10 files in MPEG_TS_SD_EU and MPEG_TS_SD_EU_ISO so I think we will need to update mpeg-ts.xml.
Comment 5 Michael Hasselmann 2013-02-22 09:28:43 UTC
Shouldn't Rygel use a strict mode first before falling back to relaxed mode?
Comment 6 Jens Georg 2013-02-24 12:58:59 UTC
nah, that would be counter-productive in the normal non-certification use-case, i.e. for home users
Comment 7 Jens Georg 2013-04-18 10:13:11 UTC
By "any mpeg file" do you mean everything that's returned with "find -name *.mpg" in the Video subfolder or just the SD_EU_* variants?
Comment 8 Mark Ryan 2013-04-18 10:26:54 UTC
With the -e and -r flags the profile of 31 out of 185 can be computed. That count includes the .wmv and and .mp4 files as well.
Comment 9 Jens Georg 2013-04-23 07:42:00 UTC
so this is more "please fix gupnp-dlna to recognize all standard content"? :)
Comment 10 Mark Ryan 2013-04-23 07:51:52 UTC
Basically, yes.
Comment 11 Jens Georg 2013-05-06 10:43:53 UTC
Some fixes on master now:

- f392b13cf8f50411d51f79f1635de9ca352e45a5 and a3212c4fa4a71094be91c2f8ebfd345a3c688195 should fix profile detection for MPEG_TS_SD_EU

- 7591cca1992c08e8cb5b69665cf0e833b255fa2f fixes PNG matching
- 46ef86fbd41b0222a25c5df4ceed04871294ad33 fixes AAC MULT5 matching
. 39730d90aff276ccbc58dd045e04674c115607b6 works around a "regression" in GStreamer 1.0 (bug 699212) that broke ADTS matching
- 2e052ade9012b93d0982071f7f17a55a77ea08a9 works around an issue in GStreamer (bug 699586) bug that broke WMA matching.

On top of that, GStreamer 1.0.x currently does not support WMA files with more than 6 streams; this is fixed in GStreamer master (http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1a83c7a36a7e4c7b882a68805803aec000ea4a37)
Comment 12 Jens Georg 2013-05-06 10:53:02 UTC
Btw, one of the WMAFULL testfiles has a bitrate that is discovered a bit too low for it to be matched to the WMAFULL profile, it's not 256 but 192. Otherwise, with the above changes, all audio files (apart from LPCM, obviously) should be matched properly now
Comment 13 Jens Georg 2013-05-06 14:59:57 UTC
It looks like GStreamer is not providing enough information on WMV video to properly guess the profile (level is missing, video bitrate not available, though that's probably bug 699219 as well). 

Plus, to get the WMV specification you have to get a license from MS, although one could probably get the most important information from  http://en.wikipedia.org/wiki/VC-1, hoping that VC-1 is similar enough with WMV9
Comment 14 Jens Georg 2013-05-07 12:33:45 UTC
1b6c60e and c98ca2d add support for MPEG_TS_SD_{EU,NA} profiles.

Some issues:
 - We can't distinguish EU/NA (without any suffix) from EU_T/NA_T since there's no means to decide whether the timestamps are valid or not
 - I've no clue how the korean variants are supposed to differ from the north american.
Comment 15 Jens Georg 2013-05-07 13:11:25 UTC
So with master we now have:

0.10.1:
  - Strict: 163
  - Relaxed: 191

Master:
  - Strict: 182
  - Relaxed: 285

That's of course including the _KO_ profiles matching the _NA_ profiles and _T matching non _T in relaxed mode.
Comment 16 Jens Georg 2013-06-10 09:30:33 UTC
Most of this has been released in 0.10.2. JP is missing though; GStreamer has various issues with the files and we need to find a way to provide sample files.
Comment 17 GNOME Infrastructure Team 2021-05-17 17:04:52 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gupnp-dlna/-/issues/3.