wolfgangw / backports

Deep inspection of digital cinema packages
27 stars 12 forks source link

Fail harder for fractional frame rates? #106

Open matmat opened 7 months ago

matmat commented 7 months ago

I received this, clearly unplayable DCP. I don't know about any system supporting fractional frame rates for DCP playback. Maybe fail harder in a more clear way?

Excerpt from log (do tell me if you need the whole thing):


(...)

umber of Reels:  1
Reel 1:
183360  02:07:27:15 @ 23.976023976023978  Entry 00:00:00:00  a65320e6  MainPicture  (MXF Interop, 02:07:27:15, plaintext, 4096x2160, avg 106.48 Mb/s, max 139.95 Mb/s, pictures)
183360  02:07:27:15 @ 23.976023976023978  Entry 00:00:00:00  2e19a583  MainSound    (MXF Interop, 02:07:27:15, plaintext, 6ch 48kHz 24bps, RMS -34.49 dBFS |▃|▃|▄|▃|▃|▃|, Peak -2.04 dBFS |▇|▇|▇|▇|▇|▇|, audio)
Total duration:
183360  02:07:27:15 @ 23.976023976023978
Interop composition with non-24 fps edit rate (23.976023976023978)
CPL 988eb05c-0afa-4c45-abec-dcc86a91f8a1: Composition summary: "SUJO_FTR_F_QSM-XX_51_4K_EAF_20240109_CCM_IOP_OV", Interop, Plaintext, 2D, Full Container, 4K, Avg 106.48 Mb/s, 02:07:27:15, 23.976023976023978 fps
Composition complete ✅

(...)

Number of Reels:  1
CPL b8799330-5595-434c-a16c-18905ed6bb51: Reel 1: DCSubtitle 51478262-7c8d-4a80-8ace-aca24259efdd: Schema check: OK ✅
Reel 1:
183360  02:07:27:15 @ 23.976023976023978  Entry 00:00:00:00  a65320e6  MainPicture  (MXF Interop, 02:07:27:15, plaintext, 4096x2160, avg 106.48 Mb/s, max 139.95 Mb/s, pictures)
183360  02:07:27:15 @ 23.976023976023978  Entry 00:00:00:00  2e19a583  MainSound    (MXF Interop, 02:07:27:15, plaintext, 6ch 48kHz 24bps, RMS -34.49 dBFS |▃|▃|▄|▃|▃|▃|, Peak -2.04 dBFS |▇|▇|▇|▇|▇|▇|, audio)
183360  02:07:27:15 @ 23.976023976023978  Entry 00:00:00:00  51478262  MainSubtitle (DCSubtitle, 940 subtitles, 00:01:45:06 'There you are!' - 02:00:52:07 'You're the most [...]')
Total duration:
183360  02:07:27:15 @ 23.976023976023978
Interop composition with non-24 fps edit rate (23.976023976023978)
CPL b8799330-5595-434c-a16c-18905ed6bb51: Composition summary: "SUJO_FTR_F_QSM-EN_51_4K_EAF_20240110_CCM_IOP_VF", Interop, Plaintext, 2D, Full Container, 4K, Avg 106.48 Mb/s, 02:07:27:15, 23.976023976023978 fps
Composition complete ✅

(...)

Error: CPL b8799330-5595-434c-a16c-18905ed6bb51: Reel 1: DCSubtitle 51478262-7c8d-4a80-8ace-aca24259efdd: Spot 11: #<Timecode::RangeError: There can be no more than 22.976023976023978 frames @23.976023976023978, got 23.860139860139498>
Error: CPL b8799330-5595-434c-a16c-18905ed6bb51: Reel 1: DCSubtitle 51478262-7c8d-4a80-8ace-aca24259efdd: Spot 20: #<Timecode::RangeError: There can be no more than 22.976023976023978 frames @23.976023976023978, got 23.867132867132568>
Error: CPL b8799330-5595-434c-a16c-18905ed6bb51: Reel 1: DCSubtitle 51478262-7c8d-4a80-8ace-aca24259efdd: Spot 50: #<Timecode::RangeError: There can be no more than 22.976023976023978 frames @23.976023976023978, got 23>
Error: CPL b8799330-5595-434c-a16c-18905ed6bb51: Reel 1: DCSubtitle 51478262-7c8d-4a80-8ace-aca24259efdd: Spot 51: #<Timecode::RangeError: There can be no more than 22.976023976023978 frames @23.976023976023978, got 23>
Error: CPL b8799330-5595-434c-a16c-18905ed6bb51: Reel 1: DCSubtitle 51478262-7c8d-4a80-8ace-aca24259efdd: Spot 53: #<Timecode::RangeError: There can be no more than 22.976023976023978 frames @23.976023976023978, got 23>
Error: CPL b8799330-5595-434c-a16c-18905ed6bb51: Reel 1: DCSubtitle 51478262-7c8d-4a80-8ace-aca24259efdd: Spot 57: #<Timecode::RangeError: There can be no more than 22.976023976023978 frames @23.976023976023978, got 23>
Error: CPL b8799330-5595-434c-a16c-18905ed6bb51: Reel 1: DCSubtitle 51478262-7c8d-4a80-8ace-aca24259efdd: Spot 80: #<Timecode::RangeError: There can be no more than 22.976023976023978 frames @23.976023976023978, got 23>
Error: CPL b8799330-5595-434c-a16c-18905ed6bb51: Reel 1: DCSubtitle 51478262-7c8d-4a80-8ace-aca24259efdd: Spot 88: #<Timecode::RangeError: There can be no more than 22.976023976023978 frames @23.976023976023978, got 23.911088911088882>
Error: CPL b8799330-5595-434c-a16c-18905ed6bb51: Reel 1: DCSubtitle 51478262-7c8d-4a80-8ace-aca24259efdd: Spot 95: #<Timecode::RangeError: There can be no more than 22.976023976023978 frames @23.976023976023978, got 23.486513486510376>
Error: CPL b8799330-5595-434c-a16c-18905ed6bb51: Reel 1: DCSubtitle 51478262-7c8d-4a80-8ace-aca24259efdd: Spot 106: #<Timecode::RangeError: There can be no more than 22.976023976023978 frames @23.976023976023978, got 23>

(... lots of similar lines regarding subtitles ...)

Hint: CPL 988eb05c-0afa-4c45-abec-dcc86a91f8a1: Interop composition with non-24 fps edit rate (23.976023976023978). Playback may fail on very old legacy systems
Hint: CPL b8799330-5595-434c-a16c-18905ed6bb51: Reel 1: DCSubtitle: EditRate != 24 fps: 23.976023976023978 fps. Playback may fail
Hint: CPL b8799330-5595-434c-a16c-18905ed6bb51: Interop composition with non-24 fps edit rate (23.976023976023978). Playback may fail on very old legacy systems

(...)

Info: CPL 988eb05c-0afa-4c45-abec-dcc86a91f8a1: Composition summary: "SUJO_FTR_F_QSM-XX_51_4K_EAF_20240109_CCM_IOP_OV", Interop, Plaintext, 2D, Full Container, 4K, Avg 106.48 Mb/s, 02:07:27:15, 23.976023976023978 fps
Info: CPL b8799330-5595-434c-a16c-18905ed6bb51: Composition summary: "SUJO_FTR_F_QSM-EN_51_4K_EAF_20240110_CCM_IOP_VF", Interop, Plaintext, 2D, Full Container, 4K, Avg 106.48 Mb/s, 02:07:27:15, 23.976023976023978 fps

(...)

Info: Found 2 Packages with total size 101.0 GB
Info: Found 2 Assetmaps, 2 Packages (0 signed), 2 Compositions (0 signed, 2 plaintext/0 KDMs required)
Info: 122 Errors ❌, 3 Hints
wolfgangw commented 7 months ago

Have you tried playback? Does it actually fail on anything other than a DSP100?

matmat commented 7 months ago

On a Cat745/DSS200 system version 4.9.5 (2) it does not even ingest.

From the logs:

2024-01-13 22:40:31,362 WARN  [Thread-17323077] mxf.DecoderVideoSupport - Unsupported MXF file: JPEG picture essence not supported in 2D at 23.976FPS by USL. Picture essence metadata: (File: /var/showstore/content/GFF2024/SUJO_54529_b8799330-5595-434c-a16c-18905ed6bb51/ov/jp2k_a65320e6-f718-4d51-b7e2-0721c829a3c9_vid.mxf, Type: JPEG, Frame Rate: 24000/1001, Sample Rate: 24000/1001, Dimensions: 2D, Max Frame Size: 729654, Max Bit Rate: 139474536/1, Average Bit Rate: 3150601/1, Duration: 7640.0)

The GUI shows:

"SUJO_FTR_F_QSM-XX_51_4K_EAF_20240109_CCM_IOP_OV is corrupted. Please re-load before selecting."

sujo

wolfgangw commented 7 months ago

Thanks. (I was wondering because all those systems should be able to play the occasional olden MPEG DCP with 24000/1001 rate). Actually can't find anything specific wrt JPEG2000 frame rates in the Interop docs.

Yes, better reporting and Error class needed.

Is there a chance you could send me the package minus video/audio assets? Would like to look into those timecode RangeErrors.

matmat commented 7 months ago

Of course! Sent you an email.