@ -8,7 +8,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
@@ -8,7 +8,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Synchronize actor metadata from Jellyfin and Emby television libraries
- New libraries and new episodes will get actor data automatically
- Existing libraries can deep scan (one time) to retrieve actor data for existing episodes
- `HLS Direct` streaming mode: stream copy dvd subtitles
- `HLS Direct` streaming mode
- Use `MP4` container/output format by default, with new global option to use `MKV` container/output format
- `MP4` output format: stream copy dvd subtitles
- `MKV` output format: stream copy all embedded subtitles
### Fixed
- Fix extracting embedded text subtitles that had been incompletely extracted in the past
@ -22,7 +25,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
@@ -22,7 +25,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Changed
- Timeout playout builds after 2 minutes; this should prevent playout bugs from blocking other functionality
- `HLS Direct` streaming mode: Use MP4 container instead MPEG-TS container to improve codec compatibility (e.g. FLAC audio)
@ -75,6 +75,9 @@ public class UpdateFFmpegSettingsHandler : IRequestHandler<UpdateFFmpegSettings,
@@ -75,6 +75,9 @@ public class UpdateFFmpegSettingsHandler : IRequestHandler<UpdateFFmpegSettings,
@ -32,6 +33,8 @@ public class GetFFmpegSettingsHandler : IRequestHandler<GetFFmpegSettings, FFmpe
@@ -32,6 +33,8 @@ public class GetFFmpegSettingsHandler : IRequestHandler<GetFFmpegSettings, FFmpe
@ -42,7 +45,8 @@ public class GetFFmpegSettingsHandler : IRequestHandler<GetFFmpegSettings, FFmpe
@@ -42,7 +45,8 @@ public class GetFFmpegSettingsHandler : IRequestHandler<GetFFmpegSettings, FFmpe
@ -19,6 +20,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -19,6 +20,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@ -28,6 +30,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -28,6 +30,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
IFFmpegStreamSelectorffmpegStreamSelector,
ITempFilePooltempFilePool,
IPipelineBuilderFactorypipelineBuilderFactory,
IConfigElementRepositoryconfigElementRepository,
ILogger<FFmpegLibraryProcessService>logger)
{
_ffmpegProcessService=ffmpegProcessService;
@ -35,6 +38,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -35,6 +38,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
_ffmpegStreamSelector=ffmpegStreamSelector;
_tempFilePool=tempFilePool;
_pipelineBuilderFactory=pipelineBuilderFactory;
_configElementRepository=configElementRepository;
_logger=logger;
}
@ -194,6 +198,28 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -194,6 +198,28 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@ -218,13 +244,18 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -218,13 +244,18 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@ -234,6 +265,19 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -234,6 +265,19 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
{
returnNone;
}
// hls direct won't use extracted embedded subtitles
@ -248,13 +292,6 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -248,13 +292,6 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@ -291,6 +328,8 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -291,6 +328,8 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@ -424,6 +463,8 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -424,6 +463,8 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@ -204,6 +204,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -204,6 +204,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -246,6 +247,10 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -246,6 +247,10 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
{
switch(ffmpegState.OutputFormat)
{
caseOutputFormatKind.Mkv:
pipelineSteps.Add(newOutputFormatMkv());
pipelineSteps.Add(newPipeProtocol());
break;
caseOutputFormatKind.MpegTs:
pipelineSteps.Add(newOutputFormatMpegTs());
pipelineSteps.Add(newPipeProtocol());
@ -280,6 +285,19 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -280,6 +285,19 @@ public abstract class PipelineBuilderBase : IPipelineBuilder