Unfuck
This commit is contained in:
parent
d76388c28b
commit
174ac51736
@ -16,13 +16,12 @@ import no.iktdev.mediaprocessing.shared.common.event_task_contract.TaskRegistry
|
||||
import no.iktdev.mediaprocessing.shared.common.getAppVersion
|
||||
import no.iktdev.mediaprocessing.shared.database.DatabaseApplication
|
||||
import no.iktdev.mediaprocessing.shared.database.DatabasebasedMediaProcessingApp
|
||||
import org.springframework.boot.context.properties.ConfigurationPropertiesScan
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties
|
||||
import org.springframework.boot.runApplication
|
||||
import org.springframework.context.annotation.Configuration
|
||||
|
||||
@DatabasebasedMediaProcessingApp
|
||||
@ConfigurationPropertiesScan("no.iktdev.mediaprocessing.processer")
|
||||
|
||||
class ProcesserApplication: DatabaseApplication() {
|
||||
}
|
||||
|
||||
@ -78,6 +77,7 @@ class ProcesserConfig(
|
||||
require(directoryProperties.logs.isNotBlank()) {
|
||||
"directories.logs must be set"
|
||||
}
|
||||
log.info {"Logs will be stored in ${directoryProperties.logs}"}
|
||||
}
|
||||
|
||||
}
|
||||
@ -11,11 +11,10 @@ class FileUtil(
|
||||
private val dirs: DirectoryProperties,
|
||||
private val mediaPaths: MediaPaths
|
||||
) {
|
||||
init {
|
||||
assert(dirs.logs != null)
|
||||
}
|
||||
fun getTemporaryStoreFile(fileName: String): File =
|
||||
File(mediaPaths.cache).using(fileName)
|
||||
|
||||
fun getLogDirectory(): File = File(dirs.logs)
|
||||
fun getLogDirectory(): File {
|
||||
return File(dirs.logs)
|
||||
}
|
||||
}
|
||||
@ -3,7 +3,19 @@ package no.iktdev.mediaprocessing.processer.listeners
|
||||
import no.iktdev.eventi.tasks.TaskListener
|
||||
import no.iktdev.eventi.tasks.TaskType
|
||||
import no.iktdev.mediaprocessing.ffmpeg.FFmpeg
|
||||
import no.iktdev.mediaprocessing.ffmpeg.FFmpeg.Listener
|
||||
import java.io.File
|
||||
|
||||
abstract class FfmpegTaskListener(taskType: TaskType): TaskListener(taskType) {
|
||||
abstract fun getFfmpeg(): FFmpeg
|
||||
open fun getFfmpeg(listener: Listener? = null, execPath: String, logDirectory: File): FFmpeg {
|
||||
return buildFfmpeg(
|
||||
listener = listener,
|
||||
execPath = execPath,
|
||||
logDirectory = logDirectory,
|
||||
).also {
|
||||
it.onCreate()
|
||||
}
|
||||
}
|
||||
|
||||
abstract fun buildFfmpeg(listener: Listener? = null, execPath: String, logDirectory: File): FFmpeg
|
||||
}
|
||||
@ -9,8 +9,8 @@ import no.iktdev.eventi.tasks.TaskType
|
||||
import no.iktdev.exfl.using
|
||||
import no.iktdev.mediaprocessing.ffmpeg.FFmpeg
|
||||
import no.iktdev.mediaprocessing.ffmpeg.arguments.MpegArgument
|
||||
import no.iktdev.mediaprocessing.processer.config.FileUtil
|
||||
import no.iktdev.mediaprocessing.processer.config.ExecutablesConfig
|
||||
import no.iktdev.mediaprocessing.processer.config.FileUtil
|
||||
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.ProcesserExtractResultEvent
|
||||
import no.iktdev.mediaprocessing.shared.common.event_task_contract.tasks.ExtractSubtitleTask
|
||||
import org.springframework.stereotype.Service
|
||||
@ -60,7 +60,8 @@ class SubtitleTaskListener(
|
||||
.outputFile(cachedOutFile.absolutePath)
|
||||
.args(taskData.data.arguments)
|
||||
|
||||
val result = getFfmpeg()
|
||||
val logDirectory = fileUtil.getLogDirectory().using("subtitles")
|
||||
val result = getFfmpeg(execPath = executableConfig.ffmpeg, logDirectory = logDirectory)
|
||||
withHeartbeatRunner {
|
||||
reporter?.updateLastSeen(task.taskId)
|
||||
}
|
||||
@ -91,12 +92,10 @@ class SubtitleTaskListener(
|
||||
return ProcesserExtractResultEvent(null, status, error = message).producedFrom(task)
|
||||
}
|
||||
|
||||
override fun getFfmpeg(): FFmpeg {
|
||||
val logDirectory = fileUtil.getLogDirectory().using("subtitles")
|
||||
return SubtitleFFmpeg(null, executableConfig.ffmpeg, logDirectory)
|
||||
override fun buildFfmpeg(listener: FFmpeg.Listener?, execPath: String, logDirectory: File): FFmpeg {
|
||||
return SubtitleFFmpeg(listener, executableConfig.ffmpeg, logDirectory)
|
||||
}
|
||||
|
||||
|
||||
class SubtitleFFmpeg(override val listener: Listener? = null, private val executablePath: String, val logDirectory: File) :
|
||||
FFmpeg(executable = executablePath, logDir = logDirectory) {
|
||||
|
||||
|
||||
@ -11,9 +11,9 @@ import no.iktdev.mediaprocessing.ffmpeg.FFmpeg
|
||||
import no.iktdev.mediaprocessing.ffmpeg.arguments.MpegArgument
|
||||
import no.iktdev.mediaprocessing.ffmpeg.decoder.FfmpegDecodedProgress
|
||||
import no.iktdev.mediaprocessing.processer.CoordinatorClient
|
||||
import no.iktdev.mediaprocessing.processer.config.FileUtil
|
||||
import no.iktdev.mediaprocessing.processer.LocalProgressCache
|
||||
import no.iktdev.mediaprocessing.processer.config.ExecutablesConfig
|
||||
import no.iktdev.mediaprocessing.processer.config.FileUtil
|
||||
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.ProcesserEncodeResultEvent
|
||||
import no.iktdev.mediaprocessing.shared.common.event_task_contract.tasks.EncodeTask
|
||||
import org.springframework.stereotype.Service
|
||||
@ -63,7 +63,12 @@ class VideoTaskListener(
|
||||
.args(taskData.data.arguments)
|
||||
.withProgress(true)
|
||||
|
||||
val result = getFfmpeg()
|
||||
val logDirectory = fileUtil.getLogDirectory().using("encode")
|
||||
val result = getFfmpeg(
|
||||
listener = listener,
|
||||
logDirectory = logDirectory,
|
||||
execPath = executableConfig.ffmpeg
|
||||
)
|
||||
withHeartbeatRunner {
|
||||
reporter?.updateLastSeen(task.taskId)
|
||||
}
|
||||
@ -97,12 +102,7 @@ class VideoTaskListener(
|
||||
return ProcesserEncodeResultEvent(null, null, status, error = message).producedFrom(task)
|
||||
}
|
||||
|
||||
|
||||
override fun getFfmpeg(): FFmpeg {
|
||||
val logDirectory = fileUtil.getLogDirectory().using("encode")
|
||||
return VideoFFmpeg(execPath = executableConfig.ffmpeg,
|
||||
logDirectory = logDirectory,
|
||||
listener = object : FFmpeg.Listener {
|
||||
val listener = object : FFmpeg.Listener {
|
||||
var lastProgress: FfmpegDecodedProgress? = null
|
||||
override fun onStarted(inputFile: String) {
|
||||
}
|
||||
@ -141,9 +141,13 @@ class VideoTaskListener(
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
override fun buildFfmpeg(listener: FFmpeg.Listener?, execPath: String, logDirectory: File): FFmpeg {
|
||||
return VideoFFmpeg(execPath = executableConfig.ffmpeg,
|
||||
logDirectory = logDirectory,
|
||||
listener = listener)
|
||||
}
|
||||
|
||||
class VideoFFmpeg(override val listener: Listener? = null, private val execPath: String, val logDirectory: File) :
|
||||
FFmpeg(executable = execPath, logDir = logDirectory) {
|
||||
|
||||
@ -36,10 +36,6 @@ open class FFmpeg(val executable: String, val logDir: File) {
|
||||
|
||||
open fun onCreate() {}
|
||||
|
||||
init {
|
||||
onCreate()
|
||||
}
|
||||
|
||||
protected lateinit var inputFile: String
|
||||
open suspend fun run(argument: MpegArgument) {
|
||||
inputFile = if (argument.inputFile == null) throw RuntimeException("Input file is required") else argument.inputFile!!
|
||||
|
||||
Loading…
Reference in New Issue
Block a user