Commit Graph

145 Commits

Author SHA1 Message Date
Bond-009
d5cf0ad2c8
Merge pull request #11492 from jellyfin/better-vbr-settings
Add better audio VBR settings
2024-07-21 16:15:43 +02:00
gnattu
992eed5ef7 Fix AC-4 Sample rate check
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-18 11:45:16 +08:00
gnattu
8851ace543
Enable Dolby AC-4 decoder (#11486) 2024-07-17 12:35:40 -04:00
gnattu
fd5df98616 Move default value to api spec
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 21:52:44 +08:00
gnattu
0381c5a288 Add EnableAudioVbrEncoding to TranscodingProfile
This will allow the client selectively disable VBR audio when it causes problems.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 21:27:35 +08:00
gnattu
78929418cc Use better audio VBR settings
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-07-17 21:27:35 +08:00
Bond_009
2459b7e62e Properly await Task.Delay() 2024-04-29 10:16:28 +02:00
gnattu
374b6ca0e2
Only apply custom downmix to 5.1 audios (#11401) 2024-04-22 10:23:36 -06:00
gnattu
5db0c5a0e4
fix: forward port patch for GHSA-866x-wj5j-2vf4 (#11228) 2024-03-28 09:26:14 -06:00
nyanmisaka
bf2ef63922 Fix codec vs ActualOutputVideoCodec
codec is copy
ActualOutputVideoCodec is hevc

fixes 3bbb57e

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-24 06:45:43 +08:00
vedant
3bbb57eb83
Add new VideoRangeTypes to fully support DoVi on webOS (#10469) 2024-03-23 07:39:49 -06:00
nyanmisaka
a3ba974b7b Fix the trailing whitespace
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 20:44:42 +08:00
Nyanmisaka
98debe4817
Apply suggestions from code review
String interpolation is preferred.

Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2024-03-17 20:34:18 +08:00
nyanmisaka
eca9bf41bc Add TranscodingSegmentCleaner to replace ffmpeg's hlsenc deletion
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-03-16 07:35:05 +08:00
Mark Cilia Vincenti
d1677dc680 AsyncKeyedLock migration 2024-01-03 16:47:25 +01:00
Patrick Barron
9215a4d40a Add ITranscodeManager service 2023-12-21 12:53:50 -05:00
Patrick Barron
c2081955c8 Rename and clean up TranscodingJob 2023-12-21 12:53:50 -05:00
Patrick Barron
abd74fd5a4 Move TranscodingJobDto and TranscodingThrottler to Controller 2023-12-21 12:53:49 -05:00
Patrick Barron
01fd42cf95 Remove DLNA API code 2023-11-15 20:53:35 -05:00
Nick
cd662506a1 Merge branch 'master' into trickplay 2023-10-18 19:27:05 -07:00
lonebyte
74f61fbd79
Fix HLS playback of m4a files with mjpeg stream (#10069) 2023-10-10 22:48:52 +02:00
Bond-009
d5695efad9
Merge pull request #10067 from lonebyte/flac-hls-fixes 2023-10-09 18:28:49 +02:00
Nyanmisaka
aa073748c0
Drop experimental status of flac-in-MP4 for FFmpeg 6+
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-10-09 23:12:41 +08:00
Bond_009
b176beb88e Reduce string allocations
Some simple changes to reduce the number of allocated strings
2023-10-06 01:04:25 +02:00
Jan Müller
fd022ee685 Merge branch 'master' into flac-hls-fixes
# Conflicts:
#	Jellyfin.Api/Controllers/DynamicHlsController.cs
2023-09-16 12:40:05 +02:00
nyanmisaka
b2dcc7c90e Fix AV1 playback in LiveTV
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-09-02 00:25:40 +08:00
Nyanmisaka
c74d3e62d0
Fix the issue that audio bsf only takes effect for remuxing (#10172)
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-08-30 17:18:18 -06:00
Jan Müller
79cff704ff Allow flac inside mp4 for all HLS audio streams
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-08-01 19:12:52 +02:00
Nick
6d9e43cfe0 Merge branch 'master' into trickplay 2023-06-28 21:43:23 -07:00
Bond-009
4ac07f6c76
Merge pull request #9890 from Shadowghost/videorange-rework 2023-06-28 17:30:26 +02:00
Shadowghost
20a4509991 Migrate VideoRange and VideoRangeType to Enum 2023-06-28 12:02:20 +02:00
nicknsy
b18d6bd356 Trickplay playlist and image controller 2023-06-22 16:19:59 -07:00
nicknsy
515ee90fb9 Hls playlist 2023-06-22 16:19:59 -07:00
Dominik
0dffe64489 Add baseUrlParam back in and fix indentation 2023-06-15 19:55:11 +02:00
Dominik
17f1e8d19b
Merge branch 'master' into segment-deletion 2023-06-15 19:38:42 +02:00
Stepan Goremykin
e74630a613 Use MinBy and MaxBy 2023-04-01 23:00:51 +02:00
knackebrot
e0a7e9baa0 Fix audio VBR calculation
Pass encoder, not codec
2023-03-21 15:01:32 +01:00
Bond-009
2ce08eb184
Merge pull request #9388 from Shadowghost/output-bitrate-channels-master 2023-03-20 17:46:11 +01:00
nyanmisaka
f21ab50a81 Backport pull request #9422 from jellyfin/release-10.8.z
Fix stream map when using filter_complex with unlabeled output

Original-merge: 6821a2ab35

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

Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:38:15 -05:00
Róbert Örn Ketilsson
ef3868ff50 Backport pull request #9178 from jellyfin/release-10.8.z
Escape the path to pass as a command line argument

Original-merge: 09f1c7f535

Merged-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>

Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:29:39 -05:00
Shadowghost
1f15724398 Use source audio bitrate if requested codec is lossless 2023-03-02 20:57:59 +01:00
Shadowghost
16f2cca882 Apply review suggestions 2023-02-28 15:12:43 +01:00
knackebrot
aa99aaebc4 Add audio vbr calculation 2023-02-26 22:37:01 +01:00
cvium
209edd38a4 refactor: simplify authz 2023-02-09 13:51:37 +01:00
Shadowghost
f5f890e685 Migrate to file-scoped namespaces 2023-02-02 18:50:33 +01:00
Shadowghost
ab96d1b7ad Backport pull request #9049 from jellyfin/release-10.8.z
Add more codecs requiring ffmpeg strict -2

Original-merge: 2a6e292153

Merged-by: Cody Robibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-01-22 14:03:54 -05:00
Bond-009
3a7a781ed9
Merge pull request #9001 from Shadowghost/stereo-downmix
Fixes https://github.com/jellyfin/jellyfin/issues/1986
2023-01-12 09:49:29 +01:00
Shadowghost
407c716f82 Add stereo downmix algorithm selection. 2023-01-10 15:29:39 +01:00
David Fairbrother
4eeb522144 Add dts to list of audio codecs which require strict -2
Adds dts to the list of audio codecs where ffmpeg will throw asking us
to opt into experimental support. This is seen when the original content
is based on dts and we don't acopy using ffmpeg.
2023-01-07 19:37:32 +00:00
Bond_009
52194f56b5 Replace != null with is not null 2022-12-05 15:01:13 +01:00