mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-16 05:43:54 +03:00
[PR #6600] [MERGED] Add first draft of keyframe extraction for Matroska #11051
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/jellyfin/jellyfin/pull/6600
Author: @cvium
Created: 9/23/2021
Status: ✅ Merged
Merged: 1/20/2022
Merged by: @crobibero
Base:
master← Head:keyframe_extraction_v1📝 Commits (10+)
9c15f96Add first draft of keyframe extraction for Matroska3531dc8Fix build6e77d50Remove path hintingd995f0eAdd dto changes30230afFix build?ee8bd9bFix xmldoc issues35c0801More fixesbe233b4Fixesfa38b74Restructure the code to make it more testablec7b25a9Add first test📊 Changes
37 files changed (+20854 additions, -119 deletions)
View changed files
📝
Emby.Server.Implementations/ApplicationHost.cs(+4 -0)📝
Jellyfin.Api/Controllers/DynamicHlsController.cs(+40 -115)📝
Jellyfin.Api/Jellyfin.Api.csproj(+1 -0)📝
Jellyfin.Api/Models/StreamingDtos/StreamingRequestDto.cs(+10 -0)📝
Jellyfin.Server/Jellyfin.Server.csproj(+1 -0)📝
Jellyfin.Server/Startup.cs(+3 -0)📝
Jellyfin.sln(+28 -4)📝
MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs(+6 -0)📝
MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs(+3 -0)📝
MediaBrowser.Model/Configuration/EncodingOptions.cs(+5 -0)➕
src/Jellyfin.MediaEncoding.Hls/Cache/CacheDecorator.cs(+96 -0)➕
src/Jellyfin.MediaEncoding.Hls/Extensions/MediaEncodingHlsServiceCollectionExtensions.cs(+36 -0)➕
src/Jellyfin.MediaEncoding.Hls/Extractors/FfProbeKeyframeExtractor.cs(+58 -0)➕
src/Jellyfin.MediaEncoding.Hls/Extractors/IKeyframeExtractor.cs(+24 -0)➕
src/Jellyfin.MediaEncoding.Hls/Extractors/MatroskaKeyframeExtractor.cs(+48 -0)➕
src/Jellyfin.MediaEncoding.Hls/Jellyfin.MediaEncoding.Hls.csproj(+31 -0)➕
src/Jellyfin.MediaEncoding.Hls/Playlist/CreateMainPlaylistRequest.cs(+56 -0)➕
src/Jellyfin.MediaEncoding.Hls/Playlist/DynamicHlsPlaylistGenerator.cs(+204 -0)➕
src/Jellyfin.MediaEncoding.Hls/Playlist/IDynamicHlsPlaylistGenerator.cs(+14 -0)➕
src/Jellyfin.MediaEncoding.Hls/ScheduledTasks/KeyframeExtractionScheduledTask.cs(+111 -0)...and 17 more files
📄 Description
Changes
All video formats supported with ffprobe (slow), matroska metadata supported (pretty fast)
encoding.xmlto allow specific container formats to have its keyframes extracted.Thoughts:
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.