Add -keep flag to keep mkv files after a transcode

Change default class to blu
This commit is contained in:
lordwelch 2021-06-16 19:08:34 -07:00
parent 73d8aa9111
commit 27594be92b

View File

@ -18,7 +18,8 @@ func main() {
outname = flag.String("out", "", "file base name to rename result to") outname = flag.String("out", "", "file base name to rename result to")
hevc = flag.Bool("hevc", false, "transcodes to x265 instead of x264") hevc = flag.Bool("hevc", false, "transcodes to x265 instead of x264")
lib = flag.Bool("lib", false, "uses the x264/x265 software encoder instead of hardware encoder") lib = flag.Bool("lib", false, "uses the x264/x265 software encoder instead of hardware encoder")
class = flag.String("class", "blr", "class of source file (e.g. dvd, blr for bluray)") keep = flag.Bool("keep", false, "Keeps video file after transcodes")
class = flag.String("class", "blu", "class of source file (e.g. dvd, blu for bluray)")
runs = flag.Int("runs", 1, "number of times to do the same encode") runs = flag.Int("runs", 1, "number of times to do the same encode")
args = []string{} args = []string{}
format = "x264" format = "x264"
@ -103,15 +104,15 @@ func main() {
} }
o := fmt.Sprintf("%s.% 5s.% 8s.%s.%s", strings.TrimSuffix(filename, filepath.Ext(filename)), GOOS, hardwareName, format, *class) o := fmt.Sprintf("%s.% 5s.% 8s.%s.%s", strings.TrimSuffix(filename, filepath.Ext(filename)), GOOS, hardwareName, format, *class)
if *runs < 2 { if *runs < 2 {
transcode(args, basename, o, 0) transcode(args, basename, o, 0, *keep)
} else { } else {
for i := 1; i <= *runs; i++ { for i := 1; i <= *runs; i++ {
transcode(args, basename, o, i) transcode(args, basename, o, i, *keep)
} }
} }
} }
func transcode(args []string, basename, outname string, run int) { func transcode(args []string, basename, outname string, run int, keep bool) {
fmt.Println("other-transcode", args) fmt.Println("other-transcode", args)
cmd := exec.Command("other-transcode", args...) cmd := exec.Command("other-transcode", args...)
cmd.Stdout = os.Stdout cmd.Stdout = os.Stdout
@ -132,10 +133,14 @@ func transcode(args []string, basename, outname string, run int) {
result = fmt.Sprintf(outname+".%012d%s", stat.Size(), filepath.Ext(basename)) result = fmt.Sprintf(outname+".%012d%s", stat.Size(), filepath.Ext(basename))
} }
fmt.Println(result) fmt.Println(result)
if keep {
err = os.Rename(basename, result) err = os.Rename(basename, result)
if err != nil { if err != nil {
panic(err) panic(err)
} }
} else {
os.Remove(basename)
}
err = os.Rename(basename+".log", result+".log") err = os.Rename(basename+".log", result+".log")
if err != nil { if err != nil {
panic(err) panic(err)