aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Api/Controllers/DynamicHlsController.cs
AgeCommit message (Collapse)Author
2024-09-22Let HLS Controller decide if subtitle should be burn ingnattu
Previously, we predicted whether the subtitle should be burned in with transcode reasons, but that was not accurate because the actual transcoding codec is only determined after the client has requested the stream. This pass through the option to the `DynamicHlsController` to handle the subtitle burn-in during the actual transcoding process. Now the client should be responsible to conditionally load the subtitle when this option is enabled.
2024-09-09Use enums for encoding options (#12561)Tim Eisele
2024-09-07Enable tone-mapping and HLS remuxing for DoVi Profile 10 in AV1 (#12604)Nyanmisaka
2024-08-30Tune x264/5 encoding params for realtime playbacknyanmisaka
Some options that are too performance-intensive are disabled, while others are left enabled to trade-off between real-time playback and quality. Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-08-12Remove more outdated options.gnattu
Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-12Remove container guessing doc from hlsgnattu
Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-12Update api doc to remove outdated infognattu
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-30Add RFC7845 downmix algorithm (#12300)gnattu
2024-07-21Merge pull request #11492 from jellyfin/better-vbr-settingsBond-009
Add better audio VBR settings
2024-07-18Fix AC-4 Sample rate checkgnattu
Some Audio codec will have a null CodecTag, check for that to avoid null reference If the client already requests a specific sample rate, use that instead of our default sample rate for AC-4 Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17Enable Dolby AC-4 decoder (#11486)gnattu
2024-07-17Move default value to api specgnattu
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17Add EnableAudioVbrEncoding to TranscodingProfilegnattu
This will allow the client selectively disable VBR audio when it causes problems. Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17Use better audio VBR settingsgnattu
LAME's VBR mode only has advantage over a certain bitrate range. For very low and very high bitrate, use the ABR mode instead. aac_at's CVBR mode produces very good quality and is not worse than its TVBR mode in blind testing. Use this mode for convenience. The ffmpeg native aac encoder will have quality regression with its VBR mode. Always use CBR mode for ffmpeg's native aac encoder. Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-29Properly await Task.Delay()Bond_009
2024-04-22Only apply custom downmix to 5.1 audios (#11401)gnattu
2024-03-28fix: forward port patch for GHSA-866x-wj5j-2vf4 (#11228)gnattu
2024-03-24Fix codec vs ActualOutputVideoCodecnyanmisaka
codec is copy ActualOutputVideoCodec is hevc fixes 3bbb57e Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-23Add new VideoRangeTypes to fully support DoVi on webOS (#10469)vedant
2024-03-17Fix the trailing whitespacenyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17Apply suggestions from code review Nyanmisaka
String interpolation is preferred. Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2024-03-16Add TranscodingSegmentCleaner to replace ffmpeg's hlsenc deletionnyanmisaka
FFmpeg deletes segments based on its own transcoding progress, but we need to delete segments based on client download progress. Since disk and GPU speeds vary, using hlsenc's built-in deletion will result in premature deletion of some segments. As a consequence, the server has to constantly respin new ffmpeg instances, resulting in choppy video playback. Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-03AsyncKeyedLock migrationMark Cilia Vincenti
2023-12-21Add ITranscodeManager servicePatrick Barron
2023-12-21Rename and clean up TranscodingJobPatrick Barron
2023-12-21Move TranscodingJobDto and TranscodingThrottler to ControllerPatrick Barron
2023-11-15Remove DLNA API codePatrick Barron
2023-10-18Merge branch 'master' into trickplayNick
2023-10-10Fix HLS playback of m4a files with mjpeg stream (#10069)lonebyte
2023-10-09Merge pull request #10067 from lonebyte/flac-hls-fixesBond-009
2023-10-09Drop experimental status of flac-in-MP4 for FFmpeg 6+Nyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-10-06Reduce string allocationsBond_009
Some simple changes to reduce the number of allocated strings
2023-09-16Merge branch 'master' into flac-hls-fixesJan Müller
# Conflicts: # Jellyfin.Api/Controllers/DynamicHlsController.cs
2023-09-02Fix AV1 playback in LiveTVnyanmisaka
AV1 in fMP4 requires global_header data for parsing. Only disable global_header in TS since it has no global_header. Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-08-30Fix the issue that audio bsf only takes effect for remuxing (#10172)Nyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-08-01Allow flac inside mp4 for all HLS audio streamsJan Müller
The -strict -2 setting was only added if the encoder was set to 'copy'. If 'flac' is explicitly requested, we also need to set it, so that ffmpeg doesn't abort the conversion. Fixes: #10066
2023-06-28Merge branch 'master' into trickplayNick
2023-06-28Merge pull request #9890 from Shadowghost/videorange-reworkBond-009
2023-06-28Migrate VideoRange and VideoRangeType to EnumShadowghost
2023-06-22Trickplay playlist and image controllernicknsy
2023-06-22Hls playlistnicknsy
2023-06-15Add baseUrlParam back in and fix indentationDominik
2023-06-15Merge branch 'master' into segment-deletionDominik
2023-04-01Use MinBy and MaxByStepan Goremykin
2023-03-21Fix audio VBR calculationknackebrot
Pass encoder, not codec
2023-03-20Merge pull request #9388 from Shadowghost/output-bitrate-channels-masterBond-009
2023-03-09Backport pull request #9422 from jellyfin/release-10.8.znyanmisaka
Fix stream map when using filter_complex with unlabeled output Original-merge: 6821a2ab358761282a0030c42c837b39bad089e1 Merged-by: Bond-009 <bond.009@outlook.com> Backported-by: crobibero <cody@robibe.ro>
2023-03-09Backport pull request #9178 from jellyfin/release-10.8.zRóbert Örn Ketilsson
Escape the path to pass as a command line argument Original-merge: 09f1c7f535653e99dbc22ace7cd166ce4c457a83 Merged-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com> Backported-by: crobibero <cody@robibe.ro>
2023-03-02Use source audio bitrate if requested codec is losslessShadowghost
2023-02-28Apply review suggestionsShadowghost