Browse Source

fix mpegts script on windows

pull/2614/head
Jason Dove 9 months ago
parent
commit
6c97ad6a8f
No known key found for this signature in database
  1. 2
      ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs
  2. 4
      ErsatzTV.Infrastructure/FFmpeg/MpegTsScriptService.cs
  3. 1
      ErsatzTV/ErsatzTV.csproj
  4. 1
      ErsatzTV/Resources/Scripts/MpegTs/mpegts.yml
  5. 3
      ErsatzTV/Resources/Scripts/MpegTs/run.bat
  6. 6
      ErsatzTV/Services/RunOnce/ResourceExtractorService.cs

2
ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs

@ -847,7 +847,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService @@ -847,7 +847,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
// TODO: save reports?
string defaultScript = await _configElementRepository
.GetValue<string>(ConfigElementKey.FFmpegDefaultMpegTsScript, cancellationToken)
.IfNoneAsync("Default");
.IfNoneAsync("default");
List<MpegTsScript> allScripts = _mpegTsScriptService.GetScripts();
Option<MpegTsScript> maybeScript = Optional(allScripts.Find(s => s.Id == defaultScript));
foreach (var script in maybeScript)

4
ErsatzTV.Infrastructure/FFmpeg/MpegTsScriptService.cs

@ -60,9 +60,9 @@ public class MpegTsScriptService( @@ -60,9 +60,9 @@ public class MpegTsScriptService(
ffmpegPath);
foreach (string finalScript in maybeScript)
{
string fileName = tempFilePool.GetNextTempFile(TempFileCategory.MpegTsScript);
var fileName = $"{tempFilePool.GetNextTempFile(TempFileCategory.MpegTsScript)}.bat";
await File.WriteAllTextAsync(fileName, finalScript);
return Cli.Wrap("pwsh").WithArguments(["-File", fileName]);
return Cli.Wrap(fileName);
}
}
}

1
ErsatzTV/ErsatzTV.csproj

@ -83,6 +83,7 @@ @@ -83,6 +83,7 @@
<EmbeddedResource Include="Resources\Scripts\_episode.js" />
<EmbeddedResource Include="Resources\Scripts\_movie.js" />
<EmbeddedResource Include="Resources\Scripts\MpegTs\run.sh" />
<EmbeddedResource Include="Resources\Scripts\MpegTs\run.bat" />
<EmbeddedResource Include="Resources\Scripts\MpegTs\mpegts.yml" />
<EmbeddedResource Include="Resources\song_album_cover_512.png" />
<EmbeddedResource Include="Resources\song_background_1.png" />

1
ErsatzTV/Resources/Scripts/MpegTs/mpegts.yml

@ -1,2 +1,3 @@ @@ -1,2 +1,3 @@
name: "Default"
linux_script: "run.sh"
windows_script: "run.bat"

3
ErsatzTV/Resources/Scripts/MpegTs/run.bat

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
@echo off
"{{ FFmpegPath }}" -nostdin -threads 1 -hide_banner -loglevel error -nostats -fflags +genpts+discardcorrupt+igndts -readrate 1.0 -i "{{ HlsUrl }}" -map 0 -c copy -metadata service_provider="ErsatzTV" -metadata service_name="{{ ChannelName }}" -f mpegts pipe:1

6
ErsatzTV/Services/RunOnce/ResourceExtractorService.cs

@ -110,6 +110,12 @@ public class ResourceExtractorService : BackgroundService @@ -110,6 +110,12 @@ public class ResourceExtractorService : BackgroundService
FileSystemLayout.DefaultMpegTsScriptFolder,
stoppingToken);
await ExtractMpegTsScriptResource(
assembly,
"run.bat",
FileSystemLayout.DefaultMpegTsScriptFolder,
stoppingToken);
await ExtractMpegTsScriptResource(
assembly,
"mpegts.yml",

Loading…
Cancel
Save