Opened 6 days ago

Last modified 6 days ago

#7539 new defect

Errors in MXF Output File (according to IRT HDF01 specification)

Reported by: robrt Owned by:
Priority: normal Component: avformat
Version: unspecified Keywords: mxf
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I have noticed a few peculiarities with MXF files that FFMPEG produces as output.

Running them through a Baton Content Verification System set to test against the IRT’s HDF01 specifications (cf. http://mxf.irt.de) results in a number of errors and I’m wondering if there is something that I can do about them myself e.g. by adding additional parameters to the FFMPEG command?

What I did first of all was to run a test-file by the IRT (which can be obtained from their website mentioned above) though Baton resulting in 0 errors.

Subsequently I ran the same file through FFMPEG without making any changes, i.e.

ffmpeg –i 1001-v1_HDF01a.mxf –codec copy –map 0 output.mxf

Running the output.mxf through Baton again produces a number of conformance errors, namely:

  • Container duration for essence track with track id 2 is not present. It should be present as per specification.
  • Index segment with index sid 2 present at offset 75200000 bytes has duration 252. It should be less than 240 as per specification.
  • 'ForwardIndexDirection?' is absent in one or more 'Index Table Segment sets' with IndexSID 2. It should be present as per specification
  • 'SingleIndexLocation?' is absent in one or more 'Index Table Segment sets' with IndexSID 2. It should be present as per specification
  • 'SingleEssenceLocation?' is absent in one or more 'Index Table Segment sets' with IndexSID 2. It should be present as per specification
  • Index segment with index sid 2 present at offset 150790144 bytes has duration 252. It should be less than 240 as per specification.
  • 'Sound Essence Coding' not found in Sound essence descriptor for track id 3. It should be present as per specification.

... and basically the same errors again for sid/track id 3-10 as well. Also:

  • Complete index segments are not present in footer partition. They should be present as per specification
  • Header Metadata size is '11264 bytes' in partition at offset 0 bytes. It should be 'atleast 2000000 bytes' as per specification.
  • 'IsRIPPresent' element is absent. It should be present as per specification

Also two MXF-Errors stating that...

  • Body Partition duration for partition number 2, BodySID 1, is 00:00:10:080.
  • Body Partition duration for partition number 3, BodySID 1, is 00:00:10:080.

(Specified criteria: Report as Serious if 'Body Partition Duration' more than 00:00:09:600)

I would love to provide the original file but am not sure if I may due to copyright concerns. Still the test file should be available for download on the IRT website and the output file can simply be recreated I suppose. However I attached ffmpeg's info about both the input an output file.

And help or additional information on this - namely why FFMPEG produces all of the aforementioned errors, if they are in any way serious and if there is a way to fix them is greatly appreciated.

Attachments (1)

cmd.txt (6.9 KB) - added by robrt 6 days ago.
cmd for both input and output file

Download all attachments as: .zip

Change History (3)

Changed 6 days ago by robrt

cmd for both input and output file

comment:1 Changed 6 days ago by cehoyos

  • Component changed from undetermined to avformat
  • Keywords irt hdf01 wrapper errors conformance removed

Please test current FFmpeg git head, nothing else is supported here.

How can I reproduce the conformance errors?

comment:2 Changed 6 days ago by robrt

The current FFmpeg git head unfortunately comes up with the same (alleged) errors in the output file, but thanks for letting me know I'm supposed to use this one.

Reproducing the errors is tricky I'm afraid as you'ld need to run the (afaik proprietary and pricy) Baton Content Verification System with the same test plan (ARD_ZDF_HDF01) as I'm being provided with here in order to get the same result.
Not sure what other tools checking MXFs for conformity one could use providing you with similar information, but i'll be looking into that.

I was hoping that merely posting the error messages could possibly be already of any help in giving you a clue of what is apparently expected to be in an MXF container and how and in which way the FFMPEG output file differs from that.

Also in order to ask the general question if there is a way of modifying the way in which FFMPEG builds the MXF container and wraps the essences therein.

Note: See TracTickets for help on using tickets.