Commit Graph

92 Commits

Author SHA1 Message Date
gnattu
68bfabbaba Add option to extract keyframe only during trickplay image generation
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>
2024-07-17 00:47:22 +08:00
Shadowghost
debd9eb8ce Backport pull request #11754 from jellyfin/release-10.9.z
Fix BD/DVD folder chapter image extraction

Original-merge: 52be8be28f

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:12 -04:00
gnattu
be21d51742
fix: move trickplay specific option into TrickplayOptions (#11229) 2024-03-28 09:26:01 -06:00
Nick
cd662506a1 Merge branch 'master' into trickplay 2023-10-18 19:27:05 -07:00
nyanmisaka
5b71cd8af9 Expand AMD VA-API Vulkan filtering support to Polaris/gfx8
ROCm OpenCL runtime is not needed anymore when using HDR tone-mapping on Polaris/gfx8.

This change requires jellyfin-ffmpeg5 5.1.3-4 or jellyfin-ffmpeg6 6.0-5
or newer versions.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-08-03 06:24:02 +08:00
nicknsy
6744e712d3 Use config values 2023-06-22 16:23:51 -07:00
nicknsy
ca7d1a1300 Trickplay generation, manager, storage 2023-06-22 16:19:59 -07:00
Shadowghost
0da5255f12 Apply review suggestions 2023-03-10 15:27:17 +01:00
Shadowghost
cd852d43c1 Add more comments and logging, streamline code 2023-03-10 15:27:17 +01:00
Shadowghost
edf3909157 Use FFmpeg concat for DVD and BD folder playback 2023-02-04 18:39:45 +01:00
Shadowghost
ddfdec7f46 Fix BD and DVD folder probing and playback 2023-02-04 18:37:57 +01:00
Shadowghost
519709bf10 Revert "Remove DvdLib (#9068)"
This reverts commit db1913b08f.
2023-02-04 18:36:47 +01:00
Patrick Barron
db1913b08f
Remove DvdLib (#9068)
* Remove DvdLib

* Update error message for blu-ray folders

Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>

* Remove BDInfo

* Remove MediaEncoder.GetPrimaryPlaylistVobFiles

* Remove BlurayDiscInfo

Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
2023-01-20 13:29:45 +01:00
Bond-009
210a4921f2
Fix some warnings and only disable TreatWarningsAsErrors for CodeAnalysis (#8709) 2022-12-05 13:54:28 +01:00
nyanmisaka
560d0838c7 Add Vulkan filtering support for AMD VAAPI (Vega/gfx9+)
This requires:
- VK_EXT_image_drm_format_modifier extension
- Linux kernel version >= 5.15
- jellyfin-ffmpeg5 >= 5.0.1-2

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2022-10-16 23:08:59 +08:00
nyanmisaka
0309c5622e Backport pull request #8213 from jellyfin/release-10.8.z
Fix high single thread usage in throttler

Original-merge: ba026716c1

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-09-23 23:09:35 -04:00
Cody Robibero
efcdab116f Merge pull request #7529 from Shadowghost/strm-ffprobe-external-fix
(cherry picked from commit 60affd0965)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:30:56 -04:00
cvium
c658a883a2 Merge branch 'master' into keyframe_extraction_v1
# Conflicts:
#	Jellyfin.Api/Controllers/DynamicHlsController.cs
#	MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs
#	MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
2022-01-07 10:23:22 +01:00
Cody Robibero
7bfc6b5679 Remove more warnings 2021-12-27 07:38:06 -07:00
nyanmisaka
b2d85a02c2 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
Co-authored-by: Bond_009 <bond.009@outlook.com>
2021-12-24 17:03:57 +08:00
nyanmisaka
4b9c84c52e EncodingHelper hwaccel pipelines refactor
separate the HW pipeline according to HWA method for maintainability.
2021-12-24 17:03:57 +08:00
Joe Rogers
f73a7a6ed8
Use ImageFormat instead of string for extension 2021-11-12 16:22:11 +01:00
Bond_009
1d19a5be61 Fix some warnings
down to 580
2021-11-09 22:29:33 +01:00
Joe Rogers
e3eee10d05
Add image provider tests and clean up 2021-10-11 14:09:02 +02:00
Joe Rogers
8d70cc2dde
Add support for non-jpg image extractions 2021-10-11 14:09:02 +02:00
cvium
9c15f96e12 Add first draft of keyframe extraction for Matroska 2021-09-23 15:29:12 +02:00
Claus Vium
ae031fdd28
Merge branch 'master' into tonemap-overlay 2021-08-30 20:02:31 +02:00
Bond_009
963ab2dab6 Simplify the way we choose our ffmpeg
* no longer search $PATH
* no longer require a full path
* don't fall back
2021-08-30 15:40:52 +02:00
Nyanmisaka
a84dc794c6
Merge branch 'master' into tonemap-overlay 2021-08-13 15:01:06 +08:00
Rich Lander
1ac2524844
Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-08-11 13:37:46 -07:00
Rich Lander
32d27d71a8 Fix warnings in MediaBrowser.Controller/MediaEncoding directory 2021-08-10 14:29:48 -07:00
nyanmisaka
3beda02d92 add support for cuda tonemap and overlay 2021-07-25 00:52:16 +08:00
crobibero
6bcbc2b88a Reduce warnings in MediaBrowser.Controller 2021-05-13 07:33:11 -06:00
Bond_009
fb090df0b5 Enable nullable reference types for MediaBrowser.Controller 2021-05-07 00:39:20 +02:00
BaronGreenback
bc1cc2d04a Remove unused using directives 2021-04-17 11:37:55 +01:00
nyanmisaka
3052068161 hybird vpp tonemapping for QSV on Linux 2021-02-06 13:21:50 +08:00
nyanmisaka
b0e0e19468 add cuda format converter 2021-02-06 13:21:40 +08:00
crobibero
ca5c20c988 Remove IIsoMounter and IsoMounter 2020-12-03 07:34:15 -07:00
Stan
3bb8884e16
Merge branch 'master' into bdiso-playback 2020-10-28 13:18:05 +01:00
Jan-Pieter Baert
ec91d3893d
Fix SA 1116 warnings 2020-10-12 20:05:11 +02:00
Stanislav Ionascu
cd4641dca0 Remove PlayableStreamFileNames as unused
Since ffmpeg can play and transcode ISO files and BDMV folders directly,
there's no use of that property.
2020-10-01 22:20:34 +02:00
Stanislav Ionascu
3ad6232973 Add probe / direct-stream / transcoding support for BluRays
This commit (and ffmpeg built with libbluray support), adds support
for playback of bluray images (bd-iso) and bluray folders.
2020-10-01 21:59:57 +02:00
Bond_009
404bb4f835 Enable TreatWarningsAsErrors for MediaBrowser.Controller in Release 2020-08-22 21:56:24 +02:00
Bond-009
9af6eda0b4
Merge pull request #3343 from telans/comment-stops
Add full stop at end of comments (SA1629)
2020-06-16 11:54:58 +02:00
telans
9018f8d8be
Add full stop at end of comments (SA1629) 2020-06-16 10:37:52 +12:00
artiume
62e47d056d Update IMediaEncoder.cs 2020-05-26 18:29:58 +03:00
nyanmisaka
b4b93995f7 add more separate hw decoding toggles 2020-05-26 18:06:49 +03:00
Bond_009
cc5acf37f7 Make probesize and analyzeduration configurable and simplify circular
dependencies

Makes the probesize and analyzeduration configurable with env args.
(`JELLYFIN_FFmpeg_probesize` and `FFmpeg_analyzeduration`)
2019-11-25 12:07:59 +01:00
Bond_009
37ea50a572 Reduce the amount of exceptions thrown 2019-03-07 21:42:56 +01:00
PloughPuff
2617a49b78 Renamed Init() to SetFFmpegPath() 2019-03-05 21:29:15 +00:00