Skip to content

MCR-3836 Generate an iView image from a video frame - #3136

Open
sebhofmann wants to merge 1 commit into
mainfrom
issues/MCR-3836-Generate_an_iView_image_from_a_video_frame
Open

sebhofmann wants to merge 1 commit into
mainfrom
issues/MCR-3836-Generate_an_iView_image_from_a_video_frame

Conversation

@sebhofmann

@sebhofmann sebhofmann commented Sep 8, 2026 •

Copy link
Copy Markdown
Member

Link to jira.

The new video frame event handler creates a full-resolution iView image for every video file in a derivate. It is independent of the derivate's main document and handles create, update, and repair events. Frame generation is extracted behind the configurable MCRVideoFrameGenerator interface; the default implementation uses FFmpeg and FFprobe, supports attached pictures and representative video frames, and checks the concrete video path and both executables before a job is created; the job validates the same requirements again before processing. The generated image is tiled through iView and can be requested through the existing IIIF image API.

The configuration registers the event handler and job action in mycore.properties. Existing applications need the rebuilt MyCoRe modules and FFmpeg/FFprobe installed; no data migration is required. Existing videos can be processed after deployment with the derivate repair command.

Pull Request Checklist (Author)

Please go through the following checklist before assigning the PR for review:

Ticket & Documentation

  • The issue in the ticket is clearly described and the solution is documented.
  • Design decisions (if any) are explained.
  • The ticket references the correct source and target branches.
  • The fixed-version is correctly set in the ticket and matches the PR's target branch (main).

Feature & Improvement Specific Checks

  • Instructions on how to test or use the feature are included or linked (see the deployment note above and the tests).
  • For UI changes: before & after screenshots are attached. (Not a UI change.)
  • New features or migrations are documented.
  • Does this change affect existing applications, data, or configurations?
    • Yes: Is a migration required? If yes, describe it. No migration is required; the deployment requirement is described above.
    • Breaking change is marked in the commit message. No breaking change is introduced.

Bugfix-Specific Checks

  • Affected version is listed in the ticket. (Feature ticket.)
  • Minimal code changes were made (no refactoring). (Feature ticket.)
  • This PR truly fixes only the reported bug. (Feature ticket.)
  • No breaking changes are introduced.
  • A relevant test was added (if feasible).

Testing

  • I have tested the changes locally.
  • The feature behaves as described in the ticket.
  • Were existing tests modified?
    • Yes: tests cover generator requirement checks, frame generation, event handling, and IIIF resolution.

MCR Conventions & Metadata

  • MCR naming conventions are followed
  • If the public API has changed:
    • Old API is deprecated or a migration is documented. No existing API was replaced; this is a new interface.
    • If not, no action needed.
  • Java license headers are added where necessary.
  • Javadoc is written for non-self-explanatory classes/methods (Clean Code).
  • All configuration options are documented in Javadoc and mycore.properties.
  • No default properties are hardcoded — all set via mycore.properties.

Multi-Repo Considerations

  • Is an equivalent PR in MIR required?
    • If yes, is it already created? No MIR source change is required.

Validation

  • mvn clean install -T1C passes locally.
  • After deployment, verify that MCR.EventHandler.MCRPath.025.Class is present in mycore.active.properties before running derivate repair for existing videos.

@sebhofmann
sebhofmann force-pushed the issues/MCR-3836-Generate_an_iView_image_from_a_video_frame branch 5 times, most recently from f567a2d to 6126263 Compare September 8, 2026 17:06
@sebhofmann
sebhofmann force-pushed the issues/MCR-3836-Generate_an_iView_image_from_a_video_frame branch from 6126263 to 9fd8e8e Compare September 10, 2026 08:21
@kkrebs
kkrebs requested a review from yagee-de September 29, 2026 12:04
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

Successfully merging this pull request may close these issues.

1 participant