mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 04:44:37 +03:00
Restructure ffmpeg (#2392)
* Refactor transcode generation * Move phash generation into separate package * Refactor image thumbnail generation * Move JSONTime to separate package * Ffmpeg refactoring * Refactor live transcoding * Refactor scene marker preview generation * Refactor preview generation * Refactor screenshot generation * Refactor sprite generation * Change ffmpeg.IsStreamable to return error * Move frame rate calculation into ffmpeg * Refactor file locking * Refactor title set during scan * Add missing lockmanager instance * Return error instead of logging in MatchContainer
This commit is contained in:
@@ -16,6 +16,7 @@ import (
|
||||
"github.com/stashapp/stash/pkg/job"
|
||||
"github.com/stashapp/stash/pkg/logger"
|
||||
"github.com/stashapp/stash/pkg/models"
|
||||
"github.com/stashapp/stash/pkg/scene/generate"
|
||||
"github.com/stashapp/stash/pkg/utils"
|
||||
)
|
||||
|
||||
@@ -318,28 +319,24 @@ func (t *ScanTask) Start(ctx context.Context) {
|
||||
iwg.Add()
|
||||
|
||||
go t.progress.ExecuteTask(fmt.Sprintf("Generating preview for %s", path), func() {
|
||||
config := config.GetInstance()
|
||||
var previewSegmentDuration = config.GetPreviewSegmentDuration()
|
||||
var previewSegments = config.GetPreviewSegments()
|
||||
var previewExcludeStart = config.GetPreviewExcludeStart()
|
||||
var previewExcludeEnd = config.GetPreviewExcludeEnd()
|
||||
var previewPresent = config.GetPreviewPreset()
|
||||
options := getGeneratePreviewOptions(models.GeneratePreviewOptionsInput{})
|
||||
const overwrite = false
|
||||
|
||||
// NOTE: the reuse of this model like this is painful.
|
||||
previewOptions := models.GeneratePreviewOptionsInput{
|
||||
PreviewSegments: &previewSegments,
|
||||
PreviewSegmentDuration: &previewSegmentDuration,
|
||||
PreviewExcludeStart: &previewExcludeStart,
|
||||
PreviewExcludeEnd: &previewExcludeEnd,
|
||||
PreviewPreset: &previewPresent,
|
||||
g := &generate.Generator{
|
||||
Encoder: instance.FFMPEG,
|
||||
LockManager: instance.ReadLockManager,
|
||||
MarkerPaths: instance.Paths.SceneMarkers,
|
||||
ScenePaths: instance.Paths.Scene,
|
||||
Overwrite: overwrite,
|
||||
}
|
||||
|
||||
taskPreview := GeneratePreviewTask{
|
||||
Scene: *s,
|
||||
ImagePreview: t.GenerateImagePreview,
|
||||
Options: previewOptions,
|
||||
Overwrite: false,
|
||||
Options: options,
|
||||
Overwrite: overwrite,
|
||||
fileNamingAlgorithm: t.fileNamingAlgorithm,
|
||||
generator: g,
|
||||
}
|
||||
taskPreview.Start(ctx)
|
||||
iwg.Done()
|
||||
|
||||
Reference in New Issue
Block a user