Add initial implementations for encoder handling and conversion logic

Introduce encoder modules for various codecs and formats (e.g., h264_nvenc, libx264, libmp3lame). Add `Convertor` logic to retrieve supported formats via FFmpeg utilities and manage encoders for audio, video, and image processing.
This commit is contained in:
2025-06-08 17:26:17 +05:00
parent 6c0abac1c5
commit 9cdfa18fc8
42 changed files with 1242 additions and 7 deletions

View File

@@ -0,0 +1,21 @@
package qtrle
import (
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/internal/ffmpeg/encoder"
)
func NewEncoder() encoder.EncoderContract {
parameters := map[string]encoder.ParameterContract{}
getParams := func(parameters map[string]encoder.ParameterContract) []string {
return []string{"-c:v", "qtrle"}
}
return encoder.NewEncoder("qtrle", parameters, getParams)
}
func NewData() encoder.EncoderDataContract {
title := "qtrle"
formats := []string{"mov"}
fileType := encoder.FileType(encoder.Video)
return encoder.NewData(title, formats, fileType, NewEncoder)
}