aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding
AgeCommit message (Collapse)Author
2024-03-17Bump the required minimum ffmpeg version to 4.4nyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17Apply suggestions from code reviewnyanmisaka
Drop the unnecessary initial capacity from the list. Signed-off-by: nyanmisaka <nst799610810@gmail.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-03-09Merge pull request #11129 from crobibero/extract-concatBond-009
Specify file as concat when extracting attachments
2024-03-09Merge pull request #11014 from gnattu/vf-videotoolboxCody Robibero
2024-03-08Specify file as concat when extracting attachmentsCody Robibero
2024-03-03Extract and cache all media attachments in bulk (#11029)Attila Szakacs
Similar to https://github.com/jellyfin/jellyfin/pull/10884 --- Jellyfin clients need fonts for subtitles, and each font is a separate attachment, which causes a lot of re-reads of the file. Certain contents, like anime in a lot of cases, contain 50-80 different attachments. Spawning 80 ffmpeg processes at the same time on the same file might cause swapping on slower HDDs and can bring disk subsystem to a crawl. (For more info, see https://github.com/jellyfin/jellyfin/3215) This change helps a lot in this scenario. Signed-off-by: Attila Szakacs <szakacs.attila96@gmail.com>
2024-02-28feat: fully support videotoolbox hardware filtersgnattu
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-25Do not dispose the ffmpeg processShadowghost
2024-02-15feat: add hw scale filter for videotoolboxgnattu
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-14Merge pull request #10990 from Shadowghost/bdmv-fixesBond-009
BDMV fixes
2024-02-10Escape subtitle extraction input path (#10992)felix920506
2024-02-11Merge pull request #10772 from dmitrylyzo/normalize-mkv-webmBond-009
Discard WebM if there is an unsupported codec
2024-02-10Order files before creating concat configShadowghost
2024-02-10Use concat config for BDMV/DVD folder attachment extractionShadowghost
2024-02-03Merge changesMark Cilia Vincenti
2024-02-02Merge pull request #10884 from alltilla/extract-all-subtitlesCody Robibero
Extract all subtitle streams simultaneously
2024-02-01Register RKMPP HW codecs and filtersnyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-31Add alltilla to CONTRIBUTORS.mdAttila Szakacs
Signed-off-by: Attila Szakacs <szakacs.attila96@gmail.com>
2024-01-28Fix the display aspect ratio of PGSSUB subtitle burn-innyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-18Extract all subtitle streams simultaneouslyAttila Szakacs
Extracting a subtitle stream is a disk I/O bottlenecked operation as ffmpeg has to read through the whole file, but usually there is nothing CPU intensive to do. If a file has multiple subtitle streams, and we want to extract more of them, extracting them one-by-one results in reading the whole file again and again. However ffmpeg can extract multiple streams at once. We can optimize this by extracting the subtitle streams all at once when only one of them gets queried, then we will have all of them cached for later use. It is useful for people switching subtitles during playback. It is even more useful for people who extract all the subtitle streams in advance, for example with the "Subtitle Extract" plugin. In this case we reduce the extraction time significantly based on the number of subtitle streams in the files, which can be 5-10 in many cases. Signed-off-by: Attila Szakacs <szakacs.attila96@gmail.com>
2024-01-18fix: add av1 to webm Dmitry Lyzo
At least AV1 in WebM is supported by Chrome and Firefox.
2024-01-17Use helper function to compare guid (#10825)Cody Robibero
2024-01-14Updated contributors, upgraded to AsyncKeyedLocker 6.3.0 which now supports ↵Mark Cilia Vincenti
non-keyed locking using a similar interface and changed SemaphoreSlim-based locks to using AsyncNonKeyedLocker.
2024-01-09fix: discard webm if there is an unsupported codecDmitry Lyzo
2024-01-03AsyncKeyedLock migrationMark Cilia Vincenti
2023-12-21Add ITranscodeManager servicePatrick Barron
2023-11-14Revert "Use System.Net.IPNetwork"Bond_009
This reverts commit 117d05d288da1d412159a29c0cb8d5c8259e48ae.
2023-11-14Fix warningsBond_009
2023-11-14Update to .NET 8Bond_009
2023-11-05Add IDisposableAnalyzers to more projectsBond_009
2023-10-26Extract the MediaEncoder probing command arguments builderVincent Lark
2023-10-21Forward user_agent config to ffprobeVincent Lark
2023-10-18Fix for new WaitForExitAsync methodNick
2023-10-18Merge branch 'master' into trickplayNick
2023-10-12Merge branch 'master' into fix-resharper-warningsStepan Goremykin
# Conflicts: # Emby.Server.Implementations/Net/SocketFactory.cs # RSSDP/SsdpCommunicationsServer.cs # RSSDP/SsdpDeviceLocator.cs # RSSDP/SsdpDevicePublisher.cs
2023-10-10Merge pull request #10378 from Bond-009/waitforexitasyncClaus Vium
Use Process.WaitForExitAsync added in .NET 5
2023-10-10Use Process.WaitForExitAsync added in .NET 5Bond_009
2023-10-08Jellyfin.Drawing minor improvementsBond_009
Reduce duplicate/dead code
2023-10-08Merge pull request #10348 from Bond-009/stringsBond-009
2023-10-08Remove redundant ToString call for value typesStepan Goremykin
2023-10-08Join declaration and assignmentStepan Goremykin
2023-10-08Use generated regexStepan Goremykin
2023-10-08Make files readonlyStepan Goremykin
2023-10-08Reduce string literal length by using verbatim stringStepan Goremykin
2023-10-08Remove redundant verbatim string prefixesStepan Goremykin
2023-10-06Merge pull request #10255 from thomasjohansen/fix/probesizeClaus Vium
Fix/probesize
2023-10-06Reduce string allocationsBond_009
Some simple changes to reduce the number of allocated strings
2023-10-02Add We;Na to split whitelistJoe Rogers
2023-09-29I think this is betterThomas Johansen