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
YuLong Yao
808e59fdda
add pcm format when codec is pcm_*
2023-10-02 13:14:53 +08:00
Nyanmisaka
99cc1ed13a
Fix A53 CC SEI breaking H26x_VAAPI hardware encode
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-09-25 22:56:59 +08:00
Nyanmisaka
5ba855098d
Backport pull request #10151 from jellyfin/release-10.8.z
...
Fix performance loss of QSV HDR tone-mapping on Windows
Original-merge: 757f88b1a2
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Bond_009 <bond.009@outlook.com>
2023-09-21 15:35:39 -04:00
Nyanmisaka
3c2b1b5e97
Fix AV1 NVENC encoder profile option ( #10199 )
2023-09-08 18:20:11 -06:00
nyanmisaka
31d2f653fa
Fix H264 QSV encoding when the bitrate is too low
...
h264_qsv expects a bitrate equal or higher than 1000k, or it fails.
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-09-02 00:25:40 +08:00
Bond_009
97d92e7087
Use the correct trancode path
...
EncodingOptions.TranscodingTempPath can be empty (and is by default),
the correct way to get the trancode path is
EncodingConfigurationExtensions.GetTranscodePath which falls back to $CACHEPATH/transcodes
when EncodingOptions.TranscodingTempPath is null or empty.
2023-08-27 17:27:03 +02:00
Bond_009
18a311d32f
== null -> is null
2023-08-22 21:14:54 +02:00
Claus Vium
956e3dab43
fix: accessing Standard* of a Process requires manually disposing them afterwards ( #10125 )
2023-08-20 20:06:57 +02:00
null
8dc58e8f04
Added handling of FFmpeg:probesize variable
2023-08-20 21:31:14 +04:00
nyanmisaka
44946ded4e
Disable AMD EFC feature since it's still unstable in upstream
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-08-03 19:16:46 +08: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
Nyanmisaka
148c86ee0d
Only disable the global_header for AMD HEVC encoder ( #10045 )
2023-07-29 06:52:58 -06:00
Bond-009
b95fa294c9
Merge pull request #9799 from Bond-009/genregex
2023-07-06 19:56:00 +02:00
nyanmisaka
76538aacb9
Backport pull request #9928 from jellyfin/release-10.8.z
...
Disable global_header on AMD VA-API encoder
Original-merge: a732a28229
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-07-02 01:41:17 -04:00
Nick
6d9e43cfe0
Merge branch 'master' into trickplay
2023-06-28 21:43:23 -07:00
Bond-009
e53e53eb29
Merge pull request #9907 from nyanmisaka/av1e
2023-06-28 17:34:20 +02:00
Bond-009
4ac07f6c76
Merge pull request #9890 from Shadowghost/videorange-rework
2023-06-28 17:30:26 +02:00
Bond_009
b5f0760db8
Use RegexGenerator where possible
2023-06-28 17:07:57 +02:00
Shadowghost
20a4509991
Migrate VideoRange and VideoRangeType to Enum
2023-06-28 12:02:20 +02:00
Nick
3377032228
crobibero styling, format, code suggestions
2023-06-22 16:23:52 -07:00
Nick
dd8ef08592
Move fps filter to GetVideoProcessingFilterParam
2023-06-22 16:23:52 -07: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
nyanmisaka
27d0d8a7f2
Refine SwDec and QSV encoding
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-20 03:50:02 +08:00
nyanmisaka
be01aeecd9
Add AV1 hardware and software encoding
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-20 03:50:02 +08:00
Cody Robibero
4972fbf2a3
Merge pull request #8744 from DomiStyle/segment-deletion
2023-06-19 06:50:13 -06:00
nyanmisaka
f81b004d3f
Removed unused lines
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-18 10:00:53 +08:00
nyanmisaka
a81f3e7c97
Fix #9642 backport
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-18 09:59:55 +08:00
Dominik
17f1e8d19b
Merge branch 'master' into segment-deletion
2023-06-15 19:38:42 +02:00
nyanmisaka
23b9055547
Rearrage the Amd vaapi-vulkan pipeline for synchronization
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-13 23:15:30 +08:00
nyanmisaka
fdc16e23c4
Backport pull request #9671 from jellyfin/release-10.8.z
...
Fix the canvas size for DVBSUB and DVDSUB subtitles
Original-merge: eba95cc7f0
Merged-by: Joshua M. Boniface <joshua@boniface.me>
Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:55:15 -04:00
nyanmisaka
4c8d382765
Backport pull request #9642 from jellyfin/release-10.8.z
...
Fix the brightness of VPP tonemap and add the tonemap mode
Original-merge: d5a8419bc5
Merged-by: Cody Robibero <cody@robibe.ro>
Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:53:35 -04:00
TheTyrius
67bc81ec96
Backport pull request #9538 from jellyfin/release-10.8.z
...
Fix nvenc preset order
Original-merge: 79bb7560dc
Merged-by: Cody Robibero <cody@robibe.ro>
Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:44:06 -04:00
Oliver Weyhmüller
fbc039b14b
Fix scaleFactor limitation to 1 introduced by pull request #9485
2023-05-07 21:20:44 +02:00
Brett Petch
dfcf0cf292
fix: dead link ( #9626 )
2023-04-16 11:10:14 -06:00
Stepan Goremykin
910617bbc3
Remove redundant 'else' keywords
2023-04-06 19:38:34 +02:00
Stepan Goremykin
7d7e177265
Remove redundant casts
2023-04-06 19:17:28 +02:00
Stepan Goremykin
2c03f7e85d
Use TryGetValue
2023-04-06 19:17:28 +02:00
nyanmisaka
3a25b03ea9
Fix vaapi-vulkan subtitle tearing issue
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-04-02 17:30:22 +08: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
Shadowghost
3f6a23d7d0
Fix condition in CanStreamCopyAudio
2023-03-17 11:49:07 +01:00
Shadowghost
ee4ffd64e1
Prefer other codecs over DTS and TrueHD on transcode
2023-03-15 10:13:06 +01:00
Shadowghost
21dc3fa042
Backport pull request #9485 from jellyfin/release-10.8.z
...
Fix the bitrate scale factor for h264-to-hevc transcoding
Original-merge: 173a963dbf
Merged-by: Nyanmisaka <nst799610810@gmail.com>
Backported-by: crobibero <cody@robibe.ro>
2023-03-14 18:21:01 -04:00
Bond-009
6351d1022b
Merge pull request #9254 from Shadowghost/dvdbdfix
2023-03-10 15:48:35 +01: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
2403a0a367
Apply review suggestions
2023-03-10 15:27:05 +01:00
nyanmisaka
2146ddd20c
Backport pull request #9430 from jellyfin/release-10.8.z
...
Fix Live TV hardware decoding
Original-merge: efc79295de
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:38:16 -05: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
nyanmisaka
638bda629b
Backport pull request #9391 from jellyfin/release-10.8.z
...
Fix H.264 baseline hwaccel and enable enhanced Nvdec by default
Original-merge: 22a8283a9e
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:35:54 -05:00
nyanmisaka
f6060bd14b
Backport pull request #9355 from jellyfin/release-10.8.z
...
Some VAAPI VPP and OpenCL fixes
Original-merge: c807712246
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:33:52 -05:00
nyanmisaka
0905d62224
Adapt vulkan filtering to 6.0
2023-03-05 01:39:58 +08:00
Shadowghost
1f15724398
Use source audio bitrate if requested codec is lossless
2023-03-02 20:57:59 +01:00
Shadowghost
c760a50d59
Apply review suggestions
2023-02-27 16:03:12 +01:00
Shadowghost
4a1498f614
Add DTS and TrueHD bitrate limits, enforce bitrate limits if no bitrate is requested
2023-02-26 22:38:02 +01:00
Shadowghost
f3840e0fdb
Fix encoder checks for DTS and TrueHD
2023-02-26 22:38:00 +01:00
Shadowghost
2e3b4bda7b
Take channels into account when calculating fallback audio bitrate
2023-02-26 22:37:01 +01:00
knackebrot
aa99aaebc4
Add audio vbr calculation
2023-02-26 22:37:01 +01:00
knackebrot
3e74377036
Calculate output bitrate from output channel count
2023-02-26 22:37:01 +01:00
Nyanmisaka
edc627fd5b
Improve the Vulkan based subtitle burn-in performance ( #9402 )
...
https://gitlab.freedesktop.org/mesa/mesa/-/issues/850
Currently Mesa RADV does not support a dedicated transfer queue.
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-02-26 07:33:27 -07:00
Cody Robibero
49eb04899c
Update MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
...
Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
2023-02-24 08:53:08 -07:00
Cody Robibero
b3273f0f9a
Simplify audio transcode channel lookup
2023-02-24 08:06:19 -07:00
Bond-009
720852f708
Merge pull request #9356 from Bond-009/tryparse
2023-02-20 11:09:54 +01:00
Bond-009
69379d80a1
Merge pull request #9266 from holow29/increase-transcoding-ac-max
2023-02-20 10:26:41 +01:00
Bond_009
24a7e210c3
Optimize tryparse
...
* Don't check for null before
* Don't try different formats when not needed (NumberFormat.Integer is the fast path)
2023-02-19 16:52:29 +01:00
holow29
724d2986a3
Change transcoderChannelLimit default to 8
...
Change transcoderChannelLimit default to 8 from 6
Switch to querying for encoder and added more cases to transcoderChannelLimit
Refactor GetNumAudioChannelsParam
2023-02-09 17:37:57 -05:00
gnattu
ef4ae9a2dd
Implement hardware filters for videotoolbox, use Apple AAC encoder when available ( #7807 )
2023-02-08 23:42:17 +01:00
Shadowghost
f2b7f664aa
Apply review suggestions
2023-02-04 20:16:45 +01:00
James Harvey
4a2245fe1e
Move mp4 container names to class and use StringComparer.OrdinalIgnoreCase
2023-02-04 18:52:35 +00: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
James Harvey
42b4ef4529
Remove frag_keyframe on audio, not video
2023-02-04 03:59:35 +00:00
James Harvey
c9627f8839
Fix Use built-in type alias
2023-02-04 02:46:14 +00:00
James Harvey
83ae6fcdb4
Fix Braces for multi-line statements should not share line
2023-02-04 02:45:24 +00:00
James Harvey
a3f41bbc0c
Remove frag_keyframe as it is not relevant for audio
2023-02-04 02:29:21 +00:00
James Harvey
f2cc0e7069
Fill in issue/PR comment
2023-02-04 02:17:55 +00:00
James Harvey
c70508b089
Add movflags to mp4 audio encoding
2023-02-04 01:56:14 +00:00
James Harvey
29c1f54b57
Fix audio codec not being used in UniversalAudio ( #9192 )
2023-02-02 14:54:05 +01:00
Bond-009
2436233d9f
Merge pull request #9146 from nyanmisaka/fix-pgs-vulkan
2023-01-24 11:26:35 +01:00
nyanmisaka
6d6b9044ab
Backport pull request #9145 from jellyfin/release-10.8.z
...
Fix PGS position issue in sw decoding #8602
Original-merge: fbb9acf58b
Merged-by: Joshua M. Boniface <joshua@boniface.me>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-01-22 14:06:20 -05:00
nyanmisaka
d6f44818e4
Backport pull request #9050 from jellyfin/release-10.8.z
...
Update workaround for i915 hang in linux 5.18 to 6.1.3
Original-merge: 464136cfc9
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-01-22 14:05:00 -05:00
nyanmisaka
c9badabe96
Fix PGS position issue in Vulkan pipeline
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-01-21 22:41:26 +08:00