octopuscinema / raw-player

Lightweight multi-platform video playback for reviewing RAW video footage from professional cameras.
https://www.octopuscinema.com/raw-player
MIT License
25 stars 0 forks source link

Not working with custom DNG files. #9

Closed schoolpost closed 1 year ago

schoolpost commented 1 year ago

Hello,

Appreciate the development of such a playback tool. Cannot seem to playback working with custom written DNG files.

Have run them through adobe's dngvalidate tool no issues there, and works in davinci, ACR, etc...

I've attached a sample folder of dng's

octopus-russell commented 1 year ago

Hi schoolpost, Thanks for sharing the .DNG frames - we were actually able to play back them back. There is a popup saying that the .DNGs don’t contain a framerate tag so it assumes 23.97fps for payback, but apart from that, it was ok. What was the issue you were having with the playback?

schoolpost commented 1 year ago

Hi schoolpost, Thanks for sharing the .DNG frames - we were actually able to play back them back. There is a popup saying that the .DNGs don’t contain a framerate tag so it assumes 23.97fps for payback, but apart from that, it was ok. What was the issue you were having with the playback?

I'm using Octopus-Raw-Player 1.0.3, I've tried 2 methods of playback:

  1. I have Octopus-raw-player as my default program for opening .dng files in Windows, when double-clicking a .dng file the player will open with a blank/white viewport for a few seconds and then simply close/crash.
  2. If I launch Octopus-raw-player standalone, then I drag the dng into the player; as soon as I click play the application will again close/crash.

Davinci resolve is able to detect the frame rate DNG tag just fine, I made sure to follow the cinemadng spec for the framerate tag within the .dngs ( should be tag 51044 or 0xC764 as an SRATIONAL )

The clip I linked above should play at 40fps.

schoolpost commented 1 year ago

Here is a log of Adobe DNG Validation tool on one of the .dng frames:

Validating ".\CINEPI_22-10-07_0341_C00000_000000020.dng"...

Uses little-endian byte order
Magic number = 42

IFD 0: Offset = 101312, Entries = 22

NewSubFileType: Preview Image
ImageWidth: 252
ImageLength: 134
BitsPerSample: 8 8 8
Compression: Uncompressed
PhotometricInterpretation: RGB
Make: "Raspberry Pi"
Model: "CINEPI-2K"
StripOffsets: Offset = 8
Orientation: 1 - 0th row is top, 0th column is left
SamplesPerPixel: 3
StripByteCounts: Count = 101304
PlanarConfiguration: 1
Software: "CINEPI"
SubIFDs: IFD = 101726
ExifIFD: 0
DNGVersion: 1.4.0.0
DNGBackwardVersion: 1.1.0.0
UniqueCameraModel: "CINEPI-2K"
ColorMatrix1:
      0.6250  -0.1244  -0.0684
     -0.3006   1.1592   0.1162
     -0.0131   0.1454   0.3392
AsShotNeutral: 0.3951 1.0000 0.5022
CalibrationIlluminant1: D65
NextIFD = 0

SubIFD 1: Offset = 101726, Entries = 17

NewSubFileType: Main Image
ImageWidth: 2028
ImageLength: 1080
BitsPerSample: 12
Compression: Uncompressed
PhotometricInterpretation: CFA
StripOffsets: Offset = 101984
SamplesPerPixel: 1
StripByteCounts: Count = 3285360
PlanarConfiguration: 1
CFARepeatPatternDim: Rows = 2, Cols = 2
CFAPattern:
    Blue     Green
    Green    Red
BlackLevelRepeatDim: Rows = 2, Cols = 2
BlackLevel:
      256.00   256.00
      256.00   256.00
WhiteLevel: 4095
*Tag51043: Byte, size = 8
    14 06 29 03 00 00 00 00                            ..).....
*Tag51044: Rational = 40/1
NextIFD = 0

*** Warning: Too little padding on left edge of CFA image (possible interpolation artifacts) ***
*** Warning: Too little padding on top edge of CFA image (possible interpolation artifacts) ***
*** Warning: Too little padding on right edge of CFA image (possible interpolation artifacts) ***
*** Warning: Too little padding on bottom edge of CFA image (possible interpolation artifacts) ***
Raw image read time: 0.018 sec
Linearization time: 0.002 sec
Interpolate time: 0.015 sec
Validation complete
octopus-russell commented 1 year ago

Thanks for sharing the additional information. Ah, apologies it seemed we only looked for the framerate in the first IFD entry. It is now fixed (in main branch) to check for the framerate tag in the first or 'main image' IFD entry.

Regarding the crash, this is likely unrelated to the .DNG - we were able to play back the sequence. We have an open bug where there is a crash relating to the accessibility of the .DNG folder's sibling folders - these are enumerated in advance for the next/previous clips. We'll have a fix for this soon which will hopefully also solve the issue you're having.

schoolpost commented 1 year ago

Thank you for investigating, glad I can help. I eagerly await release 1.0.4 with these fixes.

schoolpost commented 1 year ago

Fixed with 1.0.4, Thank you.