Commit Graph

693 Commits

Author SHA1 Message Date
nyanmisaka 50541aea91 Apply suggestions from code review
Add excludeFilePaths to skip segment files in which IOException occurred.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 22:09:31 +08:00
nyanmisaka 39b953e41c Set input readrate for using SegmentDeletion with stream-copy
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 07:35:05 +08:00
nyanmisaka 55fd6b5cb9 Add sanity check for ThrottleDelaySeconds
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 07:35:05 +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
Cody Robibero a92de9b2e3
Merge pull request #11014 from gnattu/vf-videotoolbox 2024-03-09 09:19:36 -07:00
gnattu 0909ee7208 fix: convert all non-yuv420 inputs to nv12
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-09 15:16:00 +08:00
gnattu e6dee627e3 fix: force a pixel format for 10-bit inputs
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-09 14:22:27 +08:00
gnattu d10ad6c383 fix: no need to check filters prematurely
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-09 11:02:53 +08:00
gnattu 2f66871040 fix: also check if we are doing scaling
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-08 23:37:27 +08:00
gnattu f31549cc0d fix: code clean up
Co-authored-by: nyanmisaka <nst799610810@gmail.com>
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-08 23:23:24 +08:00
gnattu a30dc81b28 fix: stack overflow
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-29 09:03:00 +08:00
gnattu ec896a901c fix: code style
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-29 05:37:31 +08:00
gnattu 1cb7264f0d feat: fully support videotoolbox hardware filters
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-28 17:56:59 +08:00
Nyanmisaka aa3aaa94fe
Fix the preproc filters for dvbsub burn-in (#11034)
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-20 10:49:39 -07:00
gnattu 21bf557145 fix: use hardware videotoolbox filter even only scale is available
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 01:43:40 +08:00
gnattu 0a8560f64a fix: use hardware filter option name explicitly
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 01:30:12 +08:00
gnattu 2f3e5cfa06 fix: correctly set the supported formats of videotoolbox tone mapping
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 01:08:17 +08:00
gnattu 0a4457dd68 fix: typo
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 00:18:19 +08:00
gnattu 5c743f2b4d feat: separate videotoolbox tone mapping option
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 00:16:59 +08:00
gnattu cf3e3e2c3d fix: code style
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-15 23:22:32 +08:00
gnattu c18ef13b3b feat: add tone mapping for videotoolbox
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-15 23:00:51 +08:00
gnattu 44cb9f5fdd feat: add hw scale filter for videotoolbox
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-15 21:52:41 +08:00
Shadowghost 9230472056 Fix file extension based on container 2024-02-10 16:57:10 +01:00
Bond-009 143ef71528
Merge pull request #10969 from barronpm/progress-cleanup
Progress cleanup
2024-02-07 16:24:36 +01:00
Patrick Barron a54c08209e Remove some unused media encoding code 2024-02-06 10:06:39 -05:00
nyanmisaka be265cd87f Add EqualsAny for VideoCodecTag condition
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-05 23:41:43 +08:00
Mark Cilia Vincenti f26fc7dfb2 Merge changes 2024-02-03 08:45:14 +01:00
nyanmisaka e62dab627e Add full HWA transcoding pipeline for RKMPP
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-01 18:59:27 +08:00
nyanmisaka 92c0ec0c1b Use video framerate for ASS subtitle HW burn-in
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-28 20:06:42 +08:00
nyanmisaka 9323390add Fix the display aspect ratio of PGSSUB subtitle burn-in
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-28 20:06:42 +08:00
Mark Cilia Vincenti e47144e7c7 Updated contributors, upgraded to AsyncKeyedLocker 6.3.0 which now supports non-keyed locking using a similar interface and changed SemaphoreSlim-based locks to using AsyncNonKeyedLocker. 2024-01-14 12:11:16 +01:00
Mark Cilia Vincenti 6a257e1b40 Merge branch 'master' into AsyncKeyedLock-migration 2024-01-14 11:45:19 +01:00
Nyanmisaka aa71129cff
Use -noauto{scale,rotate} for disabling auto filters (#10810)
`-auto{scale,rotate} 0` has been dropped in upstream FFmpeg.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-04 16:31:45 -07: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
jkhsjdhjs 547d97d602
Use `eof_action=pass` when overlaying subtitles
The previous behavior using `eof_action=endall` and `shortest=1` would
end the video stream if one of the input stream (video, subtitle) ends.
In some cases the duration of the overlayed subtitles is shorter than the
video stream, causing the output to end when the subtitles end and dropping
the remaining video stream.

This commit changes this behavior so `eof_action=pass` is used instead,
which continues passing the video stream through even if the subtitles end
earlier [1]. `shortest=1` is also removed, as this option implies
`eof_action=endall`.

If the subtitle stream has a higher duration than the video stream, the output
will also end with the video stream without `shortest=1`, as the video stream
is the primary input to the `overlay` filter.

Fix #10698

[1] https://ffmpeg.org/ffmpeg-filters.html#Options-for-filters-with-several-inputs-_0028framesync_0029
2023-12-13 13:11:42 +01:00
Bond_009 b62b0ec2b5 Fix warnings 2023-11-14 21:14:21 +01:00
nyanmisaka 9c270b149c Fix mismatch between intel VAAPI UMD/KMD in rare cases
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-10-22 19:06:35 +08:00
Nick cd662506a1 Merge branch 'master' into trickplay 2023-10-18 19:27:05 -07:00
Stepan Goremykin 8d7e4229ca Merge branch 'master' into fix-resharper-warnings
# Conflicts:
#	Emby.Server.Implementations/Net/SocketFactory.cs
#	RSSDP/SsdpCommunicationsServer.cs
#	RSSDP/SsdpDeviceLocator.cs
#	RSSDP/SsdpDevicePublisher.cs
2023-10-12 20:11:16 +02:00
Bond-009 0b31997b2f
Merge pull request #10348 from Bond-009/strings 2023-10-08 14:07:30 +02:00
Stepan Goremykin 2d7835c848 Join declaration and assignment 2023-10-08 01:16:43 +02:00
Stepan Goremykin 8ea812b65d Reduce string literal length by using verbatim string 2023-10-08 00:26:12 +02:00
Bond-009 1141883f77
Merge pull request #10321 from feilongfl/master 2023-10-07 00:15:01 +02:00
Claus Vium 6593aa1255
Merge pull request #10135 from 0x25CBFC4F/fix/ffmpeg-probesize
Fixed probesize argument passing to FFmpeg
2023-10-06 11:38:31 +02:00
Claus Vium a18b3fbe70
simplify the if 2023-10-06 10:49:20 +02: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
fei long 33b3331c72
change Substring to AsSpan
Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-10-06 06:26:52 +08:00