aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Api/Helpers/DynamicHlsHelper.cs
AgeCommit message (Collapse)Author
2025-04-02Improve dynamic HDR metadata handling (#13277)gnattu
* Add support for bitstream filter to remove dynamic hdr metadata * Add support for ffprobe's only_first_vframe for HDR10+ detection * Add BitStreamFilterOptionType for metadata removal check * Map HDR10+ metadata to VideoRangeType.cs Current implementation uses a hack that abuses the EL flag to avoid database schema changes. Should add proper field once EFCore migration is merged. * Add more Dolby Vision Range types Out of spec ones are problematic and should be marked as a dedicated invalid type and handled by the server to not crash the player. Profile 7 videos should not be treated as normal HDR10 videos at all and should remove the metadata before serving. * Remove dynamic hdr metadata when necessary * Allow direct playback of HDR10+ videos on HDR10 clients * Only use dovi codec tag when dovi metadata is not removed * Handle DV Profile 7 Videos better * Fix HDR10+ with new bitmask * Indicate the presence of HDR10+ in HLS SUPPLEMENTAL-CODECS * Fix Dovi 8.4 not labeled as HLG in HLS * Fallback to dovi_rpu bsf for av1 when possible * Fix dovi_rpu cli for av1 * Use correct EFCore db column for HDR10+ * Undo outdated migration * Add proper hdr10+ migration * Remove outdated migration * Rebase to new db code * Add migrations for Hdr10PlusPresentFlag * Directly use bsf enum * Add xmldocs for SupportsBitStreamFilterWithOption * Make `VideoRangeType.Unknown` explicitly default on api models. * Unset default for non-api model class * Use tuples for bsf dictionary for now
2025-03-25Fixed namespacesJPVenson
2025-01-22Enable adaptive bitrate streaming againBond_009
2025-01-22Remove useless checks and dead codeBond_009
2025-01-11Prefer ApiKey over api_key in generated URL's (#13342)Niels van Velzen
2024-09-07Add SUPPLEMENTAL-CODECS for Dolby Vision video with fallbacks (#12605)gnattu
2024-09-07Add MediaStream.ReferenceFrameRate for problematic video files (#12603)gnattu
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
2024-07-23Merge branch 'master' into fix-hwa-video-rotationNyanmisaka
2024-07-18Merge pull request #11399 from jellyfin/audio-remuxCody Robibero
2024-07-17feat: add audio remux to UniversalAudioControllergnattu
Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-16Add remuxing support for VP9gnattu
Add VP9 as a valid HLS format to enable remuxing. This is useful when audio processing is required, but the VP9 video can be passed as-is to avoid unnecessary video transcoding. No VP9 encoder is enabled and should not be enabled. AV1 and HEVC should be preferred over VP9 if video transcoding is required. Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-30Only streamCopy videos containing rotation data in fMP4nyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-12Make the bitrate of the fallback stream the same as the original (#9121)Dmitry Lyzo
2024-02-06Correct VIDEO-RANGE field for HLG contentnyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-12-21Add ITranscodeManager servicePatrick Barron
2023-11-15Remove DLNA API codePatrick Barron
2023-11-14Fix warningsBond_009
2023-10-18Merge branch 'master' into trickplayNick
2023-09-16Remove workaround for codec capitalizationJan Müller
This is not required anymore as Shaka Player now supports the correct codec strings.
2023-09-16Merge branch 'master' into flac-hls-fixesJan Müller
# Conflicts: # Jellyfin.Api/Controllers/DynamicHlsController.cs
2023-08-22== null -> is nullBond_009
2023-08-16Minor code formatting (cvium)Nick
2023-08-01Correct the HLS Opus codec stringJan Müller
Apple doesn't support Opus via HLS yet, but if they ever do, they will definitely expect "Opus" instead of "opus". See https://mp4ra.org/#/codecs Fixes: #10066
2023-08-01Fix the fLaC/flac HLS issue also for audio-onlyJan Müller
I moved the first application of the workaround out of the if block so that it also applies to audio-only streams. The workaround was extended likewise. We should first and foremost adhere to the specifications and apply workarounds afterwards for software that doesn't follow them. So I turned around the workaround to first output the fLaC variant and then the alternative flac variant. Fixes: #10066
2023-07-03Merge pull request #8147 from Shadowghost/network-rewriteJoshua M. Boniface
2023-06-28Merge branch 'master' into trickplayNick
2023-06-28Merge pull request #9907 from nyanmisaka/av1eBond-009
2023-06-28Migrate VideoRange and VideoRangeType to EnumShadowghost
2023-06-26Migrate to trickplay table to EF. Rename vars/methods/members to have ↵Nick
consistent use of tile and thumbnail
2023-06-25Apply suggestions from code reviewnyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-22Fix using orderNick
2023-06-22Trickplay playlist and image controllernicknsy
2023-06-22Hls playlistnicknsy
2023-06-20Add AV1 support in HLS streamingnyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-05-09Merge branch 'master' into network-rewriteShadowghost
2023-03-02Use source audio bitrate if requested codec is losslessShadowghost
2023-02-26Calculate output bitrate from output channel countknackebrot
2023-02-17Consistently write IP in upercaseShadowghost
2023-02-02Migrate to file-scoped namespacesShadowghost
2023-01-22Fix debug buildsBond_009
2023-01-22Backport pull request #9092 from jellyfin/release-10.8.zDmitry Lyzo
Don't add additional entries if HEVC encoding is disabled Original-merge: 2a5efeb3bb5938b614cb159868e98d56487040c9 Merged-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-12-05Replace != null with is not nullBond_009
2022-12-05Replace == null with is nullBond_009
2022-11-27Apply suggestions from code reviewCody Robibero
Co-authored-by: Bond-009 <bond.009@outlook.com>
2022-10-13Add support for OPUS and fixes for FLAC case issue in HLSnyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2022-10-06fix: use HttpContext and ClaimsPrincipal instead of IAuthorizationContextcvium
2022-06-29Merge pull request #7941 from jellyfin/fix-overflowCody Robibero
(cherry picked from commit fd4ffc6ba3317987856629088b759db8c1128ecd) Signed-off-by: Joshua Boniface <joshua@boniface.me>
2021-12-09- add an option for dropping specific subtitle formats using the DLNA ↵Marius Luca
SubtitleProfile
2021-09-06Remove all unused usingsFernando Fernández
2021-06-04Don't dispose managed CancellationTokenSource (#6139)Cody Robibero