Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NukeStudio Results #4

Open
camkerr opened this issue Dec 17, 2024 · 1 comment
Open

NukeStudio Results #4

camkerr opened this issue Dec 17, 2024 · 1 comment

Comments

@camkerr
Copy link

camkerr commented Dec 17, 2024

Description

I have run the test suite through NukeStudio. I have discovered some discrepancies with some of the time warps. I have attached my time_warp_test.nuke_studio.ocr_results.txt file with the full output. I was really hoping that these would get imported as Timeline Soft Effect but they are done as changes to Clip Speed.

Summary of Issues

  1. Some time warp effects not yet supported in NukeStudio. The trim-to-fill effects all throw warnings upon import. Likely related to Trim-to-fill time warp effects appear as the wrong type #2

  2. If NukeStudio cannot find a frame for a particular file, it will display and render a black frame. This is fine, but must be kept in mind when comparing ocr results to other host applications. Some host applications may just hold the last available frame.

  3. Freeze Frames have incorrect source media values.

  4. Most time warps effects either double up or skip different frames when compared to Media Composer.

Detailed Test Suite Report

Legend

  • ✅ Time Warp Matches
  • ❌ Time Warp Does Not Match

Clips From Test Suite

  • ✅ Full clip (no effects)
  • Segments:
    • ✅ Segment at start (no effects)
    • ✅ Segment in middle (no effects)
    • ✅ Segment at end (no effects)
  • Freeze frames:
    • ❌ Freeze frame at start
      • Error: Rendered frame held on first frame of clip. Src In incorrect value of 00:00:11:00
    • ❌ Freeze frame in middle
      • Error: Rendered frame held on first frame of clip. Src In incorrect value of 00:00:11:00
    • ❌ Freeze frame at end
      • Error: Rendered frame held on first frame of clip. Src In incorrect value of 00:00:11:00
  • Linear time warps by percentage
    • ✅ Identity 100% speed
    • ❌ Slow down to 99% speed (is 1 frame repeated?)
      • Error: Time warp is applied but the frame that gets doubled up differs.
    • ❌ Slow down to 90% speed
      • Error: Time warp is applied but the frame that gets doubled up differs.
    • ✅ Slow down to 50% speed
    • ❌ Slow down to 10% speed
      • Error: Time warp is applied but the frames that get held differ.
    • ❌ Speed up to 101% speed (is 1 frame skipped?)
      • Error: Time warp is applied but the frames that gets skipped differ.
    • ❌ Speed up to 110% speed
      • Error: Time warp is applied but the frames that gets skipped differ. Black frames at end of clip.
    • ❌ Speed up to 2x (200%) speed
      • Error: Time warp is applied and matches for available frames. Black frame rendered when there are no available frames. This does not match the held frame of Media Composer.
    • ❌ Speed up to 10x (1000%) speed
      • Error: Time warp is applied and matches for available frames. Black frame rendered when there are no available frames. This does not match the held frame of Media Composer.
  • Linear time warps fit-to-fill
    • ❌ Fit-to-fill 99 frames into 100
      • Error: Time warp is applied but the frames that get held differ.
    • ❌ Fit-to-fill 90 frames into 100
      • Error: Time warp is applied but the frames that get held differ.
    • ✅ Fit-to-fill 50 frames into 100
    • ❌ Fit-to-fill 33 frames into 100
      • Error: Time warp is applied but the frames that get held differ.
    • ❌ Fit-to-fill 5 frames into 100
      • Error: Time warp is applied but the frames that get held differ.
    • ✅ Fit-to-fill 100 frames into 99
    • ✅ Fit-to-fill 100 frames into 50
    • ✅ Fit-to-fill 100 frames into 33
    • ✅ Fit-to-fill 100 frames into 10
    • ✅ Fit-to-fill 100 frames into 9
  • Linear time warps trim-to-fill ("trim" is different from "fit")
    • ❌ Trim-to-fill 99 frames into 100 (BUG: TimeEffect should be LinearTimeWarp)
      • Error: No NukeStudio Speed Change Applied.
    • ❌ Trim-to-fill 90 frames into 100 (BUG: TimeEffect should be LinearTimeWarp)
      • Error: No NukeStudio Speed Change Applied.
    • ❌ Trim-to-fill 50 frames into 100 (BUG: TimeEffect should be LinearTimeWarp)
      • Error: No NukeStudio Speed Change Applied.
    • ❌ Trim-to-fill 33 frames into 100 (BUG: TimeEffect should be LinearTimeWarp)
      • Error: No NukeStudio Speed Change Applied.
    • ❌ Trim-to-fill 5 frames into 100 (BUG: TimeEffect should be LinearTimeWarp)
      • Error: No NukeStudio Speed Change Applied.
    • ❌ Trim-to-fill 100 frames into 99 (BUG: TimeEffect should be LinearTimeWarp)
      • Error: No NukeStudio Speed Change Applied.
    • ❌ Trim-to-fill 100 frames into 50 (BUG: TimeEffect should be LinearTimeWarp)
      • Error: No NukeStudio Speed Change Applied.
    • ❌ Trim-to-fill 100 frames into 33 (BUG: TimeEffect should be LinearTimeWarp)
      • Error: No NukeStudio Speed Change Applied.
    • ❌ Trim-to-fill 100 frames into 10 (BUG: TimeEffect should be LinearTimeWarp)
      • Error: No NukeStudio Speed Change Applied.
    • ❌ Trim-to-fill 100 frames into 9 (BUG: TimeEffect should be LinearTimeWarp)
      • Error: No NukeStudio Speed Change Applied.
  • Backwards time warps
    • ❌ Reverse 100% (frames 99 to 0)
      • Error: Speed correctly gets identified as -100%, however Src Out is 00:59:55:21.
    • ❌ Reverse 50% (frames 99 to 50, each 2x) (BUG: -0.51 should be -0.50)
      • Error: A reverse speed change is applied, however starting frame is is not correct. Runs out of frames for the last 4 frames.
    • ❌ Reverse 200% (frames 99 to 0, on 2s) (BUG: -1.0 should be -2.0)
      • Error: Speed incorrectly identified as -100% and Src Out is 00:59:55:21.
    • ❌ Reverse 30% (BUG: -0.31 should be -0.30)
      • Error: A reverse speed change is applied, however starting frame is is not correct. Also a slight difference which frames get duplicated.
    • ❌ Reverse 120% (BUG: -1.0 should be -1.2)
      • Error: Speed incorrectly identified as -100% and Src Out is 00:59:55:21.

Optional


Environment

Operating System: Windows 11 23H2
Host Application: NukeStudio 15.1v4

Reproduction Steps

  1. Create new NukeStudio project.
  2. File > Import OTIO

Screenshot 2024-12-17 at 2 40 43 PM

  1. Navigate to and select time_warp_test_suite.otio. NukeStudio doesn't currently support .otioz files, so we'll have to conform. After importing the time_warp_test_suite.otio we are presented with pop up calling out errors in the import.

Screenshot 2024-12-17 at 2 43 29 PM

  1. Click "Open Error Console" to open the error console to list the errors.

Screenshot 2024-12-17 at 2 43 46 PM

There are 10 warnings each giving the same Effect 'Motion Control': Import of effect not exported from Nuke is not yet supported. These warnings are on all the trim-to-fill clips.

  1. Now time to conform the timeline. Workspace > Conforming and click the "Match Media" button in the Spreadsheet View for the Sequence.

  2. Because we know that every single clip in this Sequence is of the same source file (our test_pattern_media_1920x1080_24_h264.mov) we can uncheck all the Conform Options except filename and even just select only that file.

Screenshot 2024-12-17 at 3 03 45 PM

All 72 clips are connected.

Screenshot 2024-12-17 at 3 03 52 PM

However, we can see in our Sequence that there are some errors.

Screenshot 2024-12-17 at 3 12 21 PM

We can also see in our Spreadsheet View some timecode warnings flagged on some of the clips.

Screenshot 2024-12-17 at 3 13 40 PM

Leave this for now, we'll render our Sequence now to use for ocr.

  1. Right click the Sequence and select Export. Make sure you've got Process as Sequence selected to render out the entire sequence instead of clips. Also make sure your Retime Method is set to Frame this will grab the nearest frame. NukeStudio also has options for frame blending or motion estimation, however those will certainly throw off our ocr comparisons.

Screenshot 2024-12-17 at 4 17 11 PM

  1. Use this QuickTime with the ocr_frame_counter.sh from the test suite to generate time_warp_test.nuke_studio.ocr_results.txt

% ./ocr_frame_counter.sh time_warp_test.nuke_studio.mov > time_warp_test.nuke_studio.ocr_results.txt

Log output if appropriate

Full output of time_warp_test.nuke_studio.ocr_results.txt is attached.

Sample data and other attachements

time_warp_test.nuke_studio.ocr_results.txt

@camkerr
Copy link
Author

camkerr commented Dec 18, 2024

I should clarify one thing, NukeStudio does have a drop down knob on a clip's Read node properties for Missing Frames. The options are: error, black, checkerboard and nearest frame.

While it defaults to error which will just return a black frame. It appears that this knob is broken with retimed clips. Manually setting it to nearest frame still returns a black frame for missing frames.

Creating a brand new project, importing media manually, setting the Missing Frames knob to nearest frame on that clip and then bringing that clip into a brand new sequence and applying a retime still results in black for the missing frames.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant