Opened 4 years ago

Last modified 3 years ago

#6693 new defect

MXF (AVC-I or DNXH) file created by ffmpeg could not be recognized by Davinci Resolve 14

Reported by: Patrick Dung Owned by:
Priority: minor Component: avformat
Version: git-master Keywords: mxf
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
FFmpeg produce AVC-Intra MXF that could not be recognized in Davinci Resolve 14.
The file produced by ffmbc could be recognized in Resolve 14.

How to reproduce:
ffmpeg -i P1160144.MOV -vb 100M -vcodec libx264 -an -pix_fmt yuv422p10le -x264-params avcintra-class=100 -intra avc-intra-ffmpeg.mxf

ffmbc -i P1160144.MOV -vb 100M -vcodec libx264 -an -pix_fmt yuv422p10le -target avcintra100 -intra avc-intra-ffmbc.mxf

Note it is the same case for DNXHD MXF.

ffmpeg version N-87359-g67da268 Copyright (c) 2000-2017 the FFmpeg developers

built with clang version 3.9.1 (tags/RELEASE_391/final)

Change History (10)

comment:1 by Carl Eugen Hoyos, 4 years ago

Component: ffmpegavformat
Keywords: mxf added
Priority: normalminor
Version: unspecifiedgit-master

Feel free to find out what the issue is and explain it here, do not post code here or on the development mailing list that was written for ffmbc!

comment:2 by Chris, 4 years ago

Using MXFDump, I validated an MXF file created with ffmpeg and it reports footer partition is not defined at offset 0x1200, a file created with ffmbc does not fail for this validation.

D:\mxflib>MXFDump.exe --mxf-validate avc-i_1080i_2997_ffmpeg_an.mxf
MXFDump : KLV validation - passed.
MXFDump : local set validation - passed.
MXFDump : Warning : FooterPartition not defined - expected 0xd8e000, (following Body key at offset 0x1200).
MXFDump : MXF validation - passed.
MXFDump : Encountered 1 warnings.

avc-i_1080i_2997_ffmpeg_an.mxf:

[ K = Body ( 0000000000001200 )
06.0e.2b.34.02.05.01.01.0d.01.02.01.01.03.04.00, L = 104 (68), LL = 1 ]

Major Version = 0001
Minor Version = 0002

KAGSize = 00000200

ThisPartition = 0000000000001200

PreviousPartition = 0000000000000000

FooterPartition = 0000000000000000

avci_1080i_2997-ffmbc_an.mxf:

[ K = Body ( 0000000000001200 )
06.0e.2b.34.02.05.01.01.0d.01.02.01.01.03.04.00, L = 104 (68), LL = 4 ]

Major Version = 0001
Minor Version = 0002

KAGSize = 00000200

ThisPartition = 0000000000001200

PreviousPartition = 0000000000000000

FooterPartition = 0000000000d8e000

in reply to:  2 ; comment:3 by Carl Eugen Hoyos, 4 years ago

Replying to chrisj:

Using MXFDump, I validated an MXF file created with ffmpeg and it reports footer partition is not defined at offset 0x1200, a file created with ffmbc does not fail for this validation.

Can you confirm that this is the reason Davinci Resolve fails to open the file created with FFmpeg?

in reply to:  3 ; comment:4 by Chris, 4 years ago

Replying to cehoyos:

Can you confirm that this is the reason Davinci Resolve fails to open the file created with FFmpeg?

I tried to get clarification, but no luck so far, a user suggested to use bmxlib to wrap MXF instead of FFmpeg.

I also noticed in the Davinci error logs, the application was erroring on CDCIEssenceDescriptor, VerticalSubsampling which is missing from the FFmpeg MXF file, so that could be the true issue. That metadata is present in MXF files exported by FCPX & Adobe Media Encoder which import into Davinci.

in reply to:  4 comment:5 by Carl Eugen Hoyos, 4 years ago

Replying to chrisj:

Replying to cehoyos:

Can you confirm that this is the reason Davinci Resolve fails to open the file created with FFmpeg?

I tried to get clarification

This ticket is about an incompatibility with Davinci Resolve. You claim that the reason for this incompatibility is a missing footer partition (you would have opened a new ticket if you just wanted to report that a validation tool reports a missing footer partition in mxf files created with FFmpeg). To verify, you could use a hex editor to edit an mxf file working with Davinci Resolve so that it reports the same footer partition issue with the validation tool and test if it still works with Davinci Resolve.

comment:6 by Carl Eugen Hoyos, 3 years ago

Is this still reproducible?

in reply to:  6 comment:7 by Patrick Dung, 3 years ago

Replying to cehoyos:

Is this still reproducible?

I did a brief test with a recent ffmpeg-git (this week).
Davinci 14 can import the mxf file generated by ffmpeg, but the playback is blank in Davinci resolve.

comment:8 by Carl Eugen Hoyos, 3 years ago

Which version did you test?

comment:9 by Patrick Dung, 3 years ago

ffmpeg version N-91662-g9e61141905

comment:10 by Carl Eugen Hoyos, 3 years ago

Thank you for testing again!

Note: See TracTickets for help on using tickets.