add hls segmenter fmp4 streaming mode (#2468)
* add streaming mode segmenter fmp4 * allow hevc channel preview
This commit is contained in:
@@ -4,6 +4,7 @@ using ErsatzTV.Application.MediaItems;
|
||||
using ErsatzTV.Application.Troubleshooting;
|
||||
using ErsatzTV.Application.Troubleshooting.Queries;
|
||||
using ErsatzTV.Core;
|
||||
using ErsatzTV.Core.Domain;
|
||||
using ErsatzTV.Core.Interfaces.FFmpeg;
|
||||
using ErsatzTV.Core.Interfaces.Metadata;
|
||||
using ErsatzTV.Core.Interfaces.Troubleshooting;
|
||||
@@ -27,6 +28,8 @@ public class TroubleshootController(
|
||||
[FromQuery]
|
||||
int ffmpegProfile,
|
||||
[FromQuery]
|
||||
StreamingMode streamingMode,
|
||||
[FromQuery]
|
||||
List<int> watermark,
|
||||
[FromQuery]
|
||||
List<int> graphicsElement,
|
||||
@@ -42,6 +45,7 @@ public class TroubleshootController(
|
||||
|
||||
Either<BaseError, PlayoutItemResult> result = await mediator.Send(
|
||||
new PrepareTroubleshootingPlayback(
|
||||
streamingMode,
|
||||
mediaItem,
|
||||
ffmpegProfile,
|
||||
watermark,
|
||||
@@ -125,6 +129,8 @@ public class TroubleshootController(
|
||||
[FromQuery]
|
||||
int ffmpegProfile,
|
||||
[FromQuery]
|
||||
StreamingMode streamingMode,
|
||||
[FromQuery]
|
||||
List<int> watermark,
|
||||
[FromQuery]
|
||||
List<int> graphicsElement,
|
||||
@@ -135,7 +141,7 @@ public class TroubleshootController(
|
||||
Option<int> ss = seekSeconds > 0 ? seekSeconds : Option<int>.None;
|
||||
|
||||
Option<string> maybeArchivePath = await mediator.Send(
|
||||
new ArchiveTroubleshootingResults(mediaItem, ffmpegProfile, watermark, graphicsElement, ss),
|
||||
new ArchiveTroubleshootingResults(mediaItem, ffmpegProfile, streamingMode, watermark, graphicsElement, ss),
|
||||
cancellationToken);
|
||||
|
||||
foreach (string archivePath in maybeArchivePath)
|
||||
|
||||
@@ -10,6 +10,7 @@ using ErsatzTV.Application.Streaming;
|
||||
using ErsatzTV.Application.Subtitles;
|
||||
using ErsatzTV.Application.Subtitles.Queries;
|
||||
using ErsatzTV.Core;
|
||||
using ErsatzTV.Core.Domain;
|
||||
using ErsatzTV.Core.FFmpeg;
|
||||
using ErsatzTV.Core.Interfaces.FFmpeg;
|
||||
using ErsatzTV.Core.Interfaces.Streaming;
|
||||
@@ -281,7 +282,7 @@ public class InternalController : ControllerBase
|
||||
{
|
||||
var request = new GetPlayoutItemProcessByChannelNumber(
|
||||
channelNumber,
|
||||
mode,
|
||||
StreamingMode.TransportStream,
|
||||
DateTimeOffset.Now,
|
||||
false,
|
||||
true,
|
||||
|
||||
@@ -205,6 +205,9 @@ public class IptvController : ControllerBase
|
||||
case StreamingMode.HttpLiveStreamingSegmenter:
|
||||
mode = "segmenter";
|
||||
break;
|
||||
case StreamingMode.HttpLiveStreamingSegmenterFmp4:
|
||||
mode = "segmenter-fmp4";
|
||||
break;
|
||||
case StreamingMode.HttpLiveStreamingSegmenterV2:
|
||||
mode = "segmenter-v2";
|
||||
break;
|
||||
@@ -217,6 +220,7 @@ public class IptvController : ControllerBase
|
||||
switch (mode)
|
||||
{
|
||||
case "segmenter":
|
||||
case "segmenter-fmp4":
|
||||
case "segmenter-v2":
|
||||
_logger.LogDebug(
|
||||
"Maybe starting ffmpeg session for channel {Channel}, mode {Mode}",
|
||||
|
||||
Reference in New Issue
Block a user