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

Add option to extract keyframe only during trickplay image generation #11511

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

gnattu
Copy link
Member

@gnattu gnattu commented May 8, 2024

This would be significantly faster than decoding every frame, but it does have compatibility issues. Not all decoders support this mode, notably the VP9 decoder, CUVID decoders, and QSV decoders.

Some videos with very long key-frame intervals may also perform poorly with this mode, as the image timing could become too inaccurate to reflect the actual frame.

Changes

  • Add EnableKeyFrameOnlyExtraction option to TrickplayOptions

Issues

Fixes #11336

Copy link

github-actions bot commented May 8, 2024

Changes in OpenAPI specification found. Expand to see details.

What's Changed


GET /System/Configuration
Return Type:

Changed response : 200 OK

Application configuration returned.

  • Changed content type : application/json

openapi-base openapi-changes.md openapi-head Changed property TrickplayOptions (object)

Gets or sets the trickplay options.

Updated TrickplayOptions :
openapi-base openapi-changes.md openapi-head Added property EnableKeyFrameOnlyExtraction (boolean)

Gets or sets a value indicating whether to only extract key frames.
Significantly faster, but is not compatible with all decoders and/or video files.

  • Changed content type : application/json; profile="CamelCase"

openapi-base openapi-changes.md openapi-head Changed property TrickplayOptions (object)

Gets or sets the trickplay options.

Updated TrickplayOptions :
openapi-base openapi-changes.md openapi-head Added property EnableKeyFrameOnlyExtraction (boolean)

Gets or sets a value indicating whether to only extract key frames.
Significantly faster, but is not compatible with all decoders and/or video files.

  • Changed content type : application/json; profile="PascalCase"

openapi-base openapi-changes.md openapi-head Changed property TrickplayOptions (object)

Gets or sets the trickplay options.

Updated TrickplayOptions :
openapi-base openapi-changes.md openapi-head Added property EnableKeyFrameOnlyExtraction (boolean)

Gets or sets a value indicating whether to only extract key frames.
Significantly faster, but is not compatible with all decoders and/or video files.

POST /System/Configuration
Request:

Changed content type : application/json

Updated ServerConfiguration :

  • Changed property TrickplayOptions (object)

Gets or sets the trickplay options.

Updated TrickplayOptions :
openapi-base openapi-changes.md openapi-head Added property EnableKeyFrameOnlyExtraction (boolean)

Gets or sets a value indicating whether to only extract key frames.
Significantly faster, but is not compatible with all decoders and/or video files.

Changed content type : text/json

Updated ServerConfiguration :

  • Changed property TrickplayOptions (object)

Gets or sets the trickplay options.

Updated TrickplayOptions :
openapi-base openapi-changes.md openapi-head Added property EnableKeyFrameOnlyExtraction (boolean)

Gets or sets a value indicating whether to only extract key frames.
Significantly faster, but is not compatible with all decoders and/or video files.

Changed content type : application/*+json

Updated ServerConfiguration :

  • Changed property TrickplayOptions (object)

Gets or sets the trickplay options.

Updated TrickplayOptions :
openapi-base openapi-changes.md openapi-head Added property EnableKeyFrameOnlyExtraction (boolean)

Gets or sets a value indicating whether to only extract key frames.
Significantly faster, but is not compatible with all decoders and/or video files.

@gnattu gnattu added the enhancement Improving an existing function, or small fixes label May 8, 2024
@jellyfin-bot
Copy link
Contributor

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

@jellyfin-bot jellyfin-bot added the merge conflict Merge conflicts should be resolved before a merge label May 15, 2024
This would be significantly faster than decoding every frame, but it does have compatibility issues. Not all decoders support this mode, notably the VP9 decoder, CUVID decoders, and QSV decoders.

Some videos with very long key-frame intervals may also perform poorly with this mode, as the image timing could become too inaccurate to reflect the actual frame.

Signed-off-by: gnattu <gnattuoc@me.com>
@jellyfin-bot jellyfin-bot removed the merge conflict Merge conflicts should be resolved before a merge label May 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improving an existing function, or small fixes
Projects
Status: In progress
2 participants