Wails v2 + Vue3 + Go project with: - Encode/Remux/Subtitle burn with hardware acceleration - Real-time progress with ffmpeg stderr parsing (\r delimiter handling) - Task queue with cancel support - Per-task log viewer with color-coded output - Custom frameless window with resize support - Dark/light theme toggle - Hardware encoder detection (NVENC/QSV/AMF)
18 lines
506 B
Go
18 lines
506 B
Go
package task
|
|
|
|
import "ffmpeg-gui/internal/ffmpeg"
|
|
|
|
// BuildArgs builds ffmpeg command-line arguments for a task.
|
|
func BuildArgs(t *Task, hwAccel string) []string {
|
|
switch t.Type {
|
|
case TypeRemux:
|
|
return ffmpeg.BuildRemuxArgs(t.InputFile, t.OutputFile, t.Remux, hwAccel)
|
|
case TypeEncode:
|
|
return ffmpeg.BuildEncodeArgs(t.InputFile, t.OutputFile, t.Encode, hwAccel)
|
|
case TypeBurn:
|
|
return ffmpeg.BuildSubtitleArgs(t.InputFile, t.OutputFile, t.Subtitle, t.Encode, hwAccel)
|
|
default:
|
|
return nil
|
|
}
|
|
}
|