Add WebM merge option

This commit is contained in:
Stu Leak 2025-12-24 00:53:07 -05:00
parent 30bc747f0c
commit 6e13a53569

14
main.go
View File

@ -2947,6 +2947,8 @@ func (s *appState) showMergeView() {
switch { switch {
case strings.HasPrefix(format, "dvd"): case strings.HasPrefix(format, "dvd"):
return ".mpg" return ".mpg"
case strings.HasPrefix(format, "webm"):
return ".webm"
case strings.HasPrefix(format, "mkv"), strings.HasPrefix(format, "bd"): case strings.HasPrefix(format, "mkv"), strings.HasPrefix(format, "bd"):
return ".mkv" return ".mkv"
case strings.HasPrefix(format, "mp4"): case strings.HasPrefix(format, "mp4"):
@ -2961,6 +2963,7 @@ func (s *appState) showMergeView() {
"Lossless MKV (Best Quality)": "mkv-lossless", "Lossless MKV (Best Quality)": "mkv-lossless",
"High Quality MP4 (H.264)": "mp4-h264", "High Quality MP4 (H.264)": "mp4-h264",
"High Quality MP4 (H.265)": "mp4-h265", "High Quality MP4 (H.265)": "mp4-h265",
"WebM (VP9)": "webm-vp9",
"DVD Format": "dvd", "DVD Format": "dvd",
"Blu-ray Format": "bd-h264", "Blu-ray Format": "bd-h264",
} }
@ -2970,6 +2973,7 @@ func (s *appState) showMergeView() {
"Lossless MKV (Best Quality)", "Lossless MKV (Best Quality)",
"High Quality MP4 (H.264)", "High Quality MP4 (H.264)",
"High Quality MP4 (H.265)", "High Quality MP4 (H.265)",
"WebM (VP9)",
"DVD Format", "DVD Format",
"Blu-ray Format", "Blu-ray Format",
} }
@ -3188,6 +3192,8 @@ func (s *appState) addMergeToQueue(startNow bool) error {
switch { switch {
case strings.HasPrefix(s.mergeFormat, "dvd"): case strings.HasPrefix(s.mergeFormat, "dvd"):
correctExt = ".mpg" correctExt = ".mpg"
case strings.HasPrefix(s.mergeFormat, "webm"):
correctExt = ".webm"
case strings.HasPrefix(s.mergeFormat, "mkv"), strings.HasPrefix(s.mergeFormat, "bd"): case strings.HasPrefix(s.mergeFormat, "mkv"), strings.HasPrefix(s.mergeFormat, "bd"):
correctExt = ".mkv" correctExt = ".mkv"
case strings.HasPrefix(s.mergeFormat, "mp4"): case strings.HasPrefix(s.mergeFormat, "mp4"):
@ -3488,6 +3494,14 @@ func (s *appState) executeMergeJob(ctx context.Context, job *queue.Job, progress
"-crf", "18", "-crf", "18",
"-c:a", "flac", "-c:a", "flac",
) )
case "webm-vp9":
args = append(args,
"-c:v", "libvpx-vp9",
"-b:v", "0",
"-crf", "32",
"-c:a", "libopus",
"-b:a", "128k",
)
case "mp4-h264": case "mp4-h264":
args = append(args, args = append(args,
"-c:v", "libx264", "-c:v", "libx264",